Sì, di solito c'è una transazione di questo tipo per ogni operazione (sia che venga attivato un ordine sia che venga chiusa una posizione). Ma qui ne ho visti due.
Anche in questo caso, le transazioni non potrebbero essere accodate, poiché il commercio non è ad alta frequenza.
1. Gli ordini stop non devono essere aperti quando arriva una transazione, ma quando viene piazzato un ordine. Cioè, la posizione richiesta è apparsa nella lista delle posizioni.
2. Quando piazziamo un ordine di stop, dobbiamo prima assicurarci che non ci siano ordini di stop.
Non ho ancora capito perché appaiono due transazioni identiche (sono le stesse?). Dobbiamo guardare tutti i parametri delle transazioni in entrata, non solo il loro tipo.
Diamo il tuo esempio di codice - apertura di una posizione e OnTradeTransaction. Questo ci aiuterà a risolvere le cose più velocemente
1. Gli ordini stop non devono essere aperti quando arriva una transazione, ma quando viene piazzato un ordine. Cioè, la posizione richiesta è apparsa nella lista delle posizioni.
2. Quando piazziamo un ordine di stop, dobbiamo prima assicurarci che non ci siano ordini di stop.
Non ho ancora capito perché appaiono due transazioni identiche (sono le stesse?). Dobbiamo guardare tutti i parametri delle transazioni in entrata, non solo il loro tipo.
Diamo il tuo esempio di codice - apertura di una posizione e OnTradeTransaction. Questo ci aiuterà a risolvere le cose più velocemente
1. Se gli ordini stop sono aperti all'apertura della posizione, allora non l'ordine "principale", ma l'ordine stop potrebbe scattare per primo.
2. Sì, questo è il mio problema, è così che lo risolverò, se quello che ho descritto non è un errore.
Questo sarà un lungo esempio. Lascia che ti mandi un EA in SD.
1. Se gli ordini di stop sono aperti quando viene piazzato un ordine, potrebbe non essere l'ordine "principale" ad essere attivato per primo, ma l'ordine di stop.
Si corre il rischio di non uscire dall'elaborazione di OnTradeTransaction per un tempo molto lungo - appena elaborato, e la prossima transazione appena generata è in arrivo
E visto che siamo in tema. Prossima domanda. Secondo i log, possiamo vedere che l'ordine che ha iniziato il trade è di tipo sell limit. Ma quando otteniamo il tipo di ordine dalla funzione OnTradeTransaction(), otteniamo ORDER_TYPE_BUY. Come mai? Sì, se guardiamo oltre, qualsiasi ordine di avvio nel tester, quando viene processato in OnTradeTransaction, è ORDER_TYPE_BUY. C'è sicuramente un errore.
Sì, di solito c'è una transazione di questo tipo per ogni operazione (sia che venga attivato un ordine sia che venga chiusa una posizione). Ma qui ne ho visti due.
Anche in questo caso, le transazioni non potrebbero essere accodate, poiché il commercio non è ad alta frequenza.
Nel caso, un pezzo con un trade precedente(chiusura di una posizione) + cancellazione di due ordini:
Lei ha un errore di logica.
1. Gli ordini stop non devono essere aperti quando arriva una transazione, ma quando viene piazzato un ordine. Cioè, la posizione richiesta è apparsa nella lista delle posizioni.
2. Quando piazziamo un ordine di stop, dobbiamo prima assicurarci che non ci siano ordini di stop.
Non ho ancora capito perché appaiono due transazioni identiche (sono le stesse?). Dobbiamo guardare tutti i parametri delle transazioni in entrata, non solo il loro tipo.
Diamo il tuo esempio di codice - apertura di una posizione e OnTradeTransaction. Questo ci aiuterà a risolvere le cose più velocemente
Lei ha un errore di logica.
1. Gli ordini stop non devono essere aperti quando arriva una transazione, ma quando viene piazzato un ordine. Cioè, la posizione richiesta è apparsa nella lista delle posizioni.
2. Quando piazziamo un ordine di stop, dobbiamo prima assicurarci che non ci siano ordini di stop.
Non ho ancora capito perché appaiono due transazioni identiche (sono le stesse?). Dobbiamo guardare tutti i parametri delle transazioni in entrata, non solo il loro tipo.
Diamo il tuo esempio di codice - apertura di una posizione e OnTradeTransaction. Questo ci aiuterà a risolvere le cose più velocemente
1. Se gli ordini stop sono aperti all'apertura della posizione, allora non l'ordine "principale", ma l'ordine stop potrebbe scattare per primo.
2. Sì, questo è il mio problema, è così che lo risolverò, se quello che ho descritto non è un errore.
Questo sarà un lungo esempio. Lascia che ti mandi un EA in SD.
Applicazione#1348574
1. Se gli ordini di stop sono aperti quando viene piazzato un ordine, potrebbe non essere l'ordine "principale" ad essere attivato per primo, ma l'ordine di stop.
Come è possibile?
Fai trading da OnTradeTransaction per caso?
2. Sì, questo è il mio problema, ecco come lo risolverò, se quello che ho descritto non è un errore.
Questo sarà un lungo esempio. Lascia che ti mandi un EA in SD.
A cosa serve l'esempio lungo?
Apertura della posizione
OnTradeTransaction
Fermate del posto
Richiesta#1348574
Ok
Com'è?
E non eseguite operazioni commerciali da OnTradeTransaction per caso?
Perché questo lungo esempio?
Apertura della posizione
OnTradeTransaction
Fermate di regolazione
Ok
Sì, da lì? Ci sono restrizioni?
Di più. In modalità di simulazione OHLC M1 - tutto è OK.
Sì, da lì? Ci sono restrizioni?
Le limitazioni sono puramente basate sugli eventi
Si corre il rischio di non uscire dall'elaborazione di OnTradeTransaction per un tempo molto lungo - appena elaborato, e la prossima transazione appena generata è in arrivo
Prova invece di una semplice stampa
Fai questa stampa
E guarda.
Per me, ad esempio, a giudicare dalle stampe, non c'è il raddoppio degli eventi
Ecco il log di 15 minuti, come te
Prova invece di una semplice stampa
Fai una stampa come questa.
E date un'occhiata.
Io, per esempio, a giudicare dalle stampe, non ho nessun raddoppio di eventi.
Ecco un registro di una stampa di 15 minuti come la tua.
Ho provato la tua opzione. Come ho detto prima, l'errore è "fluttuante". Non è sempre possibile ripeterlo. E ho il registro della M5.
Dai log, sembra un errore:
Le transazioni sono cloni. Esattamente lo stesso. Su OHLC M1 - niente del genere.