Tutte le domande dei nuovi arrivati su MQL4 e MQL5, aiuto e discussione su algoritmi e codici - pagina 378
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
Qualcuno può gentilmente dirmi come scrivere la seguente cosa.
Ho fatto un indicatore di allenamento, che conta iVolume per ogni tick: iVolume è positivo per quelli che si sono mossi verso l'alto, e iVolume è negativo per quelli che si sono mossi verso il basso. Per fare una curva, tutti gli iVolume (positivi e negativi) aggiungo un totale crescente da barra a barra. Si ottiene una curva. Tuttavia, ho incontrato due problemi:
1) la linea risulta molto rotta;
2) è impossibile testare l'Expert Advisor, perché il grafico iVolume ottenuto ha solo una vita reale.
Domanda:
1) come descrivere il codice che permette di costruire un grafico basato su dati mediati che scrivo nel buffer?
2) È possibile scrivere i dati di questo indicatore (che si riceve in modalità reale) in un certo file, in modo che in seguito, facendo riferimento a questo file, si possa costruire l'indicatore sui dati storici, applicando ad essi i volumi di tick già raccolti? Se possibile, come descriverlo programmaticamente? O c'è un'altra soluzione che non richiede la scrittura delle informazioni correnti di iVolume in un file?
Forse aggiungere alla fine del codice:
double macurrent=iMAOnArray(Buf_1[0],0,5,0,0,MODE_LWMA,0);
Eh, no! Il compilatore genera l'errore dicendo che non c'è una matrice.
Anyone....., puoi aiutarmi? Il mio punto morto per me è esposto qui:https://www.mql5.com/ru/forum/160683/page378#comment_6053255
Indicatore basato sui dati del file - ha inserito questa linea nella ricerca e ha trovato
Una specie di incubo, non capisco perché dà fuori così:
Codice sezione :
line[0]=MathFloor(Low[1]*MathPow(10,D-1));
Print("Var ",DoubleToStr(line[0],D));
Print("Code ",DoubleToStr(MathFloor(Low[1]*MathPow(10,D-1)),D));
Output :
EURUSD,M15: Var 0.00000
EURUSD,M15: Codice 11754.00000
Cosa succede al valore dopo l'assegnazione?
line[0]=MathFloor(Low[1]*MathPow(10,D-1));
Print("Var ",DoubleToStr(line[0],D));
Print("Code ",DoubleToStr(MathFloor(Low[1]*MathPow(10,D-1)),D));
Print :
EURUSD,M15: Var 0.00000
EURUSD,M15: Codice 11754.00000
Cosa succede al valore dopo l'assegnazione?
Stampa il valore delle variabili dopo l'assegnazione e il valore della variabile D. Usa la tua calcolatrice per fare i conti.
Ciao a tutti. Gente, potreste darci un piccolo aiuto? Qualcuno potrebbe per favore impostare una linea nell'indicatore dove è possibile specificare il nome del file audio, in modo che la linea venga visualizzata nelle impostazioni dell'indicatore.
Stampa i valori delle variabili dopo l'assegnazione e il valore della variabile D. Calcoliamolo con una calcolatrice...
Quindi stampo il valore della variabile dopo l'assegnazione. Quindi il codice è fondamentalmente il seguente:
a=b;
Stampa (a);
Stampa (b);
Ma a è uguale a zero e b è stampato correttamente
Questo è il modo in cui ho emesso il valore che è stato assegnato. Quindi il codice è essenzialmente il seguente:
a=b;
Stampa (a);
Stampa (b);
Ma a è uguale a zero mentre b è stampato correttamente
Non vedo lo zero, avete fatto un errore da qualche parte