Teoria dell'accelerazione EA quando si usa un indicatore personalizzato (funzione - iCustom) - pagina 6
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
Alexander Laur, cioè finché lo script/consigliere è in esecuzione la memoria è riservata e non può essere cancellata - triste conclusione.
È possibile per uno script eseguire un altro script, poi chiudendo lo script in esecuzione dovrebbe causare la cancellazione della memoria, o questo sarebbe considerato come un ambiente di elaborazione complesso?
Alexander Laur, cioè finché lo script/consigliere è in esecuzione, la memoria è riservata e non può essere pulita - triste conclusione.
È possibile eseguire un altro script, poi chiudendo lo script in esecuzione dovrebbe risultare in una cancellazione della memoria, o sarà considerato come un complesso ambiente di elaborazione dati?
Ho subito suggerito"aprire il grafico con Expert Advisor in esecuzione", si può fare - ChartOpen + ChartApplyTemplate
L'unica questione è se la memoria sarà liberata alla chiusura (eliminando l'Expert Advisor).
Controlla.
Ho subito suggerito"aprire il grafico con Expert Advisor in esecuzione", si può fare - ChartOpen + ChartApplyTemplate
L'unica questione è se la memoria sarà liberata alla chiusura (eliminando l'Expert Advisor).
Controllare.
Domanda aggiuntiva, la scelta del tipo di buffer reale per il calcolo all'interno dell'indicatore influenza la dimensione del buffer grafico?
Tipo
Dimensione in byte
Valore minimo positivo
Valore massimo
Accuratezza della rappresentazione
Analogico in C++
float
4
1.175494351e-38
3.402823466e+38
7 cifre significative
float
doppio
8
2.2250738585072014e-308
1.7976931348623158e+308
15 cifre significative
doppio
E un'idea folle, e se invece di un buffer grafico usassimo TextOut - solo che non so come leggere i dati da esso...
Domanda aggiuntiva, la selezione del tipo di buffer reale per il calcolo all'interno dell'indicatore influenza la dimensione del buffer grafico?
Con il termine "buffer grafico" intendete la visualizzazione grafica di un indicatore regolare?
La domanda è se è possibile influenzare la dimensione della memoria allocata al buffer grafico di una barra se si usa float invece di double nel codice dell'indicatore per i calcoli.
//---- buffers
double Vy[];
double bufDirSoft[];
extern int n=3;
extern int BarsN=100;
//----
int ExtCountedBars=0;
La domanda è se è possibile influenzare la dimensione della memoria allocata al buffer grafico di una barra se si usa float piuttosto che double nel codice dell'indicatore per i calcoli...
No. C'è una funzione magica che sposta tutti i tentativi:
Questo meccanismo è incorporato nel linguaggio Terminal stesso. È un'idea interessante, però...
Inoltre, come si fa a sapere se la memoria si è esaurita, ci sono delle funzioni?
Cosa intendi per "esaurire la memoria"? :-)
C'è qualcosa qui:
https://www.mql5.com/ru/docs/constants/environment_state/terminalstatus#enum_terminal_info_integer
Secondo me, il modo più efficace per gestire la memoria per le risorse dell'indicatore è quello di ridurre al minimo il parametro "Max bars in history" (Settings --> Charts). Per quanto mi ricordo, il minimo per il parametro è 5k.
Inoltre, come posso sapere se la memoria è finita, ci sono delle funzioni?
È possibile recuperare informazioni sul terminale
TOTALE_MEMORIA_TERMINALE
Dimensione della memoria, disponibile per il processo terminale (agente), in MB
int
MEMORIA_TERMINALE_DISPONIBILE
La dimensione della memoria disponibile del processo terminale (agente) in MB
int
MEMORIA_TERMINALE_USATA
Dimensione della memoria, usata dal terminale (agente), in MB
int