Скачать MetaTrader 5

Исполнение TakeProfit в лимитниках

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Alexander Konovalov
281
Alexander Konovalov  

МТ5. Брокер Открытие.


В тестере пишу советника.

Ставит лимитники с SL и TP.

Открываются четко по нужной цене. Так же и SL проходит по точной цене. (пока делал скриншот, обнаружил, что и SL бывает проскакивает)

А вот TP всегда меньше закрывается.

Есть у кого-нибудь идеи почему и как решить? (увеличение TP как-то не подходит)

//--- объявление и инициализация запроса и результата
         MqlTradeRequest request={0};
         MqlTradeResult  result={0};
         request.action=TRADE_ACTION_PENDING;                     // тип торговой операции
         request.symbol=_Symbol;                              // символ
         request.volume=1;                                   // объем 
         request.type=signal;                        // тип ордера
         request.type_time=ORDER_TIME_DAY;
         request.type_filling=ORDER_FILLING_FOK;
         request.expiration=0;
         request.sl = dSL;
         request.tp = dTP;
         request.price=lNeedOpeningPrice; // цена для открытия
         request.deviation=0;                                    // допустимое отклонение от цены
         request.magic=ExpertMagic;                          // MagicNumber ордера

         if(signal==ORDER_TYPE_BUY_LIMIT)
           {
            //ExtTrade.BuyLimit(1,lNeedOpeningPrice,_Symbol,dSL,dTP,ORDER_TIME_GTC);
            //ExtTrade.BuyStop(1,lNeedOpeningPrice,_Symbol,dSL,dTP,ORDER_TIME_GTC);            
            if(!OrderSend(request,result)) PrintFormat("OrderSend error %d",GetLastError());
           }

С type_filling и deviation эксперементировал. Это последний вариант.


123

Dmitriy Skub
11578
Dmitriy Skub  

ТП это такой же рыночный приказ, как и СЛ.

Если хотите без проскальзывания, то ставьте вместо ТП лимитник. Но, тогда - без гарантии исполнения)

Dmitiry Ananiev
8633
Dmitiry Ananiev  
Dmitriy Skub:

ТП это такой же рыночный приказ, как и СЛ.

Если хотите без проскальзывания, то ставьте вместо ТП лимитник. Но, тогда - без гарантии исполнения)

ТП - это лимитный ордер. Исполнение не гарантирован пе текущей цене. только  лучше. 

Dmitriy Skub
11578
Dmitriy Skub  
Dmitiry Ananiev:

ТП - это лимитный ордер. Исполнение не гарантирован пе текущей цене. только  лучше. 

Прежде чем отвечать, прочитайте вопрос)) Не путайте форекс с биржей.
Sergey Vradiy
1337
Sergey Vradiy  
Тип исполнения Fill or kill предполагает закрытие всего лота по конкретной цене. Проскальзывание возможно только при Immediate or cancel. Теоретически при указании FOK сделка должна или закрываться по указанной цене, или не закрываться вовсе. То, что она закрывается по более низкому профиту, означает косяк дилера.
Dmitriy Skub
11578
Dmitriy Skub  
Sergey Vradiy:
Тип исполнения Fill or kill предполагает закрытие всего лота по конкретной цене. Проскальзывание возможно только при Immediate or cancel. Теоретически при указании FOK сделка должна или закрываться по указанной цене, или не закрываться вовсе. То, что она закрывается по более низкому профиту, означает косяк дилера.

Теоретически, возможно)

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

Ivan Ivanov
1764
Ivan Ivanov  
Alexander Konovalov:

МТ5. Брокер Открытие.

В тестере пишу советника. Ставит лимитники с SL и TP.

Открываются четко по нужной цене. Так же и SL проходит по точной цене. (пока делал скриншот, обнаружил, что и SL бывает проскакивает)

А вот TP всегда меньше закрывается.

Есть у кого-нибудь идеи почему и как решить? (увеличение TP как-то не подходит)

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

Например для BUY ... if ( ( текущая цена BID ) > ( цена открытия позиции + ТП ) ==> ордер на закрытие;

Можете пробовать разные величины deviation , включая =0.

Совершение сделок - Торговые операции - MetaTrader 5
Совершение сделок - Торговые операции - MetaTrader 5
  • www.metatrader5.com
Торговая деятельность в платформе связана с формированием и отсылкой рыночных и отложенных ордеров для исполнения брокером, а также с управлением текущими позициями путем их модификации или закрытия. Платформа позволяет удобно просматривать торговую историю на счете, настраивать оповещения о событиях на рынке и многое другое. Открытие позиций...
Sergey Vradiy
1337
Sergey Vradiy  
Dmitriy Skub:

Теоретически, возможно)

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

Ордер может закрываться либо частями, когда и происходит проскальзывание, либо целиком по одной и той же цене. Но параметр FOK как раз и показывает, что допускается только протокол fill or kill:  исполнить или аннулировать, т.к. закрытие всего лота по конкретной цене. Если встречной заявки, способной перекрыть данный объём нет, сделка вовсе не закрывается.

Dmitriy Skub
11578
Dmitriy Skub  
Sergey Vradiy:

Ордер может закрываться либо частями, когда и происходит проскальзывание, либо целиком по одной и той же цене. Но параметр FOK как раз и показывает, что допускается только протокол fill or kill:  исполнить или аннулировать, т.к. закрытие всего лота по конкретной цене. Если встречной заявки, способной перекрыть данный объём нет, сделка вовсе не закрывается.

Теперь понятно)
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий