Ошибки, баги, вопросы - страница 2077

[Удален]  
Aleksey Vyazmikin:

Или я не прав, и есть специальная задержка, предусмотренная биржей, между каждой сделкой?

Дак проверьте, кто мешает? Ни про какие спец. задержки не слышал.

Я хочу проверить позицию на соответствие определенным критериям - SL/TP и объем. При этом часть позиции может быть сформирована другим ордером. Хорошо, я запомнил номер ордера в истории, что дальше делать?

Дак и рассматривайте позицию. Нашли позицию - запросите ее параметры. Можете запрашивать параметры на каждом тике. Или после того, как произошло событие OnTrade(). 

Если же Вам нужно, чтобы позиция обрабатывалась только после того, как ордер полностью зальется, наверно Вам нужна функция OnTradeTransaction().

 
Alexey Kozitsyn:

Дак проверьте, кто мешает? Ни про какие спец. задержки не слышал.


Дык, может я что-то не так делаю, поэтому и результат такой... поэтому если есть точный ответ, то точно ясно в каком направлении двигаться. Но, я приступлю к проверке, просто в тестерах и прочих симуляторах все работало хорошо, а вчера на реале откусили от меня из-за этого бага-особенности.

Alexey Kozitsyn:

Дак и рассматривайте позицию. Нашли позицию - запросите ее параметры. Можете запрашивать параметры на каждом тике. Или после того, как произошло событие OnTrade(). 

Так в OnTrade() я и проверяю - и получается непонятная ситуация... ну, буду значит логи детальней писать сейчас, что б разобраться, что происходит. Просто не знаю, как узнать, что ордер рыночный ещё отоваривается.


Alexey Kozitsyn:

Если же Вам нужно, чтобы позиция обрабатывалась только после того, как ордер полностью зальется, наверно Вам нужна функция OnTradeTransaction().

OnTradeTransaction() , как я понял, работает только на том же терминале, где и ведется торговля, а в моем случае это разные компьютеры.
[Удален]  
Aleksey Vyazmikin:

В тестере не проверишь все особенности реала ФОРТСа. Заливка ордера - одно из них. 

 
Alexey Kozitsyn:

В тестере не проверишь все особенности реала ФОРТСа. Заливка ордера - одно из них. 


Ага, и стакан там отсутствует, настроил тут стратегию по фьючерсу на евру, а проскальзывания дикие - по 10 пунктов - стакан пустой, там видимо арбитражники одни...

 

Итак, смотрю я закрытие 30 лотов по SL и вижу, что зашли OnTrade() когда было 30, потом 25, 25,25, 16,5,1,0 аж 39 раз!

При этом по позиции видно такое закрытие сделками:5,2,2,1,3,1,4,1,2,1,1,2,3,1,1 - т.е. 15 раз! Прошу разработчиков дать пояснения по данному вопросу.

 
Комментарии, не относящиеся к этой теме, были перенесены в "Индикатор от индикатора".
 

Написал в СД, кто-нибудь такое у себя замечал? Я прямо скопипастил сообщение

------------------------

Версия и битность терминала

...1653

Описание проблемы

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

Последовательность действий

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

Полученный результат

...

Ожидаемый результат

...

Дополнительные сведения

Windows 10 Pro 1709 19299.64 x64, Наблюдается на многих терминалах, у разных ДЦ. МТ5 на всех запускается только в /portable. Стоит Punto Switcher. Наблюдался и на чистых терминалах, без установленных советников и индикаторов.

 
Индикатор не выгружается
#property indicator_separate_window
#property indicator_buffers 0
#property indicator_plots indicator_buffers

int OnInit()
{
  return(INIT_FAILED);
}

void OnDeinit( const int )
{
  Print(__FUNCTION__);  
}

int OnCalculate( const int rates_total, const int, const int, const double &[] )
{
  return(rates_total);
}
 

В вашем сообщении удачно вставлена ссылка на справку. В справке написано:

Загрузка и выгрузка индикаторов

Индикаторы загружаются в следующих случаях:

  • прикрепление индикатора к графику;
  • запуск терминала (если индикатор был прикреплен к графику перед предыдущим закрытием терминала);
  • загрузка шаблона (если в шаблоне указан прикрепленный к графику индикатор);
  • смена профиля (если индикатор прикреплен к одному из графиков профиля);
  • смена символа и/или периода графика, к которому прикреплен индикатор;
  • после удачной перекомпиляции индикатора, если данный индикатор был прикреплен к графику.
  • изменение входных параметров индикатора.

Индикаторы выгружаются в следующих случаях:

  • при откреплении индикатора от графика;
  • закрытие терминала (если индикатор был прикреплен к графику);
  • загрузка шаблона, если к графику прикреплен индикатор;
  • закрытие графика, к которому был прикреплен индикатор;
  • смена профиля, если индикатор прикреплен к одному из графиков сменяемого профиля;
  • смена символа и/или периода графика, к которому прикреплен индикатор;
  • изменение входных параметров индикатора.
 
Anton:

В вашем сообщении удачно вставлена ссылка на справку. В справке написано:

Не хватает упоминания остальных случаев. Либо добавить слово "только": "Индикаторы выгружаются только в следующих случаях".

Для полноты картины добавлю это

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

Особенности языка mql5, тонкости и приёмы работы

fxsaber, 2017.11.30 09:48

Памятка

Действие/тип программыСмена ТФ или символаСмена счета
ИндикаторЗапуск OnDeinit и OnInit, объект глобального класса меняется (полная перезагрузка).Ничего не происходит, кроме обнуления prev_calculated.
СоветникЗапуск OnDeinit и OnInit, объект глобального класса не меняется.Запуск OnDeinit и OnInit, объект глобального класса меняется (полная перезагрузка).