Errori, bug, domande - pagina 2596

 

Errore di generazione della transazione (struttura MqlTradeTransaction).

Errore di riproduzione: inviare il primo ordine a mercato con il volume di 1 lotto a Long, inviare il secondo ordine a mercato con il volume di 2 lotti a Short.

Errore nel riempimento del campo nella struttura MqlTradeTransaction->position. Il campo viene riempito con il biglietto della posizione precedente. Quando si continua a fare trading usando gli ordini che invertono la posizione, il campo dato mostra una strana accozzaglia di biglietti della vecchia e della nuova posizione.

Ho controllato sulla Borsa di Mosca con i broker: Otkritie e BKS. Anche nel tester l'errore viene riprodotto.

Schermate di transazioni che illustrano l'errore su queste transazioni:

Otkrytie:

Apertura

BCS:

BCS

Tester:

Tester

 
Francuz:

Errore di generazione della transazione (struttura MqlTradeTransaction).

Errore di riproduzione: inviare il primo ordine a mercato con il volume di 1 lotto a Long, inviare il secondo ordine a mercato con il volume di 2 lotti a Short.

Errore nel riempimento del campo nella struttura MqlTradeTransaction->position. Il campo viene riempito con il biglietto della posizione precedente. Quando si continua a fare trading usando gli ordini che invertono la posizione, il campo dato mostra una strana accozzaglia di biglietti della vecchia e della nuova posizione.

Ho controllato sulla Borsa di Mosca con i broker: Otkritie e BKS. L'errore viene riprodotto anche nel tester.

Schermate di transazioni che illustrano l'errore su queste transazioni:

Otkrytie:

BCS:

Tester:


C'è solo una posizione in modalità "netting". Durante la sua vita il suo identificatore (position id) non cambia. L'identificatore è uguale al ticket del primo ordine con cui è stata aperta la posizione.

 
Ne sono consapevole. Ma in un "flip", la posizione precedente viene chiusa e una nuova posizione (con un nuovo biglietto) viene aperta nella direzione opposta. Che si riflette in queste transazioni con un errore.
 
Francuz:
Ne sono consapevole. Ma quando si "gira" una posizione precedente viene chiusa, e una nuova posizione (con un nuovo ticker) nella direzione opposta viene aperta. Che in queste transazioni viene mostrato con un errore.

Non si chiude. Si può fare il roll over nel Terminale per mesi e il Terminale assumerà che c'era solo una posizione. E la storia del trading mostrerà solo una voce per mesi nella modalità di visualizzazione delle posizioni chiuse.

 
Buon pomeriggio. Voglio fare il debug del mio EA su dati storici. Ma il debugger esegue MovingAverage.ex5, non il mio EA. come posso risolvere il problema? Il debugging su dati reali farà funzionare il mio EA.
 
Azamat Mullayanov:
Buona giornata. Voglio fare il debugging del mio EA su dati storici. Ma gli piace eseguire MovingAverage.ex5, non il mio EA. Voglio fare il debug su dati reali ed eseguire il mio EA.

Descrivete passo dopo passo (con screenshot) esattamente quello che fate e dove cliccate.

 
Azamat Mullayanov:
Pomeriggio. Voglio fare il debugging del mio EA su dati storici. Ma il debugger esegue MovingAverage.ex5, non il mio EA. Voglio fare il debug su dati reali e non è il mio EA.

Il consulente potrebbe non trovarsi nella cartella Experts. Nella cartella Scripts, per esempio.

 
Vladimir Karputov:

Descrivete passo dopo passo (con screenshot) esattamente quello che fate e dove cliccate.

Mi dispiace. Ho passato mezza giornata a curiosare, ma appena l'ho postato sul forum, ha cominciato a funzionare subito. L'ho salvato nella directory \MQL5\Experts\My e il debugger ha iniziato a funzionare correttamente. L'ho copiato di nuovo in \MQL5\Experts\My - il debugger funziona.
 
fxsaber:

Non si chiude. Si può fare il roll over nel Terminale per mesi e il Terminale assumerà che c'era solo una posizione. E la storia del trading mostrerà solo una voce per mesi nella modalità di visualizzazione delle posizioni chiuse.

Vi sbagliate. Quando si capovolge una posizione, il biglietto della posizione attiva viene cambiato con un altro. E il terminale lo visualizza correttamente. Ma nelle transazioni dà informazioni sbagliate.

 
Francuz:

Vi sbagliate. Quando una posizione viene invertita, il biglietto della posizione attiva cambia in un'altra. E il terminale lo visualizza correttamente. Ma dà informazioni sbagliate nelle transazioni.

POSITION_TICKET cambia, POSITION_ID no.

Motivazione: