Новая версия MetaTrader 4 Client Terminal build 432 - страница 12

 
sergeev:

вы в FXCM срочно звоните, при чем тут этот форум?

Форум-то конечно не причем, а не корректная работа терминала или серверной части на лицо!

Пост скорее адресован разработчикам, если им это еще интересно.

 
sergeev:

вы в FXCM срочно звоните, при чем тут этот форум?

Скорее всего это проблема МТ4, сам несколько раз в прошлом сталкивался с чем-то подобным. В моем случае помог рестарт МТ4.

 
VBAG:

Форум-то конечно не причем, а не корректная работа терминала или серверной части на лицо!

Пост скорее адресован разработчикам, если им это еще интересно.

Исполнение стопов на реальных счетах полностью на стороне дилера. То есть, сервер ждет подтверждений срабатывания.

В таких случаях нужно обращаться в службу поддержки брокера.

 
у меня такое ощущение (я не уверен ) что Deinit() в терминале под-тормаживает то есть если индюк удален..... и переключаться между тайм фреймами то спустя минуту он создает впечатление что он работает ..... хотя деинит срабатывать должен через 2,5 сек

P.S. "терминал не висит и приоритет нормальный " индикатор этот https://www.mql5.com/ru/code/10198 вроде код правильный

А вообще стоит ли в ините ставить так ?? слип 500 или еще больше ???

int init()
 {
   sleep(500); // для разгрузки проца даем 0,5 сек
   return(0);
 }
 

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

 
ruslanchik:
у меня такое ощущение (я не уверен ) что Deinit() в терминале под-тормаживает то есть если индюк удален..... и переключаться между тайм фреймами то спустя минуту он создает впечатление что он работает ..... хотя деинит срабатывать должен через 2,5 сек

P.S. "терминал не висит и приоритет нормальный " индикатор этот https://www.mql5.com/ru/code/10198 вроде код правильный

А вообще стоит ли в ините ставить так ?? слип 500 или еще больше ???


Ни в ините, ни в деините не нужно ставить слипов. Если это индикатор, то любые тормоза в коде должны быть исключены в принципе.

Эксперты работают в собственном потоке и им тоже не нужны слипы, а надо штатно отрабатывать OnTick и выходить. Если пишутся зацикленные эксперты, то все остается на совести программиста.

Выяснить время срабатывания очень легко. Поставьте принты с выводом точного времени и готово.

 
WindSW:

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

Это уже традиция повелась - на выходе любого нового билда люди грешат на терминал, хотя все элементарно проверить по логам.
 

Renat:


Это уже традиция повелась - на выходе любого нового билда люди грешат на терминал, хотя все элементарно проверить по логам.


У меня факт "на лицо" я открываю ордер и у меня скрипт не устанавливает стоп и профит. А раньше все работало как часы. Сегодня специально тестировал и вот результат:

Лог (при бай все сработало, при селл не срабатывает):

17:42:10 MetaTrader build 432 started (Alpari NZ Limited)
17:42:13 Expert Robot 2012 EURUSD,H1: loaded successfully
17:42:13 Expert Script HL GBPUSD,H1: loaded successfully
17:42:15 '354452': login
17:42:16 '354452': login
17:42:17 '354452': previous successful authorization performed from --.---.---.--
17:42:21 '354452': login
17:42:23 '354452': login
17:42:24 '354452': previous successful authorization performed from --.---.---.--
17:56:01 Expert Robot 2012 GBPUSD,H1: loaded successfully
18:00:03 '354452': instant order buy 0.02 GBPUSD at 1.56040 sl: 0.00000 tp: 0.00000
18:00:03 '354452': request was accepted by server
18:00:04 '354452': request in process
18:00:04 '354452': order was opened : #1219550049 buy 0.02 GBPUSD at 1.56040 sl: 0.00000 tp: 0.00000
18:00:07 '354452': modify order #1219550049 buy 0.02 GBPUSD at 1.56040 sl: 0.00000 tp: 0.00000 -> sl: 1.55740 tp: 1.57240
18:00:07 '354452': request was accepted by server
18:00:08 '354452': request in process
18:00:08 '354452': order #1219550049 buy 0.02 GBPUSD at 1.56040 was modified -> sl: 1.55740 tp: 1.57240
18:25:28 '354452': close order #1219550049 buy 0.02 GBPUSD at 1.56040 sl: 1.55740 tp: 1.57240 at price 1.55901
18:25:28 '354452': request was accepted by server
18:25:29 '354452': request in process
18:25:31 '354452': order #1219550049 buy 0.02 GBPUSD at 1.56040 sl: 1.55740 tp: 1.57240 closed at price 1.55901
18:25:36 '354452': instant order sell 0.05 GBPUSD at 1.55894 sl: 0.00000 tp: 0.00000
18:25:36 '354452': request was accepted by server
18:25:37 '354452': request in process
18:25:38 '354452': order was opened : #1219550519 sell 0.05 GBPUSD at 1.55894 sl: 0.00000 tp: 0.00000
18:26:12 Expert Robot 2012 GBPUSD,H1: removed

При этом Buy модифицирует, а Sell нет!!! Только что проверил:

19:49:09 '354452': instant order buy 0.01 GBPUSD at 1.55808 sl: 0.00000 tp: 0.00000
19:49:09 '354452': request was accepted by server
19:49:09 '354452': request in process
19:49:10 '354452': order was opened : #1219552274 buy 0.01 GBPUSD at 1.55808 sl: 0.00000 tp: 0.00000
19:49:11 '354452': modify order #1219552274 buy 0.01 GBPUSD at 1.55808 sl: 0.00000 tp: 0.00000 -> sl: 1.55508 tp: 1.57008
19:49:11 '354452': request was accepted by server
19:49:12 '354452': request in process
19:49:13 '354452': order #1219552274 buy 0.01 GBPUSD at 1.55808 was modified -> sl: 1.55508 tp: 1.57008
19:49:28 '354452': close order #1219552274 buy 0.01 GBPUSD at 1.55808 sl: 1.55508 tp: 1.57008 at price 1.55783
19:49:28 '354452': request was accepted by server
19:49:29 '354452': request in process
19:49:29 '354452': order #1219552274 buy 0.01 GBPUSD at 1.55808 sl: 1.55508 tp: 1.57008 closed at price 1.55783
19:49:38 '354452': instant order sell 0.01 GBPUSD at 1.55788 sl: 0.00000 tp: 0.00000
19:49:38 '354452': request was accepted by server
19:49:39 '354452': request in process
19:49:39 '354452': order was opened : #1219552276 sell 0.01 GBPUSD at 1.55788 sl: 0.00000 tp: 0.00000
19:49:53 '354452': close order #1219552276 sell 0.01 GBPUSD at 1.55788 sl: 0.00000 tp: 0.00000 at price 1.55810
19:49:53 '354452': request was accepted by server
19:49:54 '354452': request in process
19:49:54 '354452': order #1219552276 sell 0.01 GBPUSD at 1.55788 sl: 0.00000 tp: 0.00000 closed at price 1.55810

и тишина..........

Так что ошибка в вашем новом билде!

 

Будьте добры, укажите конкретную строчку и объясните, где именно проблема. Укажите "как Вы посылали команду установки стопов" и "как эта команда не сработала".

Я проверил эти логи и не нашел никаких проблем с исполнением команд установки стопов:

17:56:01 Expert Robot 2012 GBPUSD,H1: loaded successfully

18:00:03 '354452': instant order buy 0.02 GBPUSD at 1.56040 sl: 0.00000 tp: 0.00000
18:00:03 '354452': request was accepted by server
18:00:04 '354452': request in process
18:00:04 '354452': order was opened : #1219550049 buy 0.02 GBPUSD at 1.56040 sl: 0.00000 tp: 0.00000
все ок

18:00:07 '354452': modify order #1219550049 buy 0.02 GBPUSD at 1.56040 sl: 0.00000 tp: 0.00000 -> sl: 1.55740 tp: 1.57240
18:00:07 '354452': request was accepted by server
18:00:08 '354452': request in process
18:00:08 '354452': order #1219550049 buy 0.02 GBPUSD at 1.56040 was modified -> sl: 1.55740 tp: 1.57240
все ок

18:25:28 '354452': close order #1219550049 buy 0.02 GBPUSD at 1.56040 sl: 1.55740 tp: 1.57240 at price 1.55901
18:25:28 '354452': request was accepted by server
18:25:29 '354452': request in process
18:25:31 '354452': order #1219550049 buy 0.02 GBPUSD at 1.56040 sl: 1.55740 tp: 1.57240 closed at price 1.55901
все ок

18:25:36 '354452': instant order sell 0.05 GBPUSD at 1.55894 sl: 0.00000 tp: 0.00000
18:25:36 '354452': request was accepted by server
18:25:37 '354452': request in process
18:25:38 '354452': order was opened : #1219550519 sell 0.05 GBPUSD at 1.55894 sl: 0.00000 tp: 0.00000
все ок

18:26:12 Expert Robot 2012 GBPUSD,H1: removed

тут никаких проблем, позиция открывается, стопы ставятс и позиция закрывается.

вторая часть:

19:49:09 '354452': instant order buy 0.01 GBPUSD at 1.55808 sl: 0.00000 tp: 0.00000
19:49:09 '354452': request was accepted by server
19:49:09 '354452': request in process
19:49:10 '354452': order was opened : #1219552274 buy 0.01 GBPUSD at 1.55808 sl: 0.00000 tp: 0.00000
все ок

19:49:11 '354452': modify order #1219552274 buy 0.01 GBPUSD at 1.55808 sl: 0.00000 tp: 0.00000 -> sl: 1.55508 tp: 1.57008
19:49:11 '354452': request was accepted by server
19:49:12 '354452': request in process
19:49:13 '354452': order #1219552274 buy 0.01 GBPUSD at 1.55808 was modified -> sl: 1.55508 tp: 1.57008
все ок

19:49:28 '354452': close order #1219552274 buy 0.01 GBPUSD at 1.55808 sl: 1.55508 tp: 1.57008 at price 1.55783
19:49:28 '354452': request was accepted by server
19:49:29 '354452': request in process
19:49:29 '354452': order #1219552274 buy 0.01 GBPUSD at 1.55808 sl: 1.55508 tp: 1.57008 closed at price 1.55783
все ок
как и в первом случае, открылась позиция, выставились стопы и успешно закрылась позиция.


открывается новая позиция
19:49:38 '354452': instant order sell 0.01 GBPUSD at 1.55788 sl: 0.00000 tp: 0.00000
19:49:38 '354452': request was accepted by server
19:49:39 '354452': request in process
19:49:39 '354452': order was opened : #1219552276 sell 0.01 GBPUSD at 1.55788 sl: 0.00000 tp: 0.00000
все ок

далее никакой команды на смену стопов не поступало, а сразу идет закрытие

19:49:53 '354452': close order #1219552276 sell 0.01 GBPUSD at 1.55788 sl: 0.00000 tp: 0.00000 at price 1.55810
19:49:53 '354452': request was accepted by server
19:49:54 '354452': request in process
19:49:54 '354452': order #1219552276 sell 0.01 GBPUSD at 1.55788 sl: 0.00000 tp: 0.00000 closed at price 1.55810
все ок

Обратите внимание, что команды на смену стопов после открытия позиции #1219552276 не поступало, а сразу же пошла команда закрытия.

Если даже в логах нет попытки смены стопов, значит терминал тут не при чем. Скорее всего в Вашей программе есть плавающий баг/условие, которое пропускает операцию смены стопов. Видимо, это проявляется на операциях SELL.

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

 

Да, вы правы, есть баг. А почему в 419 билде все нормально работает??? Там он не проявляется, а в текущем селл не пашет


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