Tutte le domande dei nuovi arrivati su MQL4 e MQL5, aiuto e discussione su algoritmi e codici - pagina 1473
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
Ho dato un frattale come esempio. E come si definisce il minimo (nel vostro caso) è un segreto militare... o un completo fraintendimento di ciò che viene chiesto.
Il mio codice è composto da diverse stringhe e si può vedere a occhio nudo come viene definito il minimo
Il minimo è definito nelle linee gialle
non è necessario contare le barre
Dopo l'apertura dell'ordine, assegna alla variabile il valore Low[0] (minimo della barra corrente), poi dopo la chiusura della barra, se il valore Low[1] è inferiore alla variabile, assegna un nuovo valore ad essa,
in caso contrario, viene mantenuto il vecchio valore, cioè il minimo.
Questo algoritmo l'ho capito da tempo e l'ho usato.... cioè controllare i minimi non sul tick, ma sulla candela. Ma penso che ci sia un algoritmo molto più economico, cioè quello che ho descritto la volta scorsa, quando si controllano i minimi non prima, ma dopo. Ma non so come contare rapidamente ed economicamente il numero di candele da BIDA alla cinquantesima candela. Sì alla cinquantesima candela so contare il numero di candele. Come contare il numero di candele fino alla candela con il LOU più basso. Cioè, da BIDA a questa candela
Il mio codice consiste di diverse linee e mostra come il minimo è definito a occhio nudo
Il minimo è definito nelle linee gialle.
Allora, qual è il problema? Ciò che conta qui è come viene dichiarata la variabile LoU. Se è a livello globale, bene. Se è una variabile locale, deve essere statica. E controllando ad ogni tick la differenza del prezzo corrente con il prezzo in questa variabile, il costo in microsecondi sarà così insignificante che non ha senso parlarne.
Questo è un algoritmo che ho capito da tempo e usato.... cioè controllare i minimi non sul tick, ma sulla candela. Ma penso che ci sia un algoritmo molto più economico, cioè quello che ho descritto la volta scorsa, quando non si controlla prima del minimo, ma dopo che appare. Ma non so come contare rapidamente ed economicamente il numero di candele da BIDA alla cinquantesima candela. Sì alla cinquantesima candela so contare il numero di candele. Come contare il numero di candele fino alla candela con il LOU più basso. Cioè, da BIDA a questa candela.
C'è una logica anomala in questo... Perché contare circa 50 barre? E se non sono 50?
Questo è un algoritmo che ho capito da tempo e usato.... cioè controllare i minimi non sul tick, ma sulla candela. Ma penso che ci sia un algoritmo molto più economico, cioè quello che ho descritto la volta scorsa, quando non si controlla prima del minimo, ma dopo che appare. Ma non so come contare rapidamente ed economicamente il numero di candele da BIDA alla cinquantesima candela.
Qualunque cosa pensiate, il controllo sarà eseguito ad ogni tick - questa è una caratteristica della funzione OnTick().
Qualunque sia il controllo che si fa, sarà comunque fatto ad ogni tick - questa è una caratteristica della funzione OnTick().
Una cosa è controllare e un'altra è trovare il minimo...
Allora qual è il problema? La cosa principale qui è come viene dichiarata la variabile LoU. Se è a livello globale, va bene. Se è una variabile locale, deve essere statica. E controllando ad ogni tick la differenza del prezzo corrente con il prezzo in questa variabile sarà così insignificante che non ha senso parlarne.
Grazie per le nuove e preziose informazioni per me..... non lo sapevo.
C'è una logica anomala in questo... Perché contare tutte le 50 barre? E se non sono 50?
50 è per il caso astratto. Può essere 20 o 150 o 3 o 1. Quello che si intende è come sapere quante barre ci sono tra il BIDE attuale e il minimo locale .... nel caso in cui ci siano 30 punti tra questo BIDE e il minimo locale necessario per aprire l'ordine. Aprireun ordine se ( Bid - Low[ 50] >= 30 pips)- aprire un ordine.
Qualunque sia il controllo che si fa, sarà comunque fatto ad ogni tick - questa è una caratteristica della funzione OnTick().
Grazie. Se sapessi che .... forse non mi sarei preoccupato così tanto.
Quindi, se controllo LOW non ad ogni tick, ma ad ogni candela, il programma passerà comunque del tempo per l'elaborazione di ogni tick, e avrà lo stesso aspetto come se fosse controllato ad ogni tick.
Non c'è modo di evitare questa caratteristica nel vostro codice? Dovrebbe essere eseguito non su ogni tick, ma per esempio su ogni LOU di una candela al minuto.
Grazie. Se sapessi che .... Forse non mi sarei preoccupato così tanto.
Quindi, se controllo LOW non ad ogni tick, ma ad ogni candela, il programma spenderà ancora tempo per elaborare ogni tick, e il risultato sarà lo stesso come se lo avessi controllato ad ogni tick?
Non c'è modo di evitare questa caratteristica nel vostro codice? Dovrebbe essere eseguito non su ogni tick, ma per esempio su ogni LOU di una candela al minuto.
vuoto()