Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Da nessuna parte senza di te - 6. - pagina 952

 
atztek:
Ho capito bene, l'unico modo per evitare il superamento della memoria da parte dei buffer degli indicatori è
allocare inizialmente un certo intervallo per loro (ad esempio da 0 a 2000) e non superarlo?

L'unico modo è specificare il numero minimo di barre visualizzate nelle impostazioni del terminale
 
Vinin:
L'unico modo è specificare nelle impostazioni del terminale il numero minimo di barre da visualizzare
Se ho capito bene quello che suggerite, questa opzione non è adatta a me.
Quello che sto dicendo è di limitare le ultime 0-2000 barre (2000 per esempio). Quando appare una nuova barra, dovremmo sovrascrivere i valori dei buffer e aggiungere una nuova barra al buffer 0-esimo e rimuovere di conseguenza l'ultima barra rimossa. Tuttavia, questo ciclo metterà un po' di carico sulla CPU.
 
atztek:
Se ho capito bene quello che suggerisci, questa variante non è adatta a me.
Mi limito alle ultime 0-2000 barre (2000 per esempio). Quando ottengo una nuova barra devo sovrascrivere i valori dei buffer e aggiungere una nuova barra al buffer 0-esimo e rimuovere di conseguenza l'ultima barra rimossa. Tuttavia, questo ciclo metterà un po' di carico sulla CPU.

Se per i calcoli si può usare un buffer circolare, allora non c'è bisogno di sovrascrivere i valori del buffer. Memorizza solo la posizione attuale e passa all'elemento successivo quando appare una nuova barra.

Avete bisogno di array dinamici standard per il rendering.

 
Vinin:

Se per i calcoli si può usare un buffer circolare, allora non c'è bisogno di sovrascrivere i valori del buffer. Memorizza solo la posizione attuale e passa all'elemento successivo quando appare una nuova barra.

Per il rendering, avete bisogno di array dinamici standard.

I dati corrispondenti alla barra zero devono essere memorizzati nell'elemento zero del buffer affinché la linea sia disegnata correttamente.
 
su eurusd, gpbusd, usdchf, usdjpy, audusd, nzdusd nel tester funziona completamente.
E nel caso di usdrub, xauusd, audcad, audchf, chfjpy olio, gas nel tronco - errore di Ordersend 131
(per controllare tutti i tipi di errori, ho anche usato un'azione del programma - OrderSend Sell. ancora - non funziona).
tutte le quotazioni di valuta sono state caricate allo stesso modo. e non c'è differenza tra i simboli nelle proprietà dei simboli...
 
È possibile controllare il pulsante Pause del Tester dal codice? -
Cioè, posso creare il mio pulsante, metterlo sullo schermo e usarlo per passare il Tester alla modalità Pausa/Lavoro?
PS Prima sul forum hanno scritto della possibilità di intercettare alcuni comandi di MT4.
 
Testando il consulente del tutorial di Kovalev sulle piattaforme di due diversi broker. Deve inserire il 10% del deposito, come nel tutorial. Durante i test in un broker le transazioni vengono eseguite con 0,4 lotti, in un altro - 0,08. MODE_MINLOT, MODE_MINSIZE sono uguali a 0,01. Perché succede?
 
JoinDoe:
Testando il consulente del tutorial di Kovalev sulle piattaforme di due diversi broker. Deve inserire il 10% del deposito, come nel tutorial. Quando si prova su un broker, le transazioni vengono eseguite con 0,4 lotti, mentre su un altro - 0,08. MODE_MINLOT, MODE_MINSIZE sono uguali a 0,01. Perché succede?
La leva è la stessa?
 
AlexeyVik:
La leva è la stessa?
È nelle impostazioni del mio account presso i broker da guardare? Per quanto riguarda la leva nel programma, il programma è lo stesso, quindi la leva è impostata allo stesso modo dal programma. E così, nel "Risultato" del tester mostra rispettivamente 0,4 e 0,08. Sì, e i punti nella stessa scheda "Risultati" sono uguali in valore a 1 dollaro(coppia EURUSD), allora significa che la leva è la stessa.
 
JoinDoe:
È nelle impostazioni del mio account presso i broker da guardare? Per quanto riguarda la leva nel programma, è la stessa nel programma, quindi la stessa leva è impostata dal programma. E così, nel "Risultato" del tester mostra rispettivamente 0,4 e 0,08. Sì, e i punti nella stessa scheda "Risultato" sono uguali in valore a 1 dollaro (coppia EURUSD), allora significa che la leva è la stessa.

SÌ.

Motore di ricerca per aiutarvi, leggete cos'è la "leva" nel forex e scoprirete tutto. È il leverage, AccountLeverage() è usato nel programma quando si calcola il lotto come % del deposito.

Motivazione: