Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?
Мая 28, 2022, 02:00:17 pm
Начало Помощь Поиск Войти Регистрация
Новости:

Transaq  |  СБО "Transaq"  |  Подсистема ATF  |  Topic: Вопросы новичков-непрофессионалов « предыдущая тема следующая тема »
Страниц: 1 ... 16 17 [18] 19 20 Печать
Автор Тема: Вопросы новичков-непрофессионалов  (Прочитано 162237 раз)
Ruslik
Newbie
*
Сообщений: 2


Просмотр профиля Email
« Ответ #255 : Апреля 29, 2013, 09:28:40 am »

#samewindow

extern n1 = 5;
extern n2 = 10;

function init()
{
    setInitCandles(n2);  - это пропустили.

   setBounds(0, n2*2, 0);
}

function calc()
{
   line[0][n2] = (high[(-n1), 0] + low[(-n1), 0] + high[(-n2), 0] + low[(-n2), 0]) / 4;
}



Спасибо за ответ, но все равно выходит ошибка: "line 13: Выход за граници при обращении к индикатору".
Записан
Demelkar
Newbie
*
Сообщений: 39


Просмотр профиля Email
« Ответ #256 : Июля 12, 2013, 12:23:16 pm »

#line 1 nodraw
#line 0 nodraw
#line 2 nodraw
#line 3 nodraw
#line 4 nodraw
#line 5 nodraw
#line 6 solid
#line 7 nodraw
#line 8 nodraw
#line 9 nodraw


function init()
{
   setInitCandles(1);
}

function calc(){
             
line[6] = MovAvg(ind_ema, 2, pt_close);
 
if (close >= line[6]) 
  {
     signal::alert( as_string(getFORTSPosition(getClient(),getSecName()))  );
   }     


}


Очень простой вопрос. как сделать что тут не так. и как сделать чтоб выводилась позиция в диалоговое окно или куда нибудь ещё.

Записан
Heller
Разработчики
Hero Member
*****
Сообщений: 1277


Просмотр профиля Email
« Ответ #257 : Июля 15, 2013, 05:27:17 pm »

А в чем именно проблема?

Из когда, который вы привели, видно, что вы не отправляете запрос на получение позиций, поэтому скорее всего у вас будет выводиться что-то вроде нуля в диалоге. С статье позиции клиента подробно описано как получать позиции FORTS.
Записан
Demelkar
Newbie
*
Сообщений: 39


Просмотр профиля Email
« Ответ #258 : Июля 17, 2013, 02:23:37 am »

Я хочу как то визуально увидеть позицию. просто писал роботов на споте. теперь вот хочу посмотреть как на фортсе. но такая вот нубская проблема.


#samewindow
#line 0 solid red

extern period = 9;
extern amount = 1;

function init()
{
   setInitCandles(1);
}


function calc()
{
   line[0] =  getFORTSMoney(getClient());
   
}

Например пытался вот так или с помощью getFORTSPosition(getClient(),getSecInfo())

так пишет что нечисловой параметр. как в предыдущем примере не вывод в окно информационное количество...

можно какой нить простенький пример для нуба как вывести позиции чтобы их увидеть.....

И вообще для нубов хорошо бы где нить написать где брать sec бумаги, Clientid и т.д....

 
Записан
White Noise
Full Member
***
Сообщений: 164


White Noise

ICQ Messenger - 411196569
Просмотр профиля Email
« Ответ #259 : Июля 17, 2013, 05:20:25 am »

 Сначала реквестим requestFORTSPositions(client)  позиции. потом обязательно сделайте функцию он ивент (onEnvEvent). стринг там будет (client_holdings), а в ней уже поставьте getFORTSPosition - вот и все.
Записан
White Noise
Full Member
***
Сообщений: 164


White Noise

ICQ Messenger - 411196569
Просмотр профиля Email
« Ответ #260 : Июля 17, 2013, 05:22:42 am »

А куда проще :

var pos = getBought - getSold;  (куплено минус продано)

без взяких запросов, ивентов и задержек.

Записан
Demelkar
Newbie
*
Сообщений: 39


Просмотр профиля Email
« Ответ #261 : Июля 22, 2013, 10:44:51 am »

function init()
{
   setInitCandles(1);
   
}

function calc(){

var pos= getBought() - getSold() ;

signal::alert(pos);

}

Мне почему то выдаёт 0 на фортсе. хотя там 1 в купленных и 41 в проданных т.е. должно быть -40. С чем это может быть связано ?

Записан
White Noise
Full Member
***
Сообщений: 164


White Noise

ICQ Messenger - 411196569
Просмотр профиля Email
« Ответ #262 : Июля 22, 2013, 01:52:00 pm »

А вы долго ждали результата ?
Записан
Demelkar
Newbie
*
Сообщений: 39


Просмотр профиля Email
« Ответ #263 : Июля 22, 2013, 02:22:45 pm »

в смысле долго ? он выдаётся по умолчанию. это всё в терминале есть, ничего с сервера заказывать не надо вроде.

я скрипт привёл...

почему то по нему нули выдаются и на getBought и на getsold

уже как только не пробовал без толку пока
Записан
Demelkar
Newbie
*
Сообщений: 39


Просмотр профиля Email
« Ответ #264 : Июля 23, 2013, 04:26:11 pm »

Что то запарился я ужо форум рыть... Так кто нить в курсе почему:

function calc(){
signal::alert(getBought());
}

выдаёт нули при не нулевом количестве купленных контрактов в эту сессию....
Записан
White Noise
Full Member
***
Сообщений: 164


White Noise

ICQ Messenger - 411196569
Просмотр профиля Email
« Ответ #265 : Июля 24, 2013, 05:21:58 am »

функция не работает когда после круглых скобок без отступа идет сразу фигурная. - Поставьте пробел после () , а потом {
Записан
Heller
Разработчики
Hero Member
*****
Сообщений: 1277


Просмотр профиля Email
« Ответ #266 : Июля 24, 2013, 04:05:20 pm »

С ФОРТСом есть оговорка, что он считает сделки не только за сегодня, но и за предыдущую вечернюю сессию, в этом не может быть причина? А что именно не работает с запросом позиций? Можете привести полный код?

White Noise, то что вы описываете как-то очень странно выглядит и я этого не наблюдаю - переносы и пробельные символы игнорируются интерпретатором ATF.
Записан
Demelkar
Newbie
*
Сообщений: 39


Просмотр профиля Email
« Ответ #267 : Июля 24, 2013, 05:59:08 pm »

А этои есть полный код :) вот он:


function init()
{
   setInitCandles(1);
    
}

function calc() {

var pos= getBought()- getSold()  ;

signal::alert(getBought());

}

Я когда понял, что возвращает нули упростил чтоб проверить исключительно getBought и getsold

выдаёт нули в таком варианте. в чём причина не могу понять. на интре там фортса нет просто на акциях выдаёт как положено. У меня транзак 5.05.305.07 rev 51 atf 1.18 от финама.

С вечерней сессией и т.д. это связано быть не может т.к. перепробовал всё. специально покупал и продавал контракты, выдавало каждый раз всё равно ноль. Может для фортса как то по другому вызывать её нужно ?

Я робота себе уже полностью написал всё упирается в получение позиций сейчас. поскольку хочу интрадей сделать, getBought-getsold меня бы вполне устроило для него.

« Последнее редактирование: Июля 24, 2013, 06:01:33 pm от Demelkar » Записан
nxz
Full Member
***
Сообщений: 241


Просмотр профиля Email
« Ответ #268 : Июля 24, 2013, 08:15:18 pm »

Использую вот такую конструкцию в коде на FORTS, проблем нет
Code: [Select]
var K = fmod(abs((getBought() - getSold()))/lot,2);
var N = int(K);
var M; if (fmod((getBought() - getSold())/lot,2) == 1) {M = 1;} else {M = 0;}
lotz = lot*((K+1)+M*(1-K)+ 2*N*(M-1));
подробнее http://www.transaq.ru/forum/index.php?topic=351.msg2952#msg2952
Записан
Олег
Hero Member
*****
Сообщений: 849



Просмотр профиля Email
« Ответ #269 : Июля 24, 2013, 10:45:08 pm »

Использую вот такую конструкцию в коде на FORTS, проблем нет
Code: [Select]
var K = fmod(abs((getBought() - getSold()))/lot,2);
var N = int(K);
var M; if (fmod((getBought() - getSold())/lot,2) == 1) {M = 1;} else {M = 0;}
lotz = lot*((K+1)+M*(1-K)+ 2*N*(M-1));
подробнее http://www.transaq.ru/forum/index.php?topic=351.msg2952#msg2952

Рекламируете свой велосипед? :)
Или это уже Мерседес? :)
Все-таки за два года там много нового добавилось, наверно?

Кстати, как успехи у того робота с тех пор?
Много молока корова дала? :)
Записан

Коллеги!
МТС фокусничает!
Будьте бдительны сами и предупредите всех своих хороших знакомых!
Я тоже на днях вляпался.
Схема "фокуса" описана вот здесь:
http://www.forum.sib.mts.ru/viewtopic.php?f=344&t=11381
Страниц: 1 ... 16 17 [18] 19 20 Печать 
Transaq  |  СБО "Transaq"  |  Подсистема ATF  |  Topic: Вопросы новичков-непрофессионалов « предыдущая тема следующая тема »
Перейти в:  


Войти

Powered by MySQL Powered by PHP Powered by SMF 2.0.10 | SMF © 2006-2008, Simple Machines LLC Valid XHTML 1.0! Valid CSS!