Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 1778

 
Janis Ozols #:

Или есть какой-то более простой способ получить это значение? 

   zz=iCustom(NULL,0,"ZigZag",InpDepth,InpDeviation,InpBackstep,0,InpBackstep);
   if(zz!=EMPTY_VALUE)
     {prev_zz=curr_zz; curr_zz=zz;}
 
Janis Ozols #:

Внимание, вопрос: является ли верным подходом перебирать в цикле значения буфера индикатора, начиная с нулевого сдвига вглубь, на каждой итерации вызывая функцию iCustom, до тех пор, пока полученное значение не станет отлично от EMPTY_VALUE?

да

Janis Ozols #:

Или есть какой-то более простой способ получить это значение? 

нет

 

и все таки. максимально упрощу вопрос. как прописать код чтоб выполнял следующее.


тик-проверка наличие открытого ордера sell в предела +\- ( вверх\вниз) от цены 10 пунктов , при отсутствии открыть ордер sell

на крайняк посоветуйте с чего лутше начать изучать, типа книжки какой. И схоже ли это с языком С++

Уж извините если вопросы крайне мудрые.


 
valentin104 #:

и все таки. максимально упрощу вопрос. как прописать код чтоб выполнял следующее.


тик-проверка наличие открытого ордера sell в предела +\- ( вверх\вниз) от цены 10 пунктов , при отсутствии открыть ордер sell

на крайняк посоветуйте с чего лутше начать изучать, типа книжки какой. И схоже ли это с языком С++

Уж извините если вопросы крайне мудрые.

перебираете открытые сделки, сравниваете цену открытия - попадает ли она в диапазон  от Аск+10 до Аск-10, если попадает значит есть открытый.

"на крайняк" открываете Кодебазу и смотрите как это делать)

 

valentin104 #:

тик-проверка наличие открытого ордера sell в предела +\- ( вверх\вниз) от цены 10 пунктов , при отсутствии открыть ордер sell

//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
//---
   if(FindOrders(OP_BUY)<1) покупаем;
   if(FindOrders(OP_SELL)<1) продаем;
  }
//+----------------------------------------------------------------------------+
int FindOrders(int ot=-1)
  {
   int order=0;
   for(int i = OrdersTotal()-1; i>=0; i--)
     {
      if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
        {
         if(ot==OP_BUY&&OrderType()==ot)
           {
            if(OrderOpenPrice()>Bid-10*Point&&OrderOpenPrice()<Bid+10*Point)
            order=1;
           }
         if(ot==OP_SELL&&OrderType()==ot)
           {
            if(OrderOpenPrice()>Ask-10*Point&&OrderOpenPrice()<Ask+10*Point)
            order=1;
           }
        }
     }
   return(order);
  }
//+----------------------------------------------------------------------------+
 
MakarFX #:
благадарю
 
valentin104 #:
благадарю

  

 
MakarFX #:

  

Понятно. Я просто зашуганный белорус.
 
valentin104 #:
Понятно. Я просто зашуганный белорус.
Прости, я не подумал)
 

Mihail Matkovskij #:

Спасибо. не повлияло почему то.

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