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

 
Roman Sharanov:

idati della storia non dicono nulla?

Grazie per la vostra risposta.

 
Igor Makanu:

Sembra che il tester ti dica che non ci sono dati storici, premi F2 e scarica la storia, poi ricarica il terminale

Tutto fatto, grazie mille, funziona.

 
Ciao ragazzi! Ho bisogno del vostro aiuto di nuovo! Potete dirmi come fare una sequenza di numeri N() a partire da 1?
int N() {   int n;                      
       n=N();
       return(n+1);}
//+------------------------------------------------------------------+  
void OpenBS() { ....       
    if( ((OpenB-Ask)/ma+TimeB/60) > N() ) { 
        if( OrderSend(Symbol(),OP_BUY,0.01,Ask,3,0,0,NULL,123,0,1)>0 ) {N()} }}
Cosa cambiare int per far girare N() da void OpenBS()?
 
Rustam Bikbulatov:
Ciao ragazzi! Ho bisogno del vostro aiuto di nuovo! Potete dirmi come fare una sequenza di numeri N() da 1? Cosa cambiare int per far girare N() da void OpenBS()?

Forse così

int N()
  {
   static int n=0;                      
   n++;
   return n;
  }
 
Konstantin Nikitin:

Che ne dici di questo

Grazie mille!!! Puoi dirmi come fare per azzerare? Per esempio, se ci sono ordini, allora viene calcolato. Se non ci sono ordini, viene azzerato.

int N()
  {  static int n;
        {if((fMarketOrdersBuy(OP_BUY)==0)) { 
        n=0;}}
        {if((fMarketOrdersBuy(OP_BUY)>=1)) {                       
        n++;}}
   return n;
  }
Perché questo metodo non funziona?
 
Rustam Bikbulatov:

Grazie mille!!! Puoi dirmi come fare per azzerare? Per esempio, se ci sono ordini, allora viene calcolato. Se non ci sono ordini allora viene azzerato

int N(const int r=0)
  {
   static int n=0;                      
   n = (r==0 ? n : r==1 ? n+1 : 0); // 0-просто возвращаем n, 1-прибавляем 1, в любом другом случае обнуляем
/*
   n = (r>0 ? n+1 : r<0 ? 0 : n); // 0-просто возвращаем n, больше 0 прибавляем 1, меньше 0 обнуляем
*/
   return n;
  }
 
Konstantin Nikitin:

Non c'è nessun calcolo. È zero. Grazie. Mi informerò).

 
Rustam Bikbulatov:

Non c'è nessun calcolo. È zero. Grazie. Mi informerò).

Beh, devi chiederlo.

N(1);  // прибавит 1, и вернет новый результат.
N(-1); // обнулит и вернет 0
N();   // вернет тот результат который есть без изменений
 
Konstantin Nikitin:

È così che si chiede

ma come si fa a farlo in forma di ?

        if((fMarketOrdersBuy(OP_BUY)==0)) { 
        ...}
        if((fMarketOrdersBuy(OP_BUY)>=1)) {                       
        ...}
 
Konstantin Nikitin:

È così che si chiama.

Ho appena notato che int funziona da solo indipendentemente dalla chiamata a questa funzione. È possibile sostituirlo con il tipo void?