Вопросы от начинающих MQL5 MT5 MetaTrader 5 - страница 382

 
Подскажите пожалуйста формулу для расчёта лота нового ордера чтобы при tp в 10п он мог вывести убыточный ордер в 0 и заработать желаемые 10 пунктов.
 

Каким оператором обозначить тип ордера

Объединить  2 алгоритма в один. (соединить их  что бы не было конфлинка от "OrdersTotal", получается что он откроет 1 ордер . а мне нужно по 1 в каждом направлений)

Спс заранее))

 

int start ()

{

if (OrdersTotal() == 0 )

  OrderSend("EURUSD",OP_BUY,Lots,Ask,0,0,0,"11",MagicNumb,0,Red);

  

 

int start ()

{

if (OrdersTotal() == 0 )

  OrderSend("EURUSD",OP_SELL,Lots,Bid,0,0,0,"11",MagicNumb,0,Red);

  

}

 
le0nid2014:

Каким оператором обозначить тип ордера

Объединить  2 алгоритма в один. (соединить их  что бы не было конфлинка от "OrdersTotal", получается что он откроет 1 ордер . а мне нужно по 1 в каждом направлений)

Спс заранее))

 

int start ()

{

if (OrdersTotal() == 0 )

  OrderSend("EURUSD",OP_BUY,Lots,Ask,0,0,0,"11",MagicNumb,0,Red);

  

 

int start ()

{

if (OrdersTotal() == 0 )

  OrderSend("EURUSD",OP_SELL,Lots,Bid,0,0,0,"11",MagicNumb,0,Red);

  

}

Открыть по-очереди.
 
Artyom Trishkin:
Открыть по-очереди.

не получиться. так я получу - когда 0 ордеров тогда он откроет то что мне нужно. 

А надо что бы если не одного ордера на покупку- он открывает на покупку, и наоборот (в то время когда 1 направления не будет , 2 то будет и от не произведет команду старта ) 

 
le0nid2014:

не получиться. так я получу - когда 0 ордеров тогда он откроет то что мне нужно. 

А надо что бы если не одного ордера на покупку- он открывает на покупку, и наоборот (в то время когда 1 направления не будет , 2 то будет и от не произведет команду старта ) 

надо посчитать сколько каких и по условию отсутствия нужного - открыть

 
new-rena:

надо посчитать сколько каких и по условию отсутствия нужного - открыть

так вот я и не знаю как обьястнить советнику какие ордера на покупку а какие на продажу
 
//+------------------------------------------------------------------+
//| --- ФУНКЦИЯ РАСЧЕТА КОЛИЧЕСТВА ОРДЕРОВ
//+------------------------------------------------------------------+
   int Calc_Orders(string Symbols,string TYPE)
      {
         int Res=0; int calc;       
         for (calc=OrdersTotal()-1; calc>=0; calc--)
            {
               if (OrderSelect(calc,SELECT_BY_POS,MODE_TRADES))
                  {
                     if (TYPE=="BUY" && OrderType()==OP_BUY && OrderSymbol()==Symbols)
                        {
                           Res=Res+1;
                        }                        
                     if (TYPE=="SELL" && OrderType()==OP_SELL && OrderSymbol()==Symbols)
                        {
                           Res=Res+1;
                        }
                  }
            }
         return(Res);
      }
в тот пост не вставляется. дважды пробовал отредактировать...
 
le0nid2014:

не получиться. так я получу - когда 0 ордеров тогда он откроет то что мне нужно. 

А надо что бы если не одного ордера на покупку- он открывает на покупку, и наоборот (в то время когда 1 направления не будет , 2 то будет и от не произведет команду старта ) 

Тогда я совсем не понял что же вы хотите. Можно как-то более понятно это рассказать?
 
Artyom Trishkin:
Тогда я совсем не понял что же вы хотите. Можно как-то более понятно это рассказать?

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

И наоборот 

 
le0nid2014:

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

И наоборот 

Устанавливаем две локальные переменные в функции OnTick типа bool: buyExist = false и sellExist = false. 

По приходу нового тика проверяете наличие ордеров, принадлежавших данному советнику. Если есть ордер на продажу - sellExist = true, тоже самое с бай ордером. И далее проверяете, если buyExist = true - ордер на покупку не открывать. Тоже для sell. Все.

Причина обращения: