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

 

Уж и не знаю, виноват ли билд или что-то еще, но заказчик прислал логи, которые не могу объяснить. Возможно, разработчики найдут возможность объяснить или кто-то, кто уже сталкивался с такой проблемой, объяснит. Советник устанавливает ордер. Затем модифицирует уровни SL/TP.

int TrySendOrder(int op, double lot, double price, double SL, double TP, string comment, int magic, color arrows)
{
   int slippage=0;
   double p = NormalizeDouble(price,Digits);
   if(op<2)   // open from market
      slippage = TradeSlippage;
   int ticket = OrderSend(Symbol(),op,lot,p,slippage,0,0,comment,magic,0,arrows);
   if( ticket==-1)
   {
      return(GetLastError());
   }else if(SL!=0 || TP!=0)
   {
      if(op<2) p=0;
      OrderModify(ticket,p,NormalizeDouble(SL,Digits),NormalizeDouble(TP,Digits),0,arrows);
   }
   return(0);
}


В логах непонятки какие-то. Ошибка то возникает - то исчезает:

01:28:16 '2088214606': pending order sell stop 0.10 USDCADcti at 0.99842 sl: 0.00000 tp: 0.00000
01:28:16 '2088214606': request was accepted by server
01:28:16 '2088214606': order was opened : #2706406 sell stop 0.10 USDCADcti at 0.99842 sl: 0.00000 tp: 0.00000
01:28:16 '2088214606': modify pending order #2706406 sell stop 0.10 USDCADcti at 0.99842 sl: 0.00000 tp: 0.00000 -> price: 0.99842 sl: 1.00342 tp: 0.98642
01:28:17 '2088214606': modification of pending order #2706406 sell stop 0.10 USDCADcti at 0.99842 sl: 0.00000 tp: 0.00000 -> price: 0.99842 sl: 1.00342 tp: 0.98642 failed [Trade is disabled]
01:28:17 '2088214606': pending order sell stop 0.10 USDCADcti at 0.99842 sl: 0.00000 tp: 0.00000
01:28:17 '2088214606': request was accepted by server
01:28:19 '2088214606': request in process
01:28:19 '2088214606': order was opened : #2706407 sell stop 0.10 USDCADcti at 0.99842 sl: 0.00000 tp: 0.00000
01:28:19 '2088214606': modify pending order #2706407 sell stop 0.10 USDCADcti at 0.99842 sl: 0.00000 tp: 0.00000 -> price: 0.99842 sl: 1.00342 tp: 0.98642
01:28:19 '2088214606': request was accepted by server
01:28:20 '2088214606': pending order #2706407 sell stop 0.10 USDCADcti was modified -> price: 0.99842 sl: 1.00342 tp: 0.98642
01:28:23 '2088214606': pending order sell stop 0.10 USDCADcti at 0.99842 sl: 0.00000 tp: 0.00000
01:28:25 '2088214606': request was accepted by server
01:28:25 '2088214606': request in process
01:28:25 '2088214606': order was opened : #2706408 sell stop 0.10 USDCADcti at 0.99842 sl: 0.00000 tp: 0.00000
01:28:25 '2088214606': modify pending order #2706408 sell stop 0.10 USDCADcti at 0.99842 sl: 0.00000 tp: 0.00000 -> price: 0.99842 sl: 1.00342 tp: 0.98642
01:28:26 '2088214606': modification of pending order #2706408 sell stop 0.10 USDCADcti at 0.99842 sl: 0.00000 tp: 0.00000 -> price: 0.99842 sl: 1.00342 tp: 0.98642 failed [Trade is disabled]

 

Такое вообще может быть, что sell stop ордер установлен на 0.99842, а срабатывает то на 0.99840, то на 0.99844, а то на 0.99841:



Или это эффект BT?

Citi FX Liquidity Connection 4.00 build 226 started (Citi FX MT4 powered by BT)
 
api >>:

Или это эффект BT?

Citi FX Liquidity Connection 4.00 build 226 started (Citi FX MT4 powered by BT)

MT4 работает с Citi FX через мост разработанный Boston Technologies(BT) - http://www.bostontechnologies.com/bridges.html
Возможно, это "издержки" моста... В доках\факе по мостам должно быть про это(срабатывание SL).

 
api >>:

Такое вообще может быть, что sell stop ордер установлен на 0.99842, а срабатывает то на 0.99840, то на 0.99844, а то на 0.99841:



Или это эффект BT?

Citi FX Liquidity Connection 4.00 build 226 started (Citi FX MT4 powered by BT)

Конечно такое может быть. Более того, именно так и должно быть в режиме market execution. Это рыночное исполнение, все программные мосты трансляции сделок работают только в таком режиме. Проскальзывание может быть как в плюс, так и в минус.

 
Gans-deGlucker писал(а) >>

Конечно такое может быть. Более того, именно так и должно быть в режиме market execution. Это рыночное исполнение, все программные мосты трансляции сделок работают только в таком режиме. Проскальзывание может быть как в плюс, так и в минус.


Да, я уже прочитал их Faq.pdf. Но все равно это для меня дикость - отложенный ордер открывается с проскальзыванием!
 
добро пожаловать в реальный мир :)
 
Уважаемые г-да разработчики! Ответьте пожалуйста!
Если я удаляю mq4 файл советника, то ex4 файл остается.
А если удаляю ex4 файл, то удаляется и mq4 файл тоже, висит только экранная копия.
Если это так задумывалось, то раскройте глубинный смысл, если не трудно.
 
api >>:

Такое вообще может быть, что sell stop ордер установлен на 0.99842, а срабатывает то на 0.99840, то на 0.99844, а то на 0.99841:



Или это эффект BT?

Citi FX Liquidity Connection 4.00 build 226 started (Citi FX MT4 powered by BT)

По природе рынка, ДЦ, брокеров - стоповые отложники срабатывают или по заявленной цене или хуже.

Лимитовые - или по заявленной или вообще не срабатывают.

Такая жизнь.

 
hhohholl >>:
А если удаляю ex4 файл, то удаляется и mq4 файл тоже, висит только экранная копия.
это как? вместе удаляются при удалении одного файла? что то я в explorer или тоталкомандере такого не видел..

вы вероятно не про удаление файлов справшиваете, а про команду "удалить" контекстного меню навигатора в МТ ?
в справке разработчики уже высказали свою позицию.
 

А я вот с удивлением обнаружил, что 226й билд не запускается под отладчиком. Я основной код на C++ пишу и помещаю в DLL, и удобнее гораздо, и можно пользоваться полноценным отладчиком. Не представляю, как иначе можно написать что-нибудь, за исключением разве что самых простых скриптов. И тут на тебе, подложили свинью!


Как спрашивается теперь свои индикаторы и советники отлаживать? Я конечно, могу вспомнить старые времена, БЭСМ-6, отладочные печати :-) Только всё-же хочется пользоваться более удобными и современными методами разработки.


К счастью, у меня дистрибутив 225го билда сохранился. Он работает нормально.

Уши бы пооткручивать таким горе программерам, которым всюду чудятся хакеры и которые в свои программы всякие антиотладочные штучки втыкают. Мне свой код отлаживать надо!