[ARCHIVIO]Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Non posso andare da nessuna parte senza di te - 5. - pagina 322

 
gyfto:


Mi spiego in altre parole: si tratta di auto-educazione, io sono autodidatta da tutta la vita, quindi NON so quale approccio avete adottato. NON so cosa sia accettato da voi e cosa no.

Ok, torniamo alle candele. Supponiamo di avere i_AnyBarsToHistory = 30, i_ѕеqceptBarsConnt = 3. Se in una finestra di 30 candele cntUp == i_ѕеԛceptBarsCount e cntDn == i_ѕеԛceptBarsCount una volta, allora cosa dovrebbe succedere? O conta sempre un solo contatore per passaggio?

Sì, e perché usciamo prematuramente dal ciclo prima di raggiungere Close[1]?


La linea di fondo è questa: se il ciclo è da 30 a 3, allora il calcolo è dall'indice 30 all'indice 3 rispettivamente, incluso.

Se sulla barra corrente viene passato l'attributo richiesto, aggiungiamo 1 al contatore, se viene passato un altro attributo richiesto, aggiungiamo 1 al contatore. E così via, finché non troviamo una barra che non soddisfa l'attributo richiesto. Se la barra non soddisfa l'attributo richiesto, il contatore di reset, e quindi analizzare la situazione, cioè effettuare ulteriori calcoli, il ciclo, fino a quando si arriva alla barra con un indice di 3. Semplicemente tutto.

Spero di essermi spiegato chiaramente.

 
hoz:

int signal = GetGeneralSignal();


potete sostituirlo con

   if(GetMa(2)-GetMa(1)<σ) return; else int cross=MathAbs(GetMA(2)-GetMA(1))/(GetMA(2)-GetMA(1));
   for (int i=i_AnyBarsToHistory; i>=1; i--){
                if(cross*(Close[i] - Open[i]) >= i_sizeOfSequentialCorrectionBar * pt) cnt++; else cnt=0;
   }
   if(cnt >= i_sequentBarsСount){
                switch(cross+1){
                        case 0: OpenBuy(); break;
                        case 2: OpenSell(); break;
                }
   }

Controlla se cross=+1 o -1 corrisponde a OpenBuy() o OpenSell() (e close-open o open-close). σ Abbiamo qui assegnato un qualche valore infinitesimale, analogo a zero.

tommy27:

Aiuto, non riesco a capire come fare un indicatore che confronti il numero delle ultime barre e calcoli quante di queste erano in rialzo, quante erano in ribasso e quante erano pinbar e chi aveva quali prezzi di chiusura/apertura, alto/basso e volumi?

Dobbiamo farlo esattamente nell'indicatore.


Impostare CountedBars su una certa finestra di candele (ad esempio 30), e scorrere ciclicamente CountedBars con decremento. Su o giù, rialzista o ribassista, guarda la differenza di due Close[] adiacenti. Pinbar guarda il massimo o il minimo locale, e la deviazione di questo massimo o minimo dai valori adiacenti. Se la deviazione supera una certa percentuale che avete specificato, si tratta di un pinbar.

 
Buon pomeriggio. Potete dirmi come determinare l'incrocio di 38,2 su un oggetto arco di Fibonacci?
 

Salve,

Buone feste a tutti!

Ho un terminale di trading OEC che ha bisogno di un semplice indicatore di spread

Forse qualcuno può scrivere, o almeno aiutarmi con qualcosa

Appare così su mt4

File:
 
ADGgeek:

Salve,

Buone feste a tutti!

Ho un terminale di trading OEC che ha bisogno di un semplice indicatore di spread

Forse qualcuno può scrivere, o almeno aiutarmi con qualcosa

Appare così su mt4


Posso consigliarti di chiedere su Spider. Infatti, posso solo citare:

GaryKa:
Aggiungete una descrizione della punteggiatura, e una definizione dei vostri concetti (per esempio "il vostro numero") equi. E in questo ramo aiutare solo coloro che hanno le proprie mani (e poi in vena)

Questo vale per tutti. Non so come usarlo, ma sono sicuro che funzionerà.

 

Questo è quello che stavo cercando, grazie Garyka! Buone vacanze passate e future!

 

Buone feste a tutti!

Potete dirmi cosa significa il terminale quando dice uninit reason 5 nella scheda "esperti"?

Grazie.

 
CYBOPOB:

Buone feste a tutti!

Potete dirmi cosa significa il terminale quando dice uninit reason 5 nella scheda "esperti"?

Grazie.


https://docs.mql4.com/ru/constants/uninit
 
hoz:

Semplicissimo.


Per quanto ho capito confrontando la tua descrizione con il tuo codice, essi divergono, perché nel tuo codice l'uscita anticipata dal ciclo avviene quandoi_seqentBarsCont:

hoz:

for (int i=i_AnyBarsToHistory; i>=1; i--)
   {
      if (directionMA == CROSS_UP)
      {
         if ((Open[i] - Close[i]) >= i_sizeOfSequentialCorrectionBar * pt)
             cntDn++;
         if ((Close[i] - Open[i]) >= i_sizeOfTrandBar * pt)
             cntDn = 0;
                                                                                        
         if (i == 1)
            Print(" directionMA ", directionMA, "; i = ", i, "; Open[i] - Close[i] = ", Open[i] - Close[i], "; cntDn = ", cntDn);

         if (cntDn == i_sequentBarsСount)            //<--
             return (REQUIRED_SEQUENTIAL_BEARS_GOT); //<--
      }

      if (directionMA == CROSS_DN)
      {
         if ((Close[i] - Open[i]) >= i_sizeOfSequentialCorrectionBar * pt)
             cntUp++;
         if ((Open[i] - Close[i]) >= i_sizeOfTrandBar * pt)
             cntUp = 0;
         if (i == 1)
            Print(" directionMA ", directionMA, "; i = ", i, "; Close[i] - Open[i] = ", Close[i] - Open[i], "; cntUp = ", cntUp);

         if (cntUp == i_sequentBarsСount)            //<--
             return (REQUIRED_SEQUENTIAL_BULLS_GOT); //<--
   }
hoz:

Se il ciclo è da 30 a 3, allora il calcolo va dall'indice 30 all'indice 3, rispettivamente, compreso.

Se la barra non corrisponde all'indice richiesto, allora si azzera il contatore, e poi si analizza la situazione, cioè si continua a calcolare per il ciclo, fino a raggiungere la barra con indice 3.

 
gyfto:


Per quanto ho capito confrontando la tua descrizione con il tuo codice, c'è una discrepanza, perché nel tuo codice c'è un 'uscita anticipata dal ciclo quandoi_seqentBarstCont:



Capisco che probabilmente avete bisogno di avere un contatore, che sarà incrementato dopo ogni barra calcolata e quando il suo valore è uguale a i_AnyBarsToHistory, allora emetterà ciò che è stato emesso fino a questo punto.

Getto fuori quello che penso e scriverò di nuovo.