Come si apre correttamente un ordine a mercato? - pagina 6

 
Gennady Mazur:

Siete stati correttamente avvisati della pausa. C'era già un argomento sul forum che una pausa di alcuni millisecondi dopo l'invio dell'ordine è spesso sufficiente per continuare a lavorare con la posizione. È meglio non fare affidamento su OnTradeTransaction() se è possibile.

E in generale, per essere più affidabili, provate a controllare se c'è una posizione dopo che l'ordine è stato inviato al prossimo tick. Se c'è una posizione, non inviare altri ordini.

 
Alexey Kozitsyn:

OnTradeTransaction(), se possibile, non è affidabile.


Mi chiedo perché?
 
prostotrader:
Mi chiedo perché?

1. Non è certo che arriverà;

2. Si è comportato male prima nel tester. Ora non lo so;

Aggiunto:

3. Alcuni parametri dell'ordine o della transazione (non ricordo esattamente) come l'enumerazione possono avere "valori predefiniti" che non lo sono. Cioè MQ non ha fatto WRONG_VALUE ma, per esempio, ORDER_TYPE_BUY. Potrebbe essere fuorviante;

 
Alexey Kozitsyn:

Siete stati correttamente avvisati della pausa. C'era già un argomento sul forum che una pausa di alcuni millisecondi dopo l'invio dell'ordine è spesso sufficiente per continuare a lavorare con la posizione. È meglio non fare affidamento su OnTradeTransaction() se è possibile.

E in generale, per essere più affidabili, provate a controllare se c'è una posizione dopo che l'ordine è stato inviato al prossimo tick. Se c'è una posizione, non inviare altri ordini.

In linea di principio, lo faccio, ma in Forti un ordine è spesso accettato con successo... ma non c'è posizione sul tick successivo.
È qui che l'apertura supplementare può sfuggire .... risolvendo parzialmente il problema come segue, se l'ordine è accettato, aumento la variabile Int, e dopo l'aumento le condizioni per l'apertura sono leggermente diverse, quindi una nuova apertura non avviene, ma.... se l'ordine non è accettato la variabile non aumenta, ed ecco la parte difficile... Non ho identificato correttamente lo stato e stanno arrivando ordini extra.
 
Alexey Kozitsyn:

1. Non è certo che arriverà;

2. Si è comportato male prima nel tester. Ora non lo so;

Probabilmente non hai visto il messaggio degli sviluppatori che ora, OnTradeTransaction() è garantito.

Кроме того, транзакции могут потеряться при доставке от сервера к терминалу.
Что касается этой фразы.

Судя по всему - она осталась из документации к одной из начальных версий терминала с асинхронной торговли. В ближайшее время уберём. Виновные будут расстреляны.

Quanti secondi di pausa? 1 sec 2, forse 10?

2016.12.14 22:01:41.371 Trades  'xxxxx': cancel order #49932961 buy limit 1.00 CHMF-6.17 at 92501 placed for execution in 64873.549 ms

Aggiunto

Non dimenticate che state lavorando con un'applicazione CLIENTE-SERVER (richiesta-risposta)

 
prostotrader:

Probabilmente non avete visto il messaggio degli sviluppatori che ora, OnTradeTransaction() è garantito.

Кроме того, транзакции могут потеряться при доставке от сервера к терминалу.
Что касается этой фразы.

Судя по всему - она осталась из документации к одной из начальных версий терминала с асинхронной торговли. В ближайшее время уберём. Виновные будут расстреляны.

Per quanto tempo dovremmo fermarci? 1sec 2, forse 10?

2016.12.14 22:01:41.371 Trades  'xxxxx': cancel order #49932961 buy limit 1.00 CHMF-6.17 at 92501 placed for execution in 64873.549 ms

Sì, hai ragione, non ha visto la frase, e nemmeno i cadaveri :)

Riguardo alla pausa - hai dato un caso piuttosto esotico, tuttavia, naturalmente, è possibile. Intendevo il caso di lavorare con strumenti liquidi, contratti correnti e per lavorare sul tick corrente immediatamente dopo aver inviato l'ordine. Nella grande maggioranza dei casi alcuni millisecondi sono sufficienti. E, naturalmente, dopo la pausa, è necessario controllare la presenza della posizione per continuare a lavorare con essa.

 
Gennady Mazur:
In linea di principio lo faccio, ma in Forti l'ordine è spesso accettato con successo...ma al prossimo tick non c'è ancora nessuna posizione...
È qui che l'apertura supplementare può scivolare .... risolvo parzialmente il problema in questo modo, se l'ordine viene accettato, aumento la variabile int, e dopo l'aumento le condizioni di apertura sono leggermente diverse, quindi una nuova apertura non avviene, ma.... se l'ordine non viene accettato la variabile non aumenta, ma ecco il trucco... Ho giudicato male lo stato e hanno cominciato a comparire ordini extra.
In ogni caso poco chiaro, come già suggerito, usate la registrazione avanzata, non solo un ritorno sì/no. Soprattutto nella fase di sviluppo.
 
Alexey Kozitsyn:

Sì, hai ragione, non ho visto la frase, e nemmeno i cadaveri:)

Riguardo alla pausa - hai dato un caso piuttosto esotico, tuttavia, naturalmente, è possibile. Intendevo il caso per lavorare con strumenti liquidi, contratti correnti e per lavorare sul tick corrente subito dopo l'invio dell'ordine. Nella grande maggioranza dei casi alcuni millisecondi sono sufficienti. E, naturalmente, dopo la pausa, è necessario controllare la presenza della posizione per continuare a lavorare con essa.

Alexey!

Uno strumento abbastanza liquido :)

2016.12.14 22:01:41.431 Trades  'xxxxx': cancel order #49931802 sell limit 1.00 GOLD-9.17 at 1190.2 placed for execution in 64926.078 ms

Non si tratta di strumento (liquidità), ma di ritardo, che può verificarsi in QUALSIASI strumento.

Faccio attivamente trading con gli EAs da quasi 4 anni ormai.

In nessuno dei miei EA ci sono pause (tranne la pausa durante l'attesa dei dati da scaricare dal server in INDICATORI),

Se fai una pausa, è un segno sicuro che il tuo EA non l'ha fatto bene :(

 
prostotrader:

Alexey!

Faccio attivamente trading con gli EAs da quasi 4 anni ormai.

Non ho pause in nessuno dei miei EA (tranne le pause per aspettare i dati da scaricare dal server in INDICATORS),

Se stai inserendo una pausa, è un segno VERO che hai creato male l'algoritmo del tuo EA :(

Michael, se non hai visto o fatto qualcosa, non significa che non sia possibile o non sia necessario.
 
Alexey Kozitsyn:
Michael, se non hai visto o fatto qualcosa, non significa che sia impossibile o inutile.

Sono completamente d'accordo con te!

Ognuno fa come vuole o come può.

Motivazione: