Уж и не знаю, виноват ли билд или что-то еще, но заказчик прислал логи, которые не могу объяснить. Возможно, разработчики найдут возможность объяснить или кто-то, кто уже сталкивался с такой проблемой, объяснит. Советник устанавливает ордер. Затем модифицирует уровни 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());
}elseif(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.0000001: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.0000001: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.9864201: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.0000001: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.0000001: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.9864201: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.9864201:28:23'2088214606': pending order sell stop 0.10 USDCADcti at 0.99842 sl: 0.00000 tp: 0.0000001: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.0000001: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.9864201: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]
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).
Такое вообще может быть, что 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. Это рыночное исполнение, все программные мосты трансляции сделок работают только в таком режиме. Проскальзывание может быть как в плюс, так и в минус.
Конечно такое может быть. Более того, именно так и должно быть в режиме market execution. Это рыночное исполнение, все программные мосты трансляции сделок работают только в таком режиме. Проскальзывание может быть как в плюс, так и в минус.
Да, я уже прочитал их Faq.pdf. Но все равно это для меня дикость - отложенный ордер открывается с проскальзыванием!
Уважаемые г-да разработчики! Ответьте пожалуйста!
Если я удаляю mq4 файл советника, то ex4 файл остается.
А если удаляю ex4 файл, то удаляется и mq4 файл тоже, висит только экранная копия.
Если это так задумывалось, то раскройте глубинный смысл, если не трудно.
hhohholl>>:
А если удаляю ex4 файл, то удаляется и mq4 файл тоже, висит только экранная копия.
это как? вместе удаляются при удалении одного файла? что то я в explorer или тоталкомандере такого не видел..
вы вероятно не про удаление файлов справшиваете, а про команду "удалить" контекстного меню навигатора в МТ ?
в справке разработчики уже высказали свою позицию.
А я вот с удивлением обнаружил, что 226й билд не запускается под отладчиком. Я основной код на C++ пишу и помещаю в DLL, и удобнее гораздо, и можно пользоваться полноценным отладчиком. Не представляю, как иначе можно написать что-нибудь, за исключением разве что самых простых скриптов. И тут на тебе, подложили свинью!
Как спрашивается теперь свои индикаторы и советники отлаживать? Я конечно, могу вспомнить старые времена, БЭСМ-6, отладочные печати :-) Только всё-же хочется пользоваться более удобными и современными методами разработки.
К счастью, у меня дистрибутив 225го билда сохранился. Он работает нормально.
Уши бы пооткручивать таким горе программерам, которым всюду чудятся хакеры и которые в свои программы всякие антиотладочные штучки втыкают. Мне свой код отлаживать надо!
Уж и не знаю, виноват ли билд или что-то еще, но заказчик прислал логи, которые не могу объяснить. Возможно, разработчики найдут возможность объяснить или кто-то, кто уже сталкивался с такой проблемой, объяснит. Советник устанавливает ордер. Затем модифицирует уровни SL/TP.
В логах непонятки какие-то. Ошибка то возникает - то исчезает:
Такое вообще может быть, что sell stop ордер установлен на 0.99842, а срабатывает то на 0.99840, то на 0.99844, а то на 0.99841:

Или это эффект BT?
Или это эффект BT?
MT4 работает с Citi FX через мост разработанный Boston Technologies(BT) - http://www.bostontechnologies.com/bridges.html
Возможно, это "издержки" моста... В доках\факе по мостам должно быть про это(срабатывание SL).
Такое вообще может быть, что sell stop ордер установлен на 0.99842, а срабатывает то на 0.99840, то на 0.99844, а то на 0.99841:
Или это эффект BT?
Конечно такое может быть. Более того, именно так и должно быть в режиме market execution. Это рыночное исполнение, все программные мосты трансляции сделок работают только в таком режиме. Проскальзывание может быть как в плюс, так и в минус.
Конечно такое может быть. Более того, именно так и должно быть в режиме market execution. Это рыночное исполнение, все программные мосты трансляции сделок работают только в таком режиме. Проскальзывание может быть как в плюс, так и в минус.
Да, я уже прочитал их Faq.pdf. Но все равно это для меня дикость - отложенный ордер открывается с проскальзыванием!Если я удаляю mq4 файл советника, то ex4 файл остается.
А если удаляю ex4 файл, то удаляется и mq4 файл тоже, висит только экранная копия.
Если это так задумывалось, то раскройте глубинный смысл, если не трудно.
Такое вообще может быть, что sell stop ордер установлен на 0.99842, а срабатывает то на 0.99840, то на 0.99844, а то на 0.99841:
Или это эффект BT?
По природе рынка, ДЦ, брокеров - стоповые отложники срабатывают или по заявленной цене или хуже.
Лимитовые - или по заявленной или вообще не срабатывают.
Такая жизнь.
А если удаляю ex4 файл, то удаляется и mq4 файл тоже, висит только экранная копия.
вы вероятно не про удаление файлов справшиваете, а про команду "удалить" контекстного меню навигатора в МТ ?
в справке разработчики уже высказали свою позицию.
А я вот с удивлением обнаружил, что 226й билд не запускается под отладчиком. Я основной код на C++ пишу и помещаю в DLL, и удобнее гораздо, и можно пользоваться полноценным отладчиком. Не представляю, как иначе можно написать что-нибудь, за исключением разве что самых простых скриптов. И тут на тебе, подложили свинью!
Как спрашивается теперь свои индикаторы и советники отлаживать? Я конечно, могу вспомнить старые времена, БЭСМ-6, отладочные печати :-) Только всё-же хочется пользоваться более удобными и современными методами разработки.
К счастью, у меня дистрибутив 225го билда сохранился. Он работает нормально.
Уши бы пооткручивать таким горе программерам, которым всюду чудятся хакеры и которые в свои программы всякие антиотладочные штучки втыкают. Мне свой код отлаживать надо!