[ARCHIVIO] Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Da nessuna parte senza di te - 3. - pagina 173
![MQL5 - Linguaggio delle strategie di trading integrato nel client terminal MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
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
Puoi dirmi cosa significa l'errore durante la compilazione dell'EA?
\fine del programma" - parentesi sinistra sbilanciata
Parentesi sinistra sbilanciata.
Staffa sinistra sbilanciata.
Ops... Trovato. GRAZIE.
Ecco una domanda.
Gli ordini sono aperti come BUY/SELL STOP. Alcuni diventano ordini di mercato, altri vengono cancellati.
Per gli ultimi N ordini di mercato (aperti e chiusi) abbiamo bisogno di sapere se erano Buy o Sell.
Il mio primo pensiero è di cercare tutti gli ordini da OrdersHistoryTotal() e OrdersTotal(), ordinarli per
e poi ordinarli per OP_BUY e OP_SELL. Ma questo è lungo e rallenterà selvaggiamente il processore.
- Forse c'è qualche altra variante più semplice?
Grazie!
Buon pomeriggio.
Qualcuno può aiutare?
Ho scritto il mio primo indicatore semplice, dovrebbe calcolare la volatilità media degli ultimi 2,3,4 e 5 giorni.
L'indicatore ha sei buffer,
Nella sua finestra sul grafico disegna normalmente solo cinque linee verticali di volatilità per 0 giorni, 1 giorno, media per 2 giorni, 3 giorni e 4 giorni.
La volatilità media secondo la somma dei 5 giorni precedenti è disegnata come una linea spezzata per 50 candele giornaliere - questo è il numero di candele specificato.
Il contenuto dei buffer è calcolato come segue: media per 5 giorni - nel ciclo (per disegnare una linea per 50 giorni), altri dati mediati - fuori dal ciclo.
La linea Coment nell'indicatore, in cui si inserisce il contenuto dei buffer, dà un'assurdità sullo schermo:
Media per 5 giorni - nessuna volatilità maggiore di 194 pip per quei giorni e risultati corretti per gli altri giorni.
Coment = " Volatilità. Per 5 giorni = 219.000000 Per 4 giorni = 171.0000000 Per 3 giorni = 189.00000 Per 2 giorni = 187.00000 Ieri = 194.00000 Oggi = 5 "
Zero-day "Oggi" aumenta chiaramente con la volatilità del giorno corrente
Quando si chiamano questi buffer all'Expert Advisor
la linea di stampa del tester produce un'altra assurdità - non corretta, diversa dalla linea Coment, ma simile alla verità, il risultato medio per 5 giorni e la volatilità corretta del "Giorno Zero" di oggi.
Il resto dà un numero fisso assurdo.
La stampa del tester mostra la volatilità in 5 giorni=181 In 4 giorni= 2147483647 In 3 giorni= 2147483647 In 2 giorni= 2147483647 Ieri= 2147483647 Oggi= 5
Da diversi giorni non riesco a capire perché all'Expert Advisor vengono chiamati dati diversi da quelli contenuti nei buffer dei cinque indicatori, tranne il buffer "Day Zero"?
Prova a sostituire
VolatBuffer1[1]=D1_av;
a
VolatBuffer1[0]=D1_av;
e anche tutti gli altri buffer.
Prova a sostituire
VolatBuffer1[1]=D1_av;
a
VolatBuffer1[0]=D1_av;
e anche tutti gli altri buffer.
Grazie!
Ha funzionato. L'Expert Advisor ha iniziato a ricevere dati normali.
Inoltre, c'è un effetto interessante - nella linea "Coment" dell'indicatore
solo 219 per 5 giorni rimarrà come era.
Allo stesso tempo l'Expert Advisor riceve 181 invece di 219 come dovrebbe essere.
Coment''mostra Volatilità su 5 giorni= 219.000000 Su 4 giorni= 2147483647 Su 3 giorni= 2147483647 Su 2 giorni= 2147483647 Ieri= 2147483647 Oggi= 5
Prova a sostituire
VolatBuffer1[1]=D1_av;
a
VolatBuffer1[0]=D1_av;
e anche tutti gli altri buffer.
Ho trovato un altro effetto. Tutte le linee verticali nella finestra dell'indicatore sono disegnate una sull'altra
Il valore più grande copre tutti gli altri. Non è essenziale per l'Expert Advisor.
Buon pomeriggio.
Qualcuno può aiutare?
Ho scritto il mio primo indicatore semplice - dovrebbe contare la volatilità media degli ultimi 2,3,4 e 5 giorni.
Potete semplificare notevolmente le cose usando ATR:
Due sceneggiature:
La domanda non è più come scrivere il codice, ma a livello di un'idea - è possibile evitare i cicli multipli,
che mette molto carico sul processore. Per esempio, c'è stata l'idea di tracciare il numero di ordini STOP aperti - se è diminuito di uno, ma l'ordine non è stato cancellato => aprire un ordine a mercato =>
il suo tempo di apertura e il suo tipo dovrebbero essere messi in un array. Qualcosa del genere.
Qualsiasi idea è benvenuta.
Grazie!
Potete semplificare notevolmente le cose usando ATR: