Discussione sull’articolo "Tracciare linee di tendenza basate su frattali utilizzando MQL4 e MQL5"
Pomeriggio. Critica. Un giorno non è sempre un numero fisso di candele. Nel tuo caso - non è sempre corretto controllare i dati di 96 candele per M15. A volte è possibile entrare nei dati di un altro giorno.
Grazie per il commento, in realtà non mi sono mai imbattuto in questo problema poiché ho rinunciato alla TL giornaliera a favore del trading intraday (guardo a 4 ore, ora e m15). Ma in generale, dovremo esaminare più da vicino la situazione.
Questo vale per qualsiasi TF, non necessariamente M15. Il punto è che se si cercano top/roots all'interno di un giorno, ad esempio il giorno precedente, non ci si deve basare su un numero fisso di candele, è meglio basarsi sul tempo: dall'apertura del giorno precedente, in questo caso, all'apertura (la prima candela, che può avere un orario diverso dalle 00.00) del giorno corrente.
Proprio ora sto scrivendo un EA su mql4 e mi sono ricordato della tua critica. Anche se non ho riscontrato questa situazione nella pratica, ho deciso di escluderla. La soluzione è la seguente:
//1.2 Determinare la barra successiva all'estremo int UpperFractal_1_base_next=UpperFractal_1_base-1; int UpperFractal_2_base_next=UpperFractal_2_base-1; int LowerFractal_1_base_next=LowerFractal_1_base-1; int LowerFractal_2_base_next=LowerFractal_2_base-1; //1.3 Determinare il tempo di formazione del frattale datetime UpFractalTime_1_base=iTime(NULL,base_tf,UpperFractal_1_base); datetime UpFractalTime_2_base=iTime(NULL,base_tf,UpperFractal_2_base); datetime LowFractalTime_1_base=iTime(NULL,base_tf,LowerFractal_1_base); datetime LowFractalTime_2_base=iTime(NULL,base_tf,LowerFractal_2_base); //1.4 Determinare il tempo della barra successiva all'estremo datetime UpFractalTime_1_base_next=iTime(NULL,base_tf,UpperFractal_1_base_next); datetime UpFractalTime_2_base_next=iTime(NULL,base_tf,UpperFractal_2_base_next); datetime LowFractalTime_1_base_next=iTime(NULL,base_tf,LowerFractal_1_base_next); datetime LowFractalTime_2_base_next=iTime(NULL,base_tf,LowerFractal_2_base_next); //1.5 Determinare gli indici di barra su m15 per il tempo di apertura della barra frattale int UpperFractal_1_m15_base=iBarShift(NULL, 15, UpFractalTime_1_base,true); int UpperFractal_2_m15_base=iBarShift(NULL, 15, UpFractalTime_2_base,true); int LowerFractal_1_m15_base=iBarShift(NULL, 15, LowFractalTime_1_base,true); int LowerFractal_2_m15_base=iBarShift(NULL, 15, LowFractalTime_2_base,true); //1.6 Determinare gli indici di barra su m15 per la barra successiva all'estremo int UpperFractal_1_m15_base_next=iBarShift(NULL, 15, UpFractalTime_1_base_next,true); int UpperFractal_2_m15_base_next=iBarShift(NULL, 15, UpFractalTime_2_base_next,true); int LowerFractal_1_m15_base_next=iBarShift(NULL, 15, LowFractalTime_1_base_next,true); int LowerFractal_2_m15_base_next=iBarShift(NULL, 15, LowFractalTime_2_base_next,true); //1.7 Trovare il numero di barre su m15 tra la barra - frattale e la barra successiva int UpperFractal_1_m15_NumBars_base=(UpperFractal_1_m15_base-UpperFractal_1_m15_base_next); int UpperFractal_2_m15_NumBars_base=(UpperFractal_2_m15_base-UpperFractal_2_m15_base_next); int LowerFractal_1_m15_NumBars_base=(LowerFractal_1_m15_base-LowerFractal_1_m15_base_next); int LowerFractal_2_m15_NumBars_base=(LowerFractal_2_m15_base-LowerFractal_2_m15_base_next); // --- Fase 2 - - perfezionamento degli estremi //2.1 Per il primo frattale più piccolo int Bar_1_Lowest_m15_base=iLowest(NULL,PERIOD_M15,MODE_LOW,LowerFractal_1_m15_NumBars_base,LowerFractal_1_m15_base_next); datetime Time_1_Lowest_m15_base=iTime(NULL,PERIOD_M15,Bar_1_Lowest_m15_base); double Price_1_Lowest_m15_base=iLow(NULL,PERIOD_M15,Bar_1_Lowest_m15_base); //2.2 Per il secondo frattale più piccolo int Bar_2_Lowest_m15_base=iLowest(NULL,PERIOD_M15,MODE_LOW,LowerFractal_2_m15_NumBars_base,LowerFractal_2_m15_base_next); datetime Time_2_Lowest_m15_base=iTime(NULL,PERIOD_M15,Bar_2_Lowest_m15_base); double Price_2_Lowest_m15_base=iLow(NULL,PERIOD_M15,Bar_2_Lowest_m15_base); //2.3 Per il primo frattale più grande int Bar_1_Highest_m15_base=iHighest(NULL,PERIOD_M15,MODE_HIGH,UpperFractal_1_m15_NumBars_base,UpperFractal_1_m15_base_next); datetime Time_1_Highest_m15_base=iTime(NULL,PERIOD_M15,Bar_1_Highest_m15_base); double Price_1_Highest_m15_base=iHigh(NULL,PERIOD_M15,Bar_1_Highest_m15_base); //2.4 Per il secondo frattale più grande int Bar_2_Highest_m15_base=iHighest(NULL,PERIOD_M15,MODE_HIGH,UpperFractal_2_m15_NumBars_base,UpperFractal_2_m15_base_next); datetime Time_2_Highest_m15_base=iTime(NULL,PERIOD_M15,Bar_2_Highest_m15_base); double Price_2_Highest_m15_base=iHigh(NULL,PERIOD_M15,Bar_2_Highest_m15_base);
Anche se non ho riscontrato questa situazione nella pratica, ho deciso comunque di escluderla.
Oggi, ad esempio, sulla coppia GBPUSD/EURUSD M5 la prima candela si è aperta alle ore 00:05. Se prendiamo 288 candele per analogia con M15, entreremo nei dati di un altro giorno.
È vero, questo è per MT5... su MT4 (server MetaQuotes-Demo) - inoltre, presso un altro broker a partire dalle 00:00, quindi... tutto è individuale e bisogna ancora verificarlo.
È stato pubblicato il nuovo articolo Tracciare linee di tendenza basate su frattali utilizzando MQL4 e MQL5:
Autore: Almat Kaldybay
Ciao,
Non ottengo la linea di tendenza come illustrata sopra.
Qualche impostazione speciale?
Ciao,
Non ottengo la trendline come illustrato sopra.
Qualche impostazione particolare?
Ciao Almat,
Non ricevo le linee di tendenza nel grafico, ma ricevo continui avvisi dal cellulare. Ti prego di aiutarmi se mi sfugge qualcosa.
Grazie,
Prakash.R
Ciao,
1. È necessario compilare il file mq4 nel metaeditor;
2. Penso che tu abbia delle linee di tendenza nel grafico, ma non le vedi a causa della scala del grafico.

- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Accetti la politica del sito e le condizioni d’uso
Il nuovo articolo Tracciare linee di tendenza basate su frattali utilizzando MQL4 e MQL5 è stato pubblicato:
L'articolo descrive l'automazione del tracciamento delle linee di tendenza in base all'indicatore Fractals utilizzando MQL4 e MQL5. La struttura dell'articolo fornisce una vista comparativa della soluzione per due lingue. Le linee di tendenza vengono tracciate utilizzando gli ultimi due frattali conosciuti.
Il modo più semplice: identificare una svolta, attendere un pullback ed entrare nel mercato dopo di esso.
Idealmente, dovresti ottenere qualcosa del genere:
Fig. 3. Svolta della linea di tendenza
Autore: Almat Kaldybay