ФОРТС. Вопросы по исполнению - страница 87

 
prostotrader:

Вот и понятно стало!

При асинхронной пишется только одна строка

2017.02.17 16:20:47.300 Trades  '1007932': sell limit 1.00 RTS-3.17 at 121520 placed for execution in 8.287 ms

соответствующая этому

2017.02.17 16:20:47.300 Test_delay (RTS-3.17,M1)        8.305

А другой строки в логе журнала НЕТ! Чтобы она соответствовала этой

2017.02.17 16:20:47.307 Test_delay (RTS-3.17,M1)        15.644

На лицо не полный лог при асинхронной обработке.

 

За то при синхронной в логе две строки

2017.02.17 16:20:47.316 Trades  '1007932': sell limit 1.00 RTS-3.17 at 121520 placed for execution
2017.02.17 16:20:47.323 Trades  '1007932': order #54042531 sell limit 1.00 / 1.00 RTS-3.17 at 121520 done in 15.978 ms
И они соответствуют как раз записи
2017.02.17 16:20:47.323 Test_delay (RTS-3.17,M1)        16.033

 

Поэтому по факту (из лога эксперта)  синхронный и асинхронный режимы отрабатали за одинаковое время (так и должно быть по логике), а вот по логу самого терминала, якобы асинхронный в два раза оказался быстрее. Это вранье/ошибка!

 

Можно сделать вывод.

При асинхронном режиме лог не полный и вводит в заблуждение.

 
fxsaber:


Можно сделать вывод.

При асинхронном режиме лог не полный и вводит в заблуждение.

Да, но это, к сожалению, не решает проблемы с задержками....
 
prostotrader:
Да, но это, к сожалению, не решает проблемы с задержками....
  1. Ориентироваться на лог при асинхронном режиме пока нельзя - надо самому замерять. И хорошо, если Вы напишите об этом в СД.
  2. Вопросы тормозов решаются уже несколько дней в СД. Скрипт для быстрого воспроизведения выложен в паблик. Очевидно, что разработчики будут добиваться ситуации, когда скрипт ни разу не покажет тормоза сначала на их тестовых стендах (это быстро), затем на пользовательских терминалах (это медленно). Так что все вполне оптимистично.
 
fxsaber:
  1. Ориентироваться на лог при асинхронном режиме пока нельзя - надо самому замерять. И хорошо, если Вы напишите об этом в СД.
  2. Вопросы тормозов решаются уже несколько дней в СД. Скрипт для быстрого воспроизведения выложен в паблик. Очевидно, что разработчики будут добиваться ситуации, когда скрипт ни разу не покажет тормоза сначала на их тестовых стендах (это быстро), затем на пользовательских терминалах (это медленно). Так что все вполне оптимистично.

В СД давно написал 

Я тоже оптимист :)

 
prostotrader:

В СД давно написал 

На мои заявы очень оперативно реагируют. Возможно, язык, на котором изъясняюсь, разработчикам более понятен, чем Ваш.

Мне иногда трудно въехать, что имеете в виду. 

 
Коллеги, подскажите вот по такому моменту. Всегда на ФОРТСе использовал политику ORDER_FILLING_RETURN, тут была задача протестировать ORDER_FILLING_FOK.

Но иногда FOK не срабатывает, пишет ошибку 4756.
Использую СБ, в частности для покупки:
bool  CTrade::BuyLimit(
                         1.0,                       // объем позиции
                         текущий аск,               // цена исполнения
                         NULL,                      // символ
                         0.0,                       // цена Stop Loss
                         0.0,                       // цена Take Profit
                         ORDER_TIME_DAY,            // тип истечения
                         0,                         // время истечения
                         ""                         // комментарий
   )
Спасибо за совет.
 
Dennis Kirichenko:
Коллеги, подскажите вот по такому моменту. Всегда на ФОРТСе использовал политику ORDER_FILLING_RETURN, тут была задача протестировать ORDER_FILLING_FOK.

Но иногда FOK не срабатывает, пишет ошибку 4756.
Использую СБ, в частности для покупки:
bool  CTrade::BuyLimit(
                         1.0,                       // объем позиции
                         текущий аск,               // цена исполнения
                         NULL,                      // символ
                         0.0,                       // цена Stop Loss
                         0.0,                       // цена Take Profit
                         ORDER_TIME_DAY,            // тип истечения
                         0,                         // время истечения
                         ""                         // комментарий
   )
Спасибо за совет.

4756

Не удалось отправить торговый запрос


Не имеет отношения к заливке ордера.

Протрассируйте СБ, может увидите где возникает ошибка. 

 
prostotrader:

4756

Не удалось отправить торговый запрос


Не имеет отношения к заливке ордера.

Протрассируйте СБ, может увидите где возникает ошибка. 

Вот выдержка из истории ордеров и сделок:
2017.02.22 10:00:00 52884143 MIX-3.17 buy limit 1.00 / 0.00 213 700 213 525 213 900 2017.02.22 10:00:02 rejected Неполное сведение FOK заявки.


 
Dennis Kirichenko:
Вот выдержка из истории ордеров и сделок:
2017.02.22 10:00:00 52884143 MIX-3.17 buy limit 1.00 / 0.00 213 700 213 525 213 900 2017.02.22 10:00:02 rejected Неполное сведение FOK заявки.


Проверьте, поддерживает ли брокер заливку FOK

//---Filing mode
  int filling_mode = int(SymbolInfoInteger(a_symbol, SYMBOL_FILLING_MODE));
  
  if((SYMBOL_FILLING_IOC & filling_mode) != SYMBOL_FILLING_IOC)
  {
    MessageBox("Символ " + a_symbol + " не поддерживает filling IOC режим исполнения ордеров!", "Ошибка", MB_OK | MB_ICONHAND);
    return(false);
  }
  
  if((SYMBOL_FILLING_FOK & filling_mode) != SYMBOL_FILLING_FOK)
  {
    MessageBox("Символ " + a_symbol + " не поддерживает filling FOK режим исполнения ордеров!", "Ошибка", MB_OK | MB_ICONHAND);
    return(false);
  }

Добавлено

И посмлтрите в СБ функцию bool CTrade::FillingCheck(const string symbol)
 

 
Dennis Kirichenko:
Вот выдержка из истории ордеров и сделок:
2017.02.22 10:00:00 52884143 MIX-3.17 buy limit 1.00 / 0.00 213 700 213 525 213 900 2017.02.22 10:00:02 rejected Неполное сведение FOK заявки.


Разве лимитник может быть FOK?

На форуме выкладывали функцию автоматического выбора filling-типа. 

Причина обращения: