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.