Скачать MetaTrader 5
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Статьи помогут закрепить твои знания. Заходи и читай!
A.Brej
38
A.Brej 2012.04.29 07:42 

Помогите решить вопрос по коду:

totl=OrdersTotal();

if(totl>0){

if(totl==1){

if(OrderSelect(totl-1,SELECT_BY_POS )==true){

tiket=OrderTicket();

SL=OrderStopLoss();

OpOrd=OrderOpenPrice();

if(OrderType()==OP_BUY){

if(SL==0 && Ask>OpOrd+TakeProfit*Point)OrderModify(tiket,OpOrd,Ask-TakeProfit*Point,0,0);

if(SL>=0 && Ask>SL+TakeProfit*Point)OrderModify(tiket,OpOrd,Ask-TakeProfit*Point,0,0);

}

if(OrderType()==OP_SELL){

if(SL==0 && Bid<OpOrd-TakeProfit*Point)OrderModify(tiket,OpOrd,Bid+TakeProfit*Point,0,0);

if(SL>=0 && Bid<SL-TakeProfit*Point)OrderModify(tiket,OpOrd,Bid+TakeProfit*Point,0,0);

}

}

}

Реализация трала позиции.

Для позиции OP_SELL работает, а вот для позиции OP_BUY он работать начинает ниже открытия позиции.

Подскажите в чем проблема?

С уважением ABrej.

Alexandr Bryzgalov
23920
Alexandr Bryzgalov 2012.04.29 07:45  
Посмотри на MACD_Sample там есть функция трала, возьми от туда
A.Brej
38
A.Brej 2012.04.30 04:18  

Все вопрос снят. Когда есть StopLoss то он не как не будет равен 0!!!!!

Место if(SL>=0 && Ask>SL+TakeProfit*Point)OrderModify(tiket,OpOrd,Ask-TakeProfit*Point,0,0);

Надо if(SL>0 && Ask>SL+TakeProfit*Point)OrderModify(tiket,OpOrd,Ask-TakeProfit*Point,0,0);

Вот я ТУПАНУЛ!!! 2 вечера бился, А УТРОМ ВСТАЛ И УВИДЕЛ!!!!

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