Domande dai principianti MQL4 MT4 MetaTrader 4 - pagina 195
Ti stai perdendo delle opportunità di trading:
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Registrazione
Accedi
Accetti la politica del sito e le condizioni d’uso
Se non hai un account, registrati
Trova il punto in cui il prezzo incrocia la MA verso l'alto. Questo sarà l'inizio dell'intervallo di ricerca.
Trova il punto in cui il prezzo ha attraversato la MA verso il basso. Questo sarebbe l'intervallo di arresto.
Prendete iHighest() solo in questo intervallo.
E come implementare la ricerca dei punti MA, in modo da cercare solo 2 punti estremi e non all'infinito. Lo capisco anche io, ma se non è difficile come implementarlo nel codice.
Un modo: creare una variabile a livello globale del programma EA (dichiarare una variabile nell'intestazione EA) - in questa variabile scrivere il tempo di apertura della barra in cui è stato fatto l'ultimo incrocio. Questo aiuterà ad usare la terza forma di chiamata diCopyBuffer:
Il riferimento delle date di inizio e fine dell'intervallo di tempo richiesto
Qui start_time è solo il tempo della nostra variabile, e stop_time è il tempo dell'ultima citazione conosciuta del server.
E come implementare la ricerca dei punti della MA, in modo che cerchi solo 2 esterni, e non all'infinito. A parole lo capisco anche io, ma se non è difficile come implementarlo nel codice.
Dovete passare attraverso il ciclo finché non trovate una mossa lontana dal MA.
Un punto, questa sezione evidenziata dal rettangolo giallo, interromperà il ciclo prima che raggiunga il secondo incrocio prezzo-MA. Il massimo si troverà al primo incrocio a destra
P.S. Qual è la differenza tra le 2 aree evidenziate?
P.S. Qual è la differenza tra le 2 aree evidenziate?
Possono essere diversi - cioè il primo punto può essere più alto o più basso del secondo punto.
Questo è solo un esempio. Ma non significa che saranno sempre identici.
Chi può lanciare esempi di codice con condizioni simili..:
Valore corrente di MA> 0 bar.
Cercandonumero di barra, prezzo<MA, trovato numero 1 barra, scrivere il valore nel buffer 2
Cercando ilprossimo numero Prezzo>MA ha trovato la barra numero 2, scrive il valore nel buffer 1.
Fermare la ricerca.
Poi tra i valori del buffer 1 e 2 cerca il prezzo più basso Low.
Se valore corrente MA < 0 bar
Cercando il numero di barra, Price>MA, trovato il numero di 1 barra, scrivere il valore nel buffer 2
Cercando ilprossimo numero Prezzo<MA ha trovato la barra numero 2, scrive il valore nel buffer 1.
Fermare la ricerca.
Poi tra i valori del buffer 1 e 2 cerchiamo il prezzo più alto High.
Possono essere diversi - il primo punto può essere più alto o più basso del secondo punto.
È solo un esempio. Ma non significa che saranno sempre gli stessi.
Chi può lanciare esempi di codice con condizioni simili..:
Il valore attuale MA> 0 bar
Stiamo cercando la barra numero Price<MA, abbiamo trovato la barra numero 1 e scriviamo il valore nel buffer 2
Cercando ilprossimo numero Prezzo>MA ha trovato la barra numero 2, scrive il valore nel buffer 1.
Fermare la ricerca.
Poi tra i valori del buffer 1 e 2 cerca il prezzo più basso Low.
Se valore corrente MA < 0 bar
Cercando il numero di barra, Price>MA, trovato il numero di 1 barra, scrivere il valore nel buffer 2
Cercando ilprossimo numero Prezzo<MA ha trovato la barra numero 2, scrive il valore nel buffer 1.
Fermare la ricerca.
Poi tra i valori del buffer 1 e 2 cerchiamo il prezzo più alto High.
Se seguiamo l'immagine, dobbiamo iniziare un ciclo e cercare fino a quando la condizione MA<Valore viene trovata.
Una volta trovato questo, riempiamo l'array con i prezzi alti. Eseguiamo il ciclo fino a quando la condizione MA>Price viene trovata, non appena troviamo questo posto - interrompiamo il ciclo.
E nella matrice stiamo cercando i prezzi di picco
Se si segue l'immagine, si dovrebbe eseguire un ciclo e cercare fino a quando la condizione MA<Valore viene trovata.
Una volta trovato questo, riempiamo l'array con i prezzi alti. Eseguiamo il ciclo fino a quando la condizione MA>Price viene trovata, non appena troviamo questo posto - interrompiamo il ciclo.
Poi cerchiamo i prezzi di picco nell'array.
Hai ragione e l'ho anche scritto allo stesso modo, ma come implementarlo nel codice, puoi almeno darci un esempio di codice di questo:
avviare un ciclo e fare una ricerca fino a quando viene trovata la condizione MA<Prezzo.
Non appena questa condizione viene trovata,riempiamo l'array con i prezzi High
È giusto ed è così che l'ho scritto, ma come implementarlo nel codice puoi almeno dare un esempio di codice di questo:
eseguire un ciclo e fare una ricerca fino a trovare la condizione MA<Prezzo.
Non appena questa condizione viene trovata,riempiamo l'array con i prezzi High
Non posso scrivere il codice ora, forse qualcun altro lo scriverà, è semplice
Questo è ciò che è necessario, qualcuno può aiutare con questo codice.
Poi trova il prossimo valore dove iLow>ma e restituisce il numero di barra No_2 .
Fermate la ricerca e usate la funzione iHighest per trovare il vertice tra queste barre
int val_index=iHighest(NULL,0,MODE_HIGH,No_2,No_1);
Questo non è codice MQL5.
Questo non è codice MQL5.
Questo è un layout, non c'è differenza tra 4 e 5
:)