При открытии позиции не выставляются SL и TP

Deft  

Код прост, используется базовый класс Trade:           

CTrade trade;
trade.PositionOpen(_Symbol,signal,Lot,
                               SymbolInfoDouble(_Symbol,SYMBOL_ASK),
                               SymbolInfoDouble(_Symbol,SYMBOL_BID)-SL*_Point,
                               SymbolInfoDouble(_Symbol,SYMBOL_ASK)+TP*_Point);

 Но почему-то позиция открывается без SL и TP. В чем может быть причина, - проблема одна и на серверах Альпари и на сервере MetaQuotes.

Sergey Gritsay  
deftvk:

Код прост, используется базовый класс Trade:           

 Но почему-то позиция открывается без SL и TP. В чем может быть причина, - проблема одна и на серверах Альпари и на сервере MetaQuotes.

 

Причина:

1) Не нормализованы цены.

2) Тип исполнения не поддерживает одновременное выставление стопов в момент открытия позиции.

Deft  
Спасибо, получилось
Deft  

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

            CTrade trade;
            trade.PositionOpen(_Symbol,signal,Lot,
                               NormalizeDouble(SymbolInfoDouble(_Symbol,signal==ORDER_TYPE_SELL ? SYMBOL_BID:SYMBOL_ASK),_Digits),
                               NormalizeDouble(signal==ORDER_TYPE_SELL ? (SymbolInfoDouble(_Symbol,SYMBOL_BID)+SL*_Point):(SymbolInfoDouble(_Symbol,SYMBOL_ASK)-SL*_Point),_Digits),
                               NormalizeDouble(signal==ORDER_TYPE_SELL ? (SymbolInfoDouble(_Symbol,SYMBOL_BID)-TP*_Point):(SymbolInfoDouble(_Symbol,SYMBOL_ASK)+TP*_Point),_Digits)
                               );

 Ордер выставляется, стопы - нет, при чем как то получилось, что стопы выставлялись - теперь опять непонятна причина. 

Уже и допустимые уровни выставляю, а ничего не меняется. У разных брокеров пробовал - везде одно и тоже.