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

 
Зачем? В этом куске есть вся информация по моему вопросу, в логе Журналы ее вообще нет.
 
Andy:
Зачем? В этом куске есть вся информация по моему вопросу, в логе Журналы ее вообще нет.

В лог-файле вкладки "Журнал" содержится много полезной информации. Например сообщение о том, что Ваш компьютер вообще был выключен или не было связи :)

 

Там все нормально, поэтому и не даю.

Причина бага - быстрое изменение цены, хочется узнать техническую причину - почему стандартный советник, сгенерированный в Мастере MQL5 допускает пропуск сигнала на этом.

Вопрос чисто теоретический. Если в начале бара цена очень быстро менялась, то торговый сигнал в виде сообщения-совета во вкладку Эксперты может и не поступить при отжатой кнопке Автоторговля и при этом в логах нет никаких следов, поэтому и не привожу их.

 
Andy:

Там все нормально, поэтому и не даю.

Причина бага - быстрое изменение цены, хочется узнать техническую причину - почему стандартный советник, сгенерированный в Мастере MQL5 допускает пропуск сигнала на этом.

Вопрос чисто теоретический. Если в начале бара цена очень быстро менялась, то торговый сигнал в виде сообщения-совета во вкладку Эксперты может и не поступить при отжатой кнопке Автоторговля и при этом в логах нет никаких следов, поэтому и не привожу их.

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

Так дело в том, что при отжатой кнопке Автоторговля запрос на сервер не посылается, а только выдается сообщение во вкладку Эксперты (см скрин). Но в данном случае, в реале до и после сигналы были, а между ними в 20:40 (МСК+3) его не было на быстром движении цены, хотя в тестере он есть. Вот и хочу узнать причину.

Нет сигнала в 20:40 (МСК+3 ч)

Лог тестера - есть сделка в 17:40 (время МСК)

2019.08.30 07:35:05.965 Trade   2019.08.29 17:30:00   instant sell 0.50 EURUSD at 1.10608 (1.10608 / 1.10628)
2019.08.30 07:35:05.965 Trades  2019.08.29 17:30:00   deal #14 sell 0.50 EURUSD at 1.10608 done (based on order #14)
2019.08.30 07:35:05.965 Trade   2019.08.29 17:30:00   deal performed [#14 sell 0.50 EURUSD at 1.10608]
2019.08.30 07:35:05.965 Trade   2019.08.29 17:30:00   order performed sell 0.50 at 1.10608 [#14 sell 0.50 EURUSD at 1.10608]
2019.08.30 07:35:05.965 1 (EURUSD,M5)   2019.08.29 17:30:00   CTrade::OrderSend: instant sell 0.50 EURUSD at 1.10608 [done at 1.10608]
2019.08.30 07:35:06.077 Trade   2019.08.29 17:40:00   instant buy 1.00 EURUSD at 1.10807 (1.10787 / 1.10807)
2019.08.30 07:35:06.077 Trades  2019.08.29 17:40:00   deal #15 buy 1.00 EURUSD at 1.10807 done (based on order #15)
2019.08.30 07:35:06.077 Trade   2019.08.29 17:40:00   deal performed [#15 buy 1.00 EURUSD at 1.10807]
2019.08.30 07:35:06.077 Trade   2019.08.29 17:40:00   order performed buy 1.00 at 1.10807 [#15 buy 1.00 EURUSD at 1.10807]
2019.08.30 07:35:06.077 1 (EURUSD,M5)   2019.08.29 17:40:00   CTrade::OrderSend: instant buy 1.00 EURUSD at 1.10807 [done at 1.10807]
2019.08.30 07:35:06.179 Trade   2019.08.29 18:05:00   instant sell 1.00 EURUSD at 1.10624 (1.10624 / 1.10644)
2019.08.30 07:35:06.179 Trades  2019.08.29 18:05:00   deal #16 sell 1.00 EURUSD at 1.10624 done (based on order #16)
2019.08.30 07:35:06.179 Trade   2019.08.29 18:05:00   deal performed [#16 sell 1.00 EURUSD at 1.10624]
2019.08.30 07:35:06.179 Trade   2019.08.29 18:05:00   order performed sell 1.00 at 1.10624 [#16 sell 1.00 EURUSD at 1.10624]
2019.08.30 07:35:06.179 1 (EURUSD,M5)   2019.08.29 18:05:00   CTrade::OrderSend: instant sell 1.00 EURUSD at 1.10624 [done at 1.10624]
В логе "Журнал" ошибок нет.
 
Andy:

Так дело в том, что при отжатой кнопке Автоторговля запрос на сервер не посылается, а только выдается сообщение во вкладку Эксперты (см скрин). Но в данном случае, в реале до и после сигналы были, а между ними в 20:40 (МСК+3) его не было на быстром движении цены, хотя в тестере он есть. Вот и хочу узнать причину.


Лог тестера - есть сделка в 17:40 (время МСК)

Возможная причина: различное состояние торгового окружения в реале и в тестере: советники сгенерированные Мастером MQL5 ВСЕГДА РАБОТАЮТ только с одной позицией - а значит если есть позиция и есть сигнал в том-же направлении - сигнал пропускается. А теперь вопрос: а на тот день в реале была открыта позиция по данному символу?


Вот почему НУЖНЫ ОБА ЛОГ-ФАЙЛА. Там куча информации.

 

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

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

Значит был разрыв связи. Для этого нужно смотреть логи. В общем я немного устал Вам талдычить одно и тоже. Может кто покрепче найдется ...

 

Я ведь сказал, что разрыва связи не было - зачем еще вам лог-то?

В итоге - советник сгенерированный Мастером MQL5 на основе стандартного модуля торгового сигнала МА может пропускать сигнал и у вас нет ответа на этот вопрос, только странные встречные вопросы о том, что и так понятно.

 
Andy:

Так дело в том, что при отжатой кнопке Автоторговля запрос на сервер не посылается, а только выдается сообщение во вкладку Эксперты (см скрин). Но в данном случае, в реале до и после сигналы были, а между ними в 20:40 (МСК+3) его не было на быстром движении цены, хотя в тестере он есть. Вот и хочу узнать причину.


Лог тестера - есть сделка в 17:40 (время МСК)

В логе "Журнал" ошибок нет.
В вашем эксперте есть условие на проверку величины спреда? У меня, например, есть, и если спред расширяется, то сделка не совершается, несмотря на то, что все остальные условия true.
Во время больших движений спред, как правило, расширяется, а когда вы тестируете в тестере, то берётся текущая величина спреда, которая в момент тестирования может быть в стандартных пределах.