Take Profit не срабатывает

 

Не понимаю, что творится в тестере стратегий, почему закрываются так ордера, почему не выжидают TAKE PROFIT, и почему открываются как SELL ? Тестер стратегий брокер открытие, фьючерсы газпрома.
         mrequest.action = TRADE_ACTION_DEAL;                              
         mrequest.price = latest_price.ask;          
         mrequest.tp = 500; // Take Profit
         mrequest.symbol = _Symbol;                                  
         mrequest.volume = 5;                                        
         mrequest.magic = 12345;                                
         mrequest.type = ORDER_TYPE_BUY;                                
         mrequest.type_filling = ORDER_FILLING_FOK;                          
         mrequest.deviation=10;                                          
         OrderSend(mrequest,mresult);

 
dzhabrailov:

Не понимаю, что творится в тестере стратегий, почему закрываются так ордера, почему не выжидают TAKE PROFIT, и почему открываются как SELL ? Тестер стратегий брокер открытие, фьючерсы газпрома.
         mrequest.action = TRADE_ACTION_DEAL;                              
         mrequest.price = latest_price.ask;          
         mrequest.tp = 500; // Take Profit
         mrequest.symbol = _Symbol;                                  
         mrequest.volume = 5;                                        
         mrequest.magic = 12345;                                
         mrequest.type = ORDER_TYPE_BUY;                                
         mrequest.type_filling = ORDER_FILLING_FOK;                          
         mrequest.deviation=10;                                          
         OrderSend(mrequest,mresult);

так вы же указываете ТП по цене 500, на этом уровне и ищите его.
 
Sergey Gritsay:
так вы же указываете ТП по цене 500, на этом уровне и ищите его.
я не правильно написал сорян , вот так делал, тоесть текущий аск + 500

mrequest.tp = latest_price.ask + 500;
 
dzhabrailov:
я не правильно написал сорян , вот так делал, тоесть текущий аск + 500

mrequest.tp = latest_price.ask + 500;

и так нельзя надо так

mrequest.tp = NormalizeDouble(latest_price.ask - 500*_Point,_Digits); // расчет тп для сел ордера
mrequest.tp = NormalizeDouble(latest_price.bid + 500*_Point,_Digits); // расчет тп для бай ордера


 ...