Domande dai principianti MQL5 MT5 MetaTrader 5 - pagina 547

 
Boris:
Ci sono molti esempi nel codice base! E prima di tutto devi adattare la tua logica in tutto ciò che fai! Perché, per esempio, per rappresentare Magik negli esterni, ottimizzerete il valore di Magik per aumentare la redditività? ;)

Di quale Magik stiamo parlando?

E nel codice, immagino che siano i numeri con un meno a causare l'errore?

 
edutak:

E nel codice, immagino che siano i numeri con un meno a causare l'errore?

Sì.

Potete scriverlo così: a_200 = b; Ma a-200 = b; - otterrete un errore.

 
Alexey Kozitsyn:

Sì.

Potete scrivere: a_200 = b; Ma a-200 = b; - otterrete un errore.

Grazie.
 
edutak:

Di quale Magick stiamo parlando?

Il tuo!
 
Alexey Kozitsyn:

Sì.

Potete scrivere: a_200 = b; Ma a-200 = b; - otterrete un errore.

Ma: b = a-200; non darà un errore.
 
Boris:
Ma: b = a-200; non darà un errore.
Qui basta capire che il segno di uguale non è un "uguale" come in matematica, ma un'operazione di assegnazione. Cioè, la parte sinistra (variabile) è assegnata al valore della parte destra (espressione o variabile).
 
Per favore, ditemi.

Se il compilatore non dà errori, ma gli ordini non si aprono correttamente, tutti insieme. Potrebbe essere a causa di una logica difettosa dell'algoritmo.

Per essere più precisi, se si disabilita il blocco di chiusura degli ordini, gli ordini si aprono correttamente; se si abilita il blocco di chiusura degli ordini, gli ordini si aprono contemporaneamente ad ogni tick.

 
edutak:
Per favore, ditemi.

Se il compilatore non dà errori, ma gli ordini non si aprono correttamente, tutti insieme. Potrebbe essere a causa di una logica difettosa dell'algoritmo.

Per essere più precisi, se disabilitiamo il blocco di chiusura degli ordini, gli ordini si aprono correttamente; se abilitiamo il blocco di chiusura degli ordini, gli ordini si aprono in una volta per ogni tick.

Senza il codice non sarete aiutati.
 
edutak:
Per favore, ditemi.

Se il compilatore non dà errori, ma gli ordini non si aprono correttamente, tutti insieme. Potrebbe essere a causa di una logica difettosa dell'algoritmo.

Per essere più precisi, se si disabilita il blocco di chiusura degli ordini, gli ordini si aprono correttamente; se si abilita il blocco di chiusura degli ordini, gli ordini si aprono contemporaneamente ad ogni tick.

Gli errori sono di tre tipi.

Errori di sintassi - sono rilevati in fase di compilazione.

Logici - vengono rilevati durante il debugging e i test.

Runtime - gli errori di runtime sono di solito causati da dati errati, per esempio,divisione per zero o overrun dell'array.

 
Vladislav Andruschenko:
Non otterrete alcun aiuto senza il codice.

Non vorrei mostrare il codice, visto che la prima versione si è dimostrata molto sopravvissuta. È sopravvissuto per 10 anni senza ottimizzazione. Ora voglio renderlo un po' più complesso e redditizio.

Il codice è molto semplice.

Tuttavia, gli ordini possono essere aperti su ogni tick a causa di errori nella logica.