Errori, bug, domande - pagina 2302

 

Forum sul trading, sistemi di trading automatico e test di strategia

Conversione corretta da double a int

Slava, 2018.09.28 07:10

Anch'io vado a fare il check-in. Perché avete bisogno di normalizzare i sub?

Prima risposta. Per convertire il prezzo in modo che il server di trading possa riconoscere il prezzo come proprio, dallo stesso sistema, arrotondato correttamente, come se fosse il server stesso ad arrotondare.

La mia comprensione del Tester è corretta?

  1. Inviamo un ordine BuyLimit utilizzando BuyLimit_PriceRequest.
  2. Il tester crea un BuyLimit che ha BuyLimit_Price = NormalizeDouble(BuyLimit_PriceRequest).
  3. Su ogni tick il tester fa un controllo (BuyLimit_Price <= Ask) SENZA NormalizeDouble.


Cioè, il secondo passo molto costoso viene fatto per evitare di rendere il terzo passo molto costoso. Poiché ci sono ordini di grandezza più tick (terzo passo) che OrderSend (secondo passo).


Quando Digits == 0, NormalizeDouble rallenta?

 
Slava:
Ho profilato il tester più volte. E so dove si trova l'intoppo. Si tratta di calcoli finanziari che comportano diverse normalizzazioni dei risultati al numero di cifre della valuta di deposito

Ho avvolto OrderSend nella misurazione del tempo e l'ho eseguito in modalità Optimize per evitare il rallentamento dei registri a passaggio singolo e per guardare il tempo effettivo di esecuzione della funzione nel Tester.

Ha un tempo medio di esecuzione di ~4.5µs. Questo corrisponde a 500 NormalizeDouble (ho eseguito lo script con questa quantità)!

Quindi posso dire con assoluta certezza che non è la normalizzazione a rallentarmi.


È stato anche interessante vedere quanto del passaggio di Optimize è masticato da OrderSend, rispetto ai dati del profiler. C'è un riscontro - un quarto a un terzo.


Per ripetere l'orrore che ho incontrato e quello per cui ho lottato

Forum sul trading, sistemi di trading automatico e test di strategie di trading

Bug, bug, domande

fxsaber, 2018.09.27 17:18

Ho eseguito Optimize per tre ore, e di queste ore, un'ora è OrderSend

 
Si prega di avvisare. Perché non posso chiudere un ordine? Il terminale dice "nessun prezzo". Cosa può essere?
 
Zhams84:
Si prega di avvisare. Perché non posso chiudere un ordine? Il terminale dice "nessun prezzo". Cosa può essere?

Forum sul trading, sistemi di trading automatico e test di strategie di trading

Bug, bug, domande

fxsaber, 2018.07.23 13:56

Continuo a imbattermi in questo errore

Questo stesso errore si verifica quando si cerca di fare una richiesta di scambio a mano. Dopo ~un minuto, improvvisamente tutto ricomincia a funzionare. Dopo un po' l'errore si ripete.

Forum sul trading, sistemi di trading automatico e test di strategie di trading

Bug, bug, domande

Andrey Khatimlianskii, 2018.07.23 14:15

Per quanto mi ricordo, c'è un timeout impostato lì, dopo il quale il prezzo è considerato irrimediabilmente obsoleto. Cioè, se non è cambiato per 3 minuti, non si può aprire su di esso.

Forum sul trading, sistemi di trading automatico e test di strategia

Bug, bug, domande

fxsaber, 2018.07.23 16:46

Ha scritto uno script di prova di questo caso. Catturato NoPrice 64 secondi dopo l'arrivo dell'ultimo tick. Forse un minuto di timeout è davvero utile. Dovrò pagare un pony...

Forum sul trading, sistemi di trading automatico e test di strategie di trading

Errori, bug, domande

fxsaber, 2018.07.23 22:00

Alcuni simboli hanno un timeout, altri no. Come faccio a sapere l'età massima di tick che OrderSend può ancora raccogliere (senza [No price])?

Forum sul trading, sistemi di trading automatico e tester di strategie

Bug, bug, domande

fxsaber, 2018.07.23 23:59

Succede che l'ultimo tick ricevuto 16 secondi fa non è percepito come rilevante per OrderSend. Probabilmente è un bug, dopo tutto.

Forum sul trading, sistemi di trading automatico e test di strategie di trading

Bug, bug, domande

fxsaber, 2018.07.24 09:51

Questo bug.

Può essere riprodotto in circa un minuto con questo script su ForexTimeFXTM-Demo01, se si abilitano tutti i simboli in Market Overview prima di eseguirlo.

 
Qual è la ragione per cui le spunte degli ordini nel Tester iniziano con un due e non con un uno?
 
fxsaber:
Qual è la ragione per cui i biglietti d'ordine nel Tester iniziano con un 2 e non con un 1?


1 biglietto - saldo


 
Vladislav Andruschenko:

1 biglietto - saldo

Questa è una transazione. Si trattava di Ordini.

 
fxsaber:

Questo è l'accordo. Si trattava dei mandati.

Forse è un'eredità del quartetto, dove c'erano solo mandati.

 
fxsaber:

Questo è l'accordo. Si trattava dei mandati.


Domanda ragionevole


se si ritirano 100 dollari, il numero del biglietto d'ordine non aumenta.

 

C'è una grande rubrica nel Tester


Ed è dolorosamente carente nel Terminale e soprattutto nel Visualizzatore... Si prega di aggiungere.

Motivazione: