Tutte le domande dei nuovi arrivati su MQL4 e MQL5, aiuto e discussione su algoritmi e codici - pagina 1778

 
Janis Ozols #:

O c'è un modo più semplice per ottenere questo valore?

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

Domanda di attenzione: è un approccio valido per fare un loop attraverso i valori del buffer dell'indicatore, iniziando con uno spostamento di zero in profondità, chiamando la funzione iCustom ad ogni iterazione, finché il valore risultante è diverso da EMPTY_VALUE?

Janis Ozols #:

O c'è un modo più semplice per ottenere questo valore?

no

 

Come scrivere il codice in modo che esegua quanto segue.


tick-check per ordine di vendita aperto entro +/- (su/giù) range di 10 pip dal prezzo, se nessun ordine di vendita aperto

Se non sono sicuro di avere un ordine di vendita aperto, allora dovrei aprire un ordine di vendita. Il libro è simile a C++.

Mi dispiace se queste domande sono troppo sagge.


 
valentin104 #:

Come scrivere il codice in modo che esegua quanto segue.


tick-check per ordine di vendita aperto entro +/- (su/giù) range di 10 pip dal prezzo, se nessun ordine di vendita aperto

Se non sono sicuro di avere un ordine di vendita aperto, allora dovrei aprire un ordine di vendita. Il libro è simile a C++.

Mi dispiace se queste domande sono troppo intelligenti.

Passate attraverso le offerte aperte e confrontate il prezzo di apertura - se rientra nell'intervallo tra Ask+10 e Ask-10, se lo fa, significa che avete un'offerta aperta.

"Come ultima risorsa, apri un Codebase e vedi come fare)

 

valentin104 #:

Tick-check per un ordine di vendita aperto entro +/- (su/giù) del prezzo 10 pip, se non, aprire un ordine di vendita

//+------------------------------------------------------------------+
//| 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 #:
grazie
 
valentin104 #:
grazie


 
MakarFX #:


Capisco. Sono solo un bielorusso spaventato.
 
valentin104 #:
Capisco. Sono solo un bielorusso spaventato.
Scusa, non stavo pensando)
 

Mihail Matkovskij #:

Grazie, non ha avuto alcun effetto per qualche motivo.