Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Da nessuna parte senza di te - 6. - pagina 877

 
evillive:
Giusto, quando si usano le Bande di Bollinger, non è necessario chiamare iCustom, si chiama iBands, per ogni linea dell'indicatore - separatamente. Il modo alternativo senza chiamare l'indicatore ("senza usare buffer, array e loop") è quello di implementare nell'Expert Advisor l'algoritmo di calcolo dell'indicatore e leggere il valore giusto quando necessario (si può leggere solo il valore giusto, per esempio, solo la linea inferiore). Ma non è possibile fare completamente a meno dei loop e degli array.

OK. Allora come scriverlo correttamente?

MB_2=iBands(NULL,0,10,0,2.0,PRICE_CLOSE,2);
Delta_0=iBands(ExtUpperBuffer[0]-ExtLowerBuffer[0]);

Come estrarre i valori di ExtUpperBuffer[0] e ExtUpperBuffer[1], e inferiori rispettivamente?

 
rapid_minus:

OK. Allora come scriverlo correttamente?

MB_2=iBands(NULL,0,10,0,2.0,PRICE_CLOSE,2);
Delta_0=iBands(ExtUpperBuffer[0]-ExtLowerBuffer[0]);

Come estrarre i valori di ExtUpperBuffer[0] e ExtUpperBuffer[1], rispettivamente bene e male?

Anche qui la chiamata dell'indicatore è scritta in modo errato.

L'ho già scritto correttamente qui. Non devi inventare nulla da te, tutto è nella referenza.

Ancora una volta:

High_2=iBands(NULL,0,20,2,0,PRICE_CLOSE,MODE_UPPER,2); //это и есть ExtUpperBuffer[2]
High_1=iBands(NULL,0,20,2,0,PRICE_CLOSE,MODE_UPPER,1); //ExtUpperBuffer[1]
High_0=iBands(NULL,0,20,2,0,PRICE_CLOSE,MODE_UPPER,0); //ExtUpperBuffer[0]
Low_2=iBands(NULL,0,20,2,0,PRICE_CLOSE,MODE_LOWER,2); //ну и нижние соответственно, ExtLowerBuffer[2]
Low_1=iBands(NULL,0,20,2,0,PRICE_CLOSE,MODE_LOWER,1); //ExtLowerBuffer[1]
Low_0=iBands(NULL,0,20,2,0,PRICE_CLOSE,MODE_LOWER,0); //ExtLowerBuffer[0]
 
evillive:

Anche qui, la chiamata dell'indicatore è scritta in modo errato.

Ho già scritto il modo corretto qui. Non devi inventarti niente, tutto è nel manuale.

Un'altra volta:

Beh, ho capito la terza volta. Sembra.

Quindi l'errore in MB_2 è che non c'è una designazione di linea richiamabile, giusto? Ma non ho ancora trovato come chiamare la linea centrale di Bollinger. O solo come media mobile? MODE_SMA ?

 
rapid_minus:

Beh, l'ho capito alla terza volta. Sembra che sia così.

Quindi l'errore in MV_2 è che non c'è una designazione di linea richiamabile, giusto? Ma non ho ancora trovato come chiamare la linea media di Bollinger. O solo come media mobile? MODE_SMA ?

Mid=iBands(NULL,0,20,2,0,PRICE_CLOSE,MODE_MAIN,0); - alla barra zero (ultima cifra tra parentesi - offset alla barra desiderata).

Non c'è bisogno di affrettarsi, leggete attentamente la guida.

 
evillive:

Mid=iBands(NULL,0,20,2,0,PRICE_CLOSE,MODE_MAIN,0); - alla barra zero (ultima cifra tra parentesi - offset alla barra richiesta).

Non c'è bisogno di affrettarsi, leggete attentamente la guida.

Grazie!

Solo come trovarlo nell'aiuto quando non si sa come formulare la domanda - questa è la domanda!

Grazie ancora. Vado a fare altre ricerche.

 
rapid_minus:

Grazie!

Solo come trovarlo nell'aiuto quando non si sa come formulare la domanda - questa è la domanda!

Grazie ancora. Vado a fare altre ricerche.

Imparare a fare le domande giuste è metà della risposta, in qualche modo ;)
 
mario065:
Ecco un esempio in cui ho mostrato come misurare una barra dopo aver attraversato 2 muves.

provato il tuo codice.

La domanda è il numero di bar?

Ho spiegato il suo valore che disegna diversi numeri tra cui lo zero sulla lancetta delle ore

Ho provato a farlo passare attraverso un tester, stessa cosa.

Se il valore di uno è uguale all'altro, cercherà di disegnare i numeri come mi serve

grazie

 
sannin:

provato il tuo codice

La domanda è il numero di bar?

Ho spiegato il suo valore che disegna diversi numeri tra cui lo zero sulla lancetta delle ore

Ho provato a farlo passare attraverso un tester, stessa cosa.

Se il valore di uno è uguale all'altro, cercherà di disegnare i numeri come mi serve

Grazie

Sto solo cercando di fare un esempio.

Vedo che l'hai fatto).

Ecco il codice:

//+------------------------------------------------------------------+
//|                                                    count bar.mq4 |
//+------------------------------------------------------------------+
#property copyright ""
#property link      ""

extern int limit = 300;
//+------------------------------------------------------------------+
int init(){return(0);}
int deinit(){Comment("");return(0);}
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
  {
    static datetime time,timeup,timedn;
    double spread=MarketInfo(Symbol(),MODE_SPREAD);
    double maslow1,mafast1,maslow2,mafast2;
    int    shift,shift1,shift2,f,j;
    
    for(shift=limit;shift>0;shift--){
        shift1=shift+1;shift2=shift+2;
        maslow1 = iMA(NULL,0,20,0,MODE_SMA,PRICE_OPEN,shift1);
        mafast1 = iMA(NULL,0,5,0,MODE_SMA,PRICE_OPEN,shift1);
        maslow2 = iMA(NULL,0,20,0,MODE_SMA,PRICE_OPEN,shift2);
        mafast2 = iMA(NULL,0,5,0,MODE_SMA,PRICE_OPEN,shift2);
 
     if(mafast2<maslow2 && mafast1>maslow1){
        timeup=Time[shift1];
       } 
     if(mafast2>maslow2 && mafast1<maslow1){
        timedn=Time[shift1];
       } 
     
     if(timeup > timedn){
        time = timeup;
       } else {
        time = timedn;
       }
     }
 
      int b1=iBarShift(Symbol(), 0, time);      
      int b2=iBarShift(Symbol(), 0, TimeCurrent());
//Преброяване на баровете-от нулевия до началната дата
    for(j=b2;j<=b1;j++){
        f=b1-b2;
       }
      
   Comment("\n Време на брокера: ",TimeToStr(TimeCurrent(),TIME_SECONDS)," Локално време: "+TimeToStr(TimeLocal(),TIME_SECONDS),
           "\n Текущ спред: ",DoubleToStr(spread/10,1),
           "\n=====================",
           "\n Начална дата:           ",TimeToStr(time,TIME_DATE|TIME_SECONDS), 
           "\n Брой барове:            ",f,
           "\n=====================" 
             ); 
   return(0);
  }
//+------------------------------------------------------------------+

 
mario065:

L'ho scritto come esempio.

Vedo che ce l'hai fatta :)

Ecco il codice:

Grazie mille.

Lo condividerò quando sarò ricco.

 
sannin:

Grazie mille.

Lo condividerò quando sarò ricco.

Il caffè è sufficiente quando si diventa ricchi ;)