Несколько условий в советнике. Как организовать?

 

Всем привет! Подскажите, пожалуйста!!! Есть несколько вопросов, сам не справляюсь:

1. Как сделать так, чтобы на одном баре открывался только один ордер?

2. Есть несколько условий на покупку и продажу, какую для этого использовать функцию?

3. Как организовать перенос открытой позиции в безубыток?

4. Как все три условия применить в коде советника (если можно, на примере)?

Жду ваших ответов. Заранее огромное спасибо.


 

Posmotri zdes':

https://book.mql4.com/ru/
 
      if(OpenBuy==1 && OrderBarM15!=iBars("GBPUSD",PERIOD_M15))
      {
         SL=Bd-StopLoss*Point;
         TP=As+TakeProfit*Point;
         SL=NormalizeDouble(SL, Digits);
         TP=NormalizeDouble(TP, Digits);
         ticket=OpenPosition(OP_BUY,Lots,SL,TP,MagicBuy);
         if(ticket>0)
         {
            if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES))
            {
               OrderBarM15=iBars("GBPUSD",PERIOD_M15);
               Print("BUY GBPUSD M15 order opened : ",OrderOpenPrice());
            }
         }
      }

1. Как сделать так, чтобы на одном баре открывался только один ордер? Например, можно так - см. на код выше. 

где OpenBuy - условие открытия, OpenPosition - функция открытия, SL - стоп, TP- профит.

 
Maniac >>:

Всем привет! Подскажите, пожалуйста!!! Есть несколько вопросов, сам не справляюсь:

2. Есть несколько условий на покупку и продажу, какую для этого использовать функцию?


Никакую. Просто ифы.

if(условие#1)
{
    OpenBuy=1;
}

if(условие#2)
{
    OpenBuy=1;
}

if(условие#3)
{
    OpenBuy=1;
}

if(OpenBuy==1)
{
    открытие
}
 
То, что нужно. Спасибо.