Domande dai principianti MQL5 MT5 MetaTrader 5 - pagina 1131
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
Artyom, non hai notato che il tipo è DRAW_COLOR_HISTOGRAM2 e ha due buffer di dati e un terzo buffer di colore.
Sì, proprio così. Non ha prestato attenzione.
Sì, proprio così.
In generale, sì. Il primo buffer è usato per i calcoli, DRAW_COLOR_HISTOGRAM2 è disegnato usando due coordinate/buffer + ne serve un altro per il colore.
Perché questa linea è commentata
Dovrebbe includere altri colori, però. O almeno uno, ma la dichiarazione dovrebbe essere.Io uso o
#property indicator_color2 GreenC,RedC
o
PlotIndexSetInteger(1,PLOT_LINE_COLOR,0,GreenC);
PlotIndexSetInteger(1,PLOT_LINE_COLOR,1,RedC);
Cioè, è una cosa, e ho supposto che siano intercambiabili come in MQL4, cioè l'assenza di direttiva del preprocessore per l'impostazione del colore è sostituita da PlotIndexSetInteger(). Non è così in MQL5?
In generale, sì. Il primo buffer è usato per i calcoli, DRAW_COLOR_HISTOGRAM2 è disegnato usando due coordinate/buffer + ne serve un altro per il colore.
Io uso o
#property indicator_color2 GreenC,RedC
o
PlotIndexSetInteger(1,PLOT_LINE_COLOR,0,GreenC);
PlotIndexSetInteger(1,PLOT_LINE_COLOR,1,RedC);
Cioè, è una cosa, e ho supposto che siano intercambiabili come in MQL4, cioè l'assenza di direttiva del preprocessore per l'impostazione del colore è sostituita da PlotIndexSetInteger(). Non è così in MQL5?
Beh, stai dando frammenti di documentazione. Perché non li studiate a fondo? La direttiva è presente nell'esempio indipendentemente da PlotIndexSetInteger.
Bene, lei dà degli estratti della documentazione. Perché non lo studiate a fondo? La direttiva è presente nell'esempio indipendentemente da PlotIndexSetInteger.
Sì, ho studiato la documentazione e la direttiva è presente nell'esempio, ma mi dispiace, non ho visto nessun paragrafo in esso che dice che la direttiva deve essere presente, quindi abitualmente escludo la direttiva come in MQL4.
La documentazione dice anche che si possono usare fino a 64 colori per la tracciatura. Ma non ho trovato un modo per assegnare il numero di tali palette senza elencare monotonamente ogni colore dopo la direttiva.
Tuttavia, la questione è risolta.
Sì, ho studiato la documentazione, la direttiva è presente nell'esempio, ma mi dispiace, non ho notato un paragrafo che dichiara che la direttiva deve essere presente, quindi per abitudine escludo la direttiva come in MQL4.
La documentazione dice anche che si possono usare fino a 64 colori per la tracciatura. Ma non ho trovato un modo per impostare il numero di tali palette senza una monotona enumerazione di ogni colore dopo la direttiva.
Tuttavia, ho finito con la domanda.
E questo
non può essere cambiato nel ciclo? Non lo conosco affatto e quindi non lo so.
Dopo tutto, una matrice di colori può anche essere riempita nel ciclo da un'altra matrice. Nell'esempio, c'è un array color colors = {}; dove sono elencati i colori. E poi questa matrice "di servizio" viene riempita con PlotIndexSetInteger(1,PLOT_LINE_COLOR, index_in_array, colour);
Scarico le quotazioni da diversi luoghi e spesso vedo lacune di 1-2 barre, i dati non sono lì
Come si possono riempire con una perdita minima di informazioni? Ci sono degli algoritmi?
Sono sicuro che Metatrader lo fa
Scarico le quotazioni da diversi luoghi e spesso vedo lacune di 1-2 barre, i dati semplicemente non sono lì
Come si possono riempire con una perdita minima di informazioni? Ci sono algoritmi?
Sono sicuro che Metatrader lo fa.
MetaTrader non riempie i buchi - se c'è una barra, sarà disegnata, se non c'è una barra, sarà saltata.
Ecco l'esaminatore di prova - tutto funziona correttamente:
e il risultato:
Grazie per la risposta dettagliata. Si è scoperto che l'errore si osserva solo quando si testa l'Expert Advisor sulla storia, se lo collego a dati reali- tutto è OK.
Se esegui il tuo esperto sotto debug su dati storici, calcola in modo errato:
2019.10.08 02:10:14.425 2019.01.01 00:00:00 Volume 1.0, profitto -> -50.00
2019.10.08 02:10:16.226 2019.01.01 00:00:00 Volume 0,5, profitto -> -50,00
Grazie per la risposta dettagliata. Si è scoperto che l'errore si osserva solo quando si testa l'Expert Advisor sulla storia, se è collegato a dati reali - tutto è OK.
Se esegui il tuo esperto sotto debug su dati storici, calcola in modo errato:
2019.10.08 02:10:14.425 2019.01.01 00:00:00 Volume 1.0, profitto -> -50.00
2019.10.08 02:10:16.226 2019.01.01 00:00:00 Volume 0,5, profitto -> -50,00
Si prega di fornire informazioni complete: codice completo, simbolo, timeframe, quante posizioni e su quali simboli sono aperte - in generale per essere in grado di riprodurre la situazione.
Buon pomeriggio!
Puoi dirmi come scoprire quale esperto è in base all'ID
ID 11032019, non riesci a capire dove trovarlo?