Fehler, Irrtümer, Fragen - Seite 2302

 

Forum für Handel, automatisierte Handelssysteme und Strategietests

Korrekte Umwandlung von double in int

Slawa, 2018.09.28 07:10

Ich werde mich auch melden. Warum müssen Sie die Synchronisation normalisieren?

Erste Antwort. Um den Preis so umzurechnen, dass der Handelsserver den Preis als seinen eigenen, aus demselben System stammenden, korrekt gerundeten Preis erkennen kann, so als ob der Server selbst runden würde.

Ist mein Verständnis des Testers richtig?

  1. Wir senden einen BuyLimit-Auftrag mit BuyLimit_PriceRequest.
  2. Der Prüfer erstellt ein BuyLimit mit BuyLimit_Price = NormalizeDouble(BuyLimit_PriceRequest).
  3. Bei jedem Tick macht der Tester einen Check (BuyLimit_Price <= Ask) OHNE NormalizeDouble.


Das heißt, der sehr teure zweite Schritt wird durchgeführt, um zu vermeiden, dass der dritte Schritt sehr teuer wird. Da es um Größenordnungen mehr Ticks (dritter Schritt) als OrderSend (zweiter Schritt) gibt.


Wenn Digits == 0, NormalizeDouble verlangsamt?

 
Slava:
Ich habe den Prüfer mehrfach profiliert. Und ich weiß, wo der Haken an der Sache ist. Dabei handelt es sich um finanzielle Berechnungen, die mehrere Normalisierungen der Ergebnisse auf die Anzahl der Ziffern der Einzahlungswährung beinhalten

Ich habe OrderSend in eine Zeitmessung verpackt und im Optimierungsmodus ausgeführt, um zu vermeiden, dass die Single-Pass-Protokolle langsamer werden, und um die tatsächliche Ausführungszeit der Funktion im Tester zu sehen.

Ich habe eine durchschnittliche Ausführungszeit von ~4,5µs. Dies entspricht 500 NormalizeDouble (ich habe das Skript mit diesem Betrag ausgeführt)!

Ich kann also mit absoluter Gewissheit sagen, dass es nicht die Normalisierung ist, die mich bremst.


Es war auch interessant zu sehen, wie viel des Optimize-Durchlaufs von OrderSend aufgefressen wird, verglichen mit den Profiler-Daten. Ich habe eine Übereinstimmung - ein Viertel bis ein Drittel.


Um das Grauen zu wiederholen, das ich erlebt habe und worüber ich gestritten habe

Forum zum Thema Handel, automatisierte Handelssysteme und Testen von Handelsstrategien

Wanzen, Wanzen, Fragen

fxsaber, 2018.09.27 17:18

Ich lasse Optimize drei Stunden lang laufen, und von diesen Stunden entfällt eine Stunde auf OrderSend

 
Bitte beraten Sie mich. Warum kann ich eine Bestellung nicht abschließen? Das Terminal sagt "kein Preis". Was kann das sein?
 
Zhams84:
Bitte beraten Sie mich. Warum kann ich eine Bestellung nicht abschließen? Das Terminal sagt "kein Preis". Was kann das sein?

Forum zum Thema Handel, automatisierte Handelssysteme und Testen von Handelsstrategien

Wanzen, Wanzen, Fragen

fxsaber, 2018.07.23 13:56

Ich stoße immer wieder auf diesen Fehler

Derselbe Fehler tritt auf, wenn Sie versuchen, einen Handelsantrag von Hand zu stellen. Nach etwa einer Minute funktioniert plötzlich alles wieder. Nach einiger Zeit wiederholt sich der Fehler.

Forum zum Thema Handel, automatisierte Handelssysteme und Testen von Handelsstrategien

Wanzen, Wanzen, Fragen

Andrey Khatimlianskii, 2018.07.23 14:15

Soweit ich mich erinnere, ist dort ein Timeout eingestellt, nach dem der Preis als hoffnungslos veraltet gilt. Das heißt, wenn sie sich seit 3 Minuten nicht verändert hat, können Sie sie nicht öffnen.

Forum zum Thema Handel, automatisierte Handelssysteme und Strategietests

Wanzen, Wanzen, Fragen

fxsaber, 2018.07.23 16:46

Ich habe ein Testskript für diesen Fall geschrieben. NoPrice wurde 64 Sekunden nach Eintreffen des letzten Ticks gefangen. Vielleicht ist eine Minute Auszeit tatsächlich sinnvoll. Ich muss etwas Geld auftreiben...

Forum zum Thema Handel, automatisierte Handelssysteme und Testen von Handelsstrategien

Fehler, Irrtümer, Fragen

fxsaber, 2018.07.23 22:00

Einige Symbole haben ein Zeitlimit, andere nicht. Wie erkenne ich das maximale Tick-Alter, das OrderSend noch abholen kann (kein [Kein Preis])?

Forum zum Thema Handel, automatische Handelssysteme und Strategietester

Wanzen, Wanzen, Fragen

fxsaber, 2018.07.23 23:59

Es kommt vor, dass der letzte Tick, der vor 16 Sekunden empfangen wurde, nicht als relevant für OrderSend wahrgenommen wird. Wahrscheinlich ist es doch ein Fehler.

Forum zum Thema Handel, automatisierte Handelssysteme und Testen von Handelsstrategien

Wanzen, Wanzen, Fragen

fxsaber, 2018.07.24 09:51

Dieser Fehler.

Kann in etwa einer Minute mit diesem Skript auf ForexTimeFXTM-Demo01 reproduziert werden, wenn Sie alle Symbole in der Marktübersicht aktivieren, bevor Sie es ausführen.

 
Was ist der Grund dafür, dass die Auftragsticker im Tester mit einer Zwei und nicht mit einer Eins beginnen?
 
fxsaber:
Warum beginnen die Bestellscheine im Tester mit einer 2 und nicht mit einer 1?


1 Ticket - Saldo


 
Vladislav Andruschenko:

1 Ticket - Restbetrag

Dies ist eine Transaktion. Es ging um Befehle.

 
fxsaber:

Das ist der Deal. Es ging um die Haftbefehle.

Vielleicht ist das ein Erbe des Vierergespanns, wo es nur Haftbefehle gab.

 
fxsaber:

Das ist der Deal. Es ging um die Haftbefehle.


Begründete Frage


Wenn Sie $100 abheben, erhöht sich die Anzahl der Bestellscheine nicht.

 

Es gibt eine großartige Kolumne im Tester


Und daran mangelt es im Terminal und vor allem im Visualiser... Bitte hinzufügen.

Grund der Beschwerde: