Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?
Августа 10, 2022, 08:45:56 pm
Начало Помощь Поиск Войти Регистрация
Новости:

Просмотр сообщений

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - Олег

Pages: 1 [2] 3 4 ... 57
16
Ну вот сегодня снова печалька.
До 14:45 все работало как надо, а потом ФОРТС остановился для клиринга, и вот до сих пор горит желтый кружочек. Сейчас уже 17:53. Что-то клиринг у них подзатянулся. Пробовал отключится и снова подключиться, не помогло. Впрочем, я и не ожидал, что это поможет, так на всякий случай попробовал.

17
Недавно начал изучать ATF, пробовал написать простые ТС. Начал тренироваться на демо-счёте. Написал скрипт, которые торгует по скользящим средним и параболику. Все работало отлично. Решил перейти на реальный счет и тут начались проблемы. На реальном счёте почему-то не работает торговля в шорт(транзак на это вообще никак не реагирует, не выдаёт никаких ошибок или предупреждений), а при покупке акций если указано купить 1 лот, то он покупает по 1 лоту до тех пор, пока не наберёт на всю сумму моего счета. На демо счете и на реальном счете транзак разных версий. Может ли быть проблема в этом?
Вот сам скрипт:

#samewindow
#line 0 dot maroon
#line 1 solid red
#line 2 solid green
 
extern step = 0.02;
extern init_step = 0.02;
extern max_step = 0.20;
 
var ac;
var trend;
var ep;
var r=0; // переменная-флаг

 
function init()
{
   setInitCandles(1);
   if (low < low[1]) {
      trend = 1;
      ep = high[0, 1];
      line[0] = low;
   }
   else {
      trend = -1;
      ep = low[0, 1];
      line[0] = high;
   }
   ac = init_step;
}
 
function calc()
{  //тут описывается параболик
   if (trend == 1) {
      if (high > ep) {
         ep = high;
         ac += step;
         if (ac > max_step) {ac = max_step;}
      }
      line[0] = line[0][-1] + ac * (ep - line[0][-1]);
      if (low < line[0]) {
         trend = -1;
         line[0] = ep;
         ep = low;
         ac = init_step;
      }
   }
   else
               {
      if (low < ep)
                               {
         ep = low;
         ac += step;
         if (ac > max_step) {ac = max_step;}
      }
      line[0] = line[0][-1] + ac * (ep - line[0][-1]);
      if (high > line[0])
                               {
         trend = 1;
         line[0] = ep;
         ep = high;
         ac = init_step;
      }
   }
// задаю свои скользящие средние
line[1] = MovAvg(ind_ema, 13, pt_close);
line[2] = MovAvg(ind_sma, 60, pt_close);

if(r==0) //я в кэше(нет открытых позиций)
{
 if(line[1] > line[2] and line[1][-1]>line[2][-1] and trend==1) //красная скользящая выше зеленой скользящей и параболик под ценой
 {
 r=1; //изменяю значение флага
 trade_action::buy(1, ::lots); //лонг на 1 лот
 }
 if(line[1] < line[2] and line[1][-1]<line[2][-1] and trend==-1) //красная скользящая ниже зеленой скользящей и параболик над ценой
 {
 r=2;  //изменяю значение флага
 trade_action::sell(1, ::lots); // шорт на 1 лот
 }

}

if(r==1)//открыт лонг
{
 if(trend==-1) // параболик стал выше цены
 {
 r=0; //сбрасываю значение флага на 0
 trade_action::sell(1, ::lots); //закрываю лонг
 }
}

if(r==2)//открыт шорт
{
 if(trend==1) // параболик стал ниже цены
 {
 r=0; //сбрасываю значение флага на 0
 trade_action::buy(1, ::lots); //закрываю шорт
 }
}

}

http://www.transaq.ru/forum/index.php?topic=1686.0

18
Сообщение "объявлена забастовка" у нас в системе не предусмотрено (на Бирже, скорее всего, тоже)

В логе каких-то особых проблем не видно:
сервер, как обычно, запустился в 00:15
тестовая биржа Фортс заработала в 09:37:52
Первый пользователь подключился в 09:56:01

На самом деле,  не могу сказать, что сервер совсем не работал. Кружочек ФОРТСа был зелененький, но котировки стояли на месте до 11:35. Ну а начиная с этого времени, прцесс пошел должным образом. Это по РТС и по Сбербанку. Остальных ликвидов мне там обнаружить не удалось, поэтому использую только вышеназванные.

19
Ну вот... Последнее время неплохо работали почти каждый день, а сегодня снова забастовку объявили :(

А Интра при всем при том работает почти 24 часа в сути. Ну вот и ответ.

20
Подсистема ATF / Странности cancelAllOrders()
« on: Октября 01, 2013, 07:37:40 pm »
Если погонять вот такой скрипт:

Code: [Select]
#samewindow
#line 0 nodraw

function onNewCandle()
{
   trade_action::cancelAllOrders();
}

function calc()
{

  line[0] = 0;
}


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

Почему же тогда в определенный момент работы "серьезных" сктиптов время от времени (хотя и достаточно редко) ATF выдает вот такое сообщение?



Какзалось бы ситуация одинаковая - пытаемся снять невыставленные заявки. Почему же тогда такая разная реакция?


21
Подсистема ATF / Re: Плечо ?
« on: Сентября 30, 2013, 06:16:37 pm »
для ФОРТС usecredit значения не имеет

Спасибо!
Вообще-то я так и думал, но на всякий случай уточнил.

22
Подсистема ATF / Re: Написание скрипта
« on: Сентября 30, 2013, 03:34:36 pm »
...и про тот пример (Не в обиду Олегу) про мувинги...

Да мне и не обидно совсем :)
Я же просто из документации тупо скопировал и сюда кинул.
Авторское право на тот грааль, на самом деле, принадлежит Хеллеру.
Так что проценты с первого миллиона шлите ему :)

23
Торговый терминал Transaq / Re: открытый интерес
« on: Сентября 30, 2013, 01:54:21 pm »
Эти данные есть только для инструментов срочного рынка.
Вы какой график открываете ?

Кстати, это классические "грабли" :)

24
Подсистема ATF / Re: Плечо ?
« on: Сентября 30, 2013, 01:49:21 pm »
Если вы используете команду trade_action::buy/sell, то плечо будет использоваться в том случае, если у вас по умолчанию в настройках указано использовать кредит.

Если вы используете структуры и функцию trade_action::transact, то будет использоваться значение поля "usecredit".

На ФОРТС это тоже распространяется или там по этому поводу можно не париться?

25
Подсистема ATF / Re: Написание скрипта
« on: Сентября 30, 2013, 01:47:22 pm »
Скорее всего Вы правы... но!, вместо того что бы меня просто убеждать в "безприбыльности" моей идеи, не проще было бы  ИЗМЕНИТЬ ПАРУ СТРОЧЕК в предложенном Вами скрипте, что бы я сам убедился в своей наивности... и за свой счет. А как мы знаем, свой кошелек-лучший учитель...

Эдак мы с вами кашу из топора сварим :)

А вдруг получится грааль?! Мне будет обидно :)

26
Торговый терминал Transaq / Re: Сборка 334.07
« on: Сентября 28, 2013, 11:48:38 am »
http://www.transaq.ru/cl_files/v508/508Trader.334.07.zip

Исправлено сохранение линий трендов.
Изменено хранение оффлайн графиков (старый формат поддержать не удалось).
Разные мелочи.


Спасибо. Обновил боевой и тестовый.

27
Подсистема ATF / Re: Вопросы по FORTS
« on: Сентября 28, 2013, 01:25:29 am »
Насчет условия validbefore разобрались, это я сам же не разобрался в нашем же интерфейсе.

Ограние по времени действия бывает двух видов:

1) До какого дня заявка будет действительна - в диалоге это флажок "Снять после". Он может изменяться только в днях и работает только для FORTS. В ATF это поле вообще не доступно как оказалось.

2) Отдельно есть время действия условных заявок. Это как раз и есть validbefore - это поле актуально только в том случае, когда заявка выставлена с каким-либо условием.

Других вариантов нет.

А в документации и по сей день не исправлено:



28
Подсистема ATF / Re: Вопросы по statline
« on: Сентября 27, 2013, 06:02:44 pm »
Здравствуйте !

1. Можно ли сразу вызывать с нужными параметрами

   var StatLine = new_object( "statline" );
   var OptPrice = StatLine.getparam( shortname, market, param_last );

или надо сначала подписываться, получать параметр и затем отписываться ?

   var StatLine = new_object( "statline" );
   StatLine.subscribe( OptionSecId );   // Подписаться на информацию по опциону.
   var OptPrice = StatLine.getparam( OptionSecId, param_last ); // Текущая цена.
   var TheoreticalPrice = StatLine.getparam( OptionSecId, param_theoreticalprice ); // Теоретическая цена.
   StatLine.unsubscribe( OptionSecId ); // Отписаться от информации по опциону.

2. Параметр shortname - это какое поле в структуре getSecInfo - isin или secname ?
Например для фьючерса на индекс РТС там так
isin = RIZ3 ;
secname = RTS-12.13 ;

Какое значение надо брать для передачи в параметр shortname функции StatLine.getparam( shortname, market, param_last ) ?
3. Параметр market - это marketId ?


Heller, вот видите, как получается?
Сейчас пятничный вечер. Наверняка, коллега рассчитывал заняться разработкой скрипта на выходных. Но он столкнулся с проблемой. И причем столкнулся с проблемой исключительно по той причине, что в документации эта тема, практически, не освещена.
Будь это в документации, он бы просто прочитал это там и продолжил работу над своим проектом.
Но в документации этого нет. Он задает свой вопрос здесь на форуме. А Вы появитесь здесь только в понедельник утром, когда он уже будет на работе и будет испытывать дефицит свободного времени. Следовательно, на выходных ему придется либо вообще не разрабатывать свой скрипт, либо искать ответы на сформулированные вопросы методом тыка.
Это я к тому, что никакой форум никогда не заменит полноценной документации. Потому что здесь что-нибудь найти очень и очень сложно. А друг другу мы не отвечаем по той причине, что зачастую и сами не уверены в прочности своих знаний.

Вот Вы бы хотя бы когда отвечаете здесь на вопросы, параллельно размещали те же самые ответы в документации, ну хотя бы в какой-нибудь отдельной статье "FAQ", сгруппировав все ответы по алфавиту или по смыслу, как это сделано (и кстати, очень хорошо сделано!) с функциями ATF.
А иначе получается, что Вы снова и снова отвечаете на те же самые вопросы по многу раз, но не все же читают форум "от корки до корки", поэтому те же самые вопросы возникают и будут возникать снова и снова.

29
Более подробно вроде нигде не освещена. А что именно вызывает вопросы?
Вызывает вопросы, практически, полное отсутствие в документации материалов на эту тему.
А так же на тему, связанную с событием onKeyDown(). Но там хоть пример есть, хотя его не так-то легко найти, поскольку он свален в общую "кучу" вместе со множеством других примерных скриптов.

Все разъяснения на форуме - это не в счет. Проходит время, ветки "тонут", и что-либо найти уже почти невозможно.


30
Подсистема ATF / Re: Написание скрипта
« on: Сентября 25, 2013, 09:30:04 pm »
...просто подумал что если "руками" получается ловить "пробои" мувингов, правда времени за компом провожу не так много... вот и натолкнулся на мысль...

Да просто это человеческая психология так устроена. Запоминиется одна крупная выигрышная сделка. А то что до этого и после этого было несколько проигрышных быстро забывается. Иллюзия, одним словом. Если подвести общий итог, да еще и комиссионные с проскальзываниями учесть, картина получится весьма мрачной.

Pages: 1 [2] 3 4 ... 57


Войти

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