Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Da nessuna parte senza di te - 6. - pagina 858
![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
Buon pomeriggio.
L'indicatore nella finestra mostra fino a 5 cifre decimali.
Quando lo si usa in un Expert Advisor attraverso iCustom(Symbol(), PERIOD_M1, "MACD",12, 26, SignalSMA, 0, 0) mostra fino a 4 cifre decimali (impostate dal comando Print).
Come faccio ad avere 5 cifre nella scheda?
Stampate usando la funzione DoubleToString e otterrete le 5 cifre che volete. Se vuoi, puoi anche prenderne 8.
In altre parole, i calcoli dell'indicatore nell'Expert Advisor sono eseguiti con 5 cifre decimali e Print taglierà il risultato a 4 cifre decimali quando viene visualizzato nel Journal?
Il risultato del calcolo può avere fino a 16 cifre decimali se non è normalizzato:
L'output del calcolo direttamente tramite Print non viene tagliato. C'è qualcos'altro nel codice, la normalizzazione, per esempio.
Questo è il punto, non c'è altro (normalizzazioni, ecc.):
double g_macd=iCustom(Symbol(), PERIOD_M1, "g_MACD",12, 26, SignalSMA, 1, 0);
Stampa ("g_macd=",g_macd);
g_MACD ha un valore (del 1° buffer) nell'indicatore al 5° decimale, mentre Print nel log mostra un valore al 4° decimale, che non è accettabile.
Come risolvere questo problema?
Questo è il punto, non c'è altro (normalizzazioni, ecc.):
double g_macd=iCustom(Symbol(), PERIOD_M1, "g_MACD",12, 26, SignalSMA, 1, 0);
Stampa ("g_macd=",g_macd);
g_MACD ha un valore (del 1° buffer) nell'indicatore al 5° decimale, mentre Print nel log mostra un valore al 4° decimale, che non è accettabile.
Come risolvere questo problema?
Guarda nel tuo codice, il problema è lì da qualche parte.
Per testarlo, ho eseguito un semplice script con la chiamata WPR e ho stampato il risultato della chiamata dell'indicatore:
L'indicatore stesso, come sapete, mostra valori con 4 cifre decimali nella sua finestra, ma per Expert Advisors mostra 13 e anche 14.
Ciao, guarda il codice qui sotto, creazione dell'oggetto "Arrow" sul segnale, le frecce non vengono disegnate nel tester, anche se il log passa, e anche nel log all'avvio nel tester scrive un errore TestGenerator: unmatched data error (volume limit 412 at 2014.10.13 17:10 exceeded),
E durante i test dà un errore "Checking USDJPYm,M5 arrow: Error in object creation: code #4200" - ma credo che questo sia normale, perché all'inizio il programma trova che l'oggetto è stato creato, e dopo averlo cancellato, lo crea di nuovo. In generale, vi sarei grato per i vostri commenti alle domande.
Non giudicare strettamente come è scritto.
Gente, aiutatemi con le frecce, per favore!!!
Gente, aiutatemi con le frecce, per favore!!!
Capire questa linea.
Guarda dove è disegnata la freccia.
Capire questa linea
Guarda dove è disegnata la freccia.
Ora ho le frecce e si spostano da un segnale all'altro in base ai punti,
Posso quindi analizzare l'innesco del segnale sul grafico?
Grazie, Alexey! Mi ha aiutato, ora le frecce appaiono e si spostano da un segnale all'altro per punti, ma come faccio a far apparire le frecce e a farle rimanere al loro posto su ogni segnale?
Posso quindi analizzare l'innesco del segnale sul grafico?