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
Ciao!
Ho bisogno di vedere graficamente come il valore di una certa variabile cambia su ogni barra durante un test visivo, cioè ho bisogno di costruire un grafico separato in una sottofinestra. Per esempio, voglio vedere un grafico delle variazioni del capitale su ogni barra in una finestra separata sotto il grafico.
Cosa devo fare? Devo scrivere un indicatore, attaccarlo al grafico e passargli i valori delle variabili dell'EA attraverso le variabili globali del terminale? O c'è un modo "migliore"?
Grazie in anticipo.
Ciao!
Ho bisogno di vedere graficamente come il valore di una certa variabile cambia su ogni barra durante un test visivo, cioè ho bisogno di costruire un grafico separato in una sottofinestra. Per esempio, voglio vedere un grafico delle variazioni del capitale su ogni barra in una finestra separata sotto il grafico.
Cosa devo fare? Devo scrivere un indicatore, attaccarlo al grafico e passargli i valori delle variabili dell'EA attraverso le variabili globali del terminale? O c'è un modo "migliore"?
Grazie in anticipo.
Niente affatto, si possono ottenere i valori del patrimonio netto o del saldo direttamente nell'indicatore.
Definisci i parametri del buffer dell'indicatore che disegna come un grafico a barre.
E scrivere tutti e quattro i valori nei buffer appropriati,
Aperto all'apertura della barra, alto basso e dinamico (l'ultima barra).
si presenta così: nell'allegato
Naturalmente, puoi anche usare il valore assoluto (opzione raccomandata), ma non credo che mostri piccoli incrementi iniziali, quindi penso che la differenza tra i valori iniziali e attuali sia migliore.
ZS, ma no, la scala è dinamica quindi puoi fare la seconda opzione, è abbastanza leggibile.
Niente affatto, potete ottenere i valori del patrimonio netto o del saldo direttamente nell'indicatore.
Imposta i parametri per disegnare il buffer dell'indicatore come un grafico a barre.
e scrivere tutti e quattro i valori nei buffer corrispondenti,
aperto all'apertura della barra, alto basso e chiusura in modo dinamico (ultima barra).
OBJ_LABEL sul grafico.
Potete anche leggerlo qui:
https://www.mql5.com/ru/forum/1111/40260#comment_40260
https://www.mql5.com/ru/forum/2963
Valori patrimoniali e di bilancio, sì, ma cosa succede se voglio vedere il valore di una variabile calcolata in un EA?
Puoi farlo tramite un evento personalizzato, solo non dimenticare di aggiornare il grafico dopo l'evento,
perché il tick viene prima che l'evento venga elaborato, in ordine di priorità.
Ma è possibile farlo con i globali, ma c'è lo stesso problema - il tick è già arrivato e la variabile è ancora in fase di elaborazione nell'EA (i suoi cambiamenti sono in fase di preparazione), naturalmente, i dati saranno ricevuti, ma ci sarà un ritardo su un tick, è ancora più corretto nel caso, c'è un posto per mettere aggiornare il grafico dopo il fatto, quando si sa già per certo che la variabile ha i dati effettivi.
Questo codice non compila con l'errore "'return' - structure has objects and cannot be copied" a causa del"CTest getCopy(void) {CTest res; return res;}" stop.
Questo può essere risolto in 2 modi:
1) cambiare"class" in"struct"
2) decommentare la stopka con un operatore di assegnazione sovraccarico.
Quindi deve essere così che il ruolo di costruttore di copia è eseguito dall'operatore di assegnazione sovraccaricato? Perché allora non è menzionato nel libro di riferimento, tranne che per un esempio di una classe matrice (la cui analisi dettagliata, tra l'altro, mi ha permesso di trovare l'errore nel mio codice)?
Questo codice non compila con l'errore "'return' - structure has objects and cannot be copied" a causa del"CTest getCopy(void) {CTest res; return res;}" stop.
Questo può essere risolto in 2 modi:
1) cambiare"class" in"struct"
Vedi sopra.
2) decommentare la stopka con un operatore di assegnazione sovraccarico.
Naturalmente, l'operatore sovraccaricato restituisce un puntatore a maniglia, il che è normale. Ora non è l'oggetto restituito dalla funzione getCopy() ma il puntatore (il ritorno dalla funzione è un'assegnazione implicita) che rende il codice corretto.
// Solo sintatticamente corretto.
// Il ritorno di una variabile non inizializzata dalla funzione getCopy(), spero, serve solo a dimostrare il problema di sintassi e non pretende di essere ragionevole.
Quindi dovrebbe essere così che il ruolo di costruttore di copia è eseguito dall'operatore di assegnazione sovraccaricato?
Perché non è menzionato nel libro di riferimento, tranne che per un esempio di una classe matrice (la sua analisi dettagliata, a proposito, mi ha aiutato a trovare l'errore nel mio codice)?
Perché l'11 febbraio 2096785 a.C. il dinosauro Vasya ha accidentalmente calpestato la lucertola Clava, causando una lunga catena di cause e conseguenze che hanno portato alla situazione attuale. Non puoi farci niente.
;)
Perché dovrebbe essere inizializzato? È un'istanza di una classe che ha un costruttore proprio per questo scopo.
Ehm... Cosa c'entrano i ruoli? Puoi sovraccaricare l'operatore di assegnazione in qualsiasi modo tu voglia e scrivere correttamente il costruttore di copia. Il tuo errore è in un altro posto completamente.
E poi come scrivere un corretto costruttore di copia per questo scopo?