Wodurch soll OnTradeTransaction() in mql4 ersetzt werden? - Seite 2

 
Ihor Herasko:

Und die Verfügbarkeit von Licht und Internet? Ganz zu schweigen von den üblichen Netzwerk-Paketverlusten. Coole MetaQuotes sind es geworden - sie alle garantieren alles! ))

Igor, die Lösung für all dies ist einfach oder sehr einfach. Wenn es häufig zu Stromausfällen kommt, mieten Sie einen VPS. Wenn solche Probleme auch bei VPS auftreten, wechseln Sie den Dienstanbieter. Das Gleiche gilt für den Verlust des Internets auf Seiten des Nutzers. Es ist nur möglich, eine Option zum Wechsel des Internetanbieters hinzuzufügen. Wenn das Problem auf der Seite des Gleichstroms auftritt... Sie wissen, wie und wohin Sie sie schicken müssen...
 
Ihor Herasko:

Und die Verfügbarkeit von Licht und Internet? Ganz zu schweigen von den üblichen Netzwerk-Paketverlusten. Coole MetaQuotes sind es geworden - sie alle garantieren alles! ))

Vielleicht haben Sie auch keinen Computer?

 
Alexey Viktorov:
Igor, die Lösung für all dies ist einfach oder sehr einfach. Wenn es häufig zu Stromausfällen kommt, mieten Sie einen VPS. Wenn solche Probleme auch bei VPS auftreten, sollten Sie den Dienstanbieter wechseln. Das Gleiche gilt für den Verlust des Internets auf Seiten des Nutzers. Es ist nur möglich, eine Option zum Wechsel des Internetanbieters hinzuzufügen. Wenn das Problem auf der Seite des Gleichstroms auftritt... Sie wissen, wie und wohin Sie sie schicken müssen...

Und das alles den normalen Nutzern erzählen, die mit Experten zusammenarbeiten? Die Benutzer sollten sich nicht um solche Dinge kümmern, sonst ist eine solche Software wertlos.

 
prostotrader:

Vielleicht haben Sie auch keinen Computer?

Ja, im Internet bin ich telepathisch ))

 
Ihor Herasko:

Ja, im Internet bin ich telepathisch ))

Ich verstehe, aber dann machen Sie keine vagen Aussagen, die in die Irre führen könnten.

die Mitglieder dieses Forums verwirrt.

 
prostotrader:

Ich verstehe, aber dann machen Sie keine vagen Aussagen, die in die Irre führen könnten.

Mitglieder dieses Forums in die Irre führen.

Diese Aussage ist falsch

Forum zum Thema Handel, automatisierte Handelssysteme und Strategietests

Wie ersetzt man OnTradeTransaction() in mql4?

prostotrader, 2020.01.26 14:59

Sie sind hoffnungslos weltfremd!

Diese Ereignisse sind schon seit langem garantiert!


Sich beim Handel mit VPS auf das Fehlen eines Cliffhangers zu verlassen, stellt ein zusätzliches finanzielles Risiko dar.

 
prostotrader:

Ich verstehe, aber dann machen Sie keine vagen Aussagen, die in die Irre führen könnten.

die Mitglieder dieses Forums verwirrt.

Es gibt keine Missverständnisse. Wenn Sie eine Software entwickeln, muss sie in erster Linie korrekt und zuverlässig funktionieren. Wenn Ihr Expert Advisor nur OnTrade und OnTradeTransaction verwendet, um seine Positionen und Aufträge zu unterstützen, wird der geringste Fehler beim Empfang von Informationen von diesen das Gesamtbild verzerren (wir wissen nicht mit Sicherheit, ob ein Paket vom Server verloren gegangen ist oder nicht). Die einzige mehr oder weniger zuverlässige Möglichkeit, diese Informationen zu sammeln, besteht darin, eine Schleife durch die Liste der Positionen/Aufträge zu ziehen. Selbst wenn dies der Fall ist, muss der Paketverlust nicht dauerhaft sein. Irgendwann (nach zwei oder drei Abfragen) werden die Daten abgerufen, und das Gesamtbild stimmt mit der Realität überein.

Damit will ich nicht sagen, dass die Verwendung von OnTrade() und OnTradeTransaction() sinnlos ist. Sie können als alternativer Kanal für die Datenbeschaffung genutzt werden. Wenn die Informationen über diesen Kanal kamen, brauchen wir die Listen nicht allzu sehr zu überprüfen.

 

Ich schreibe portablen Code. MT4/MT5 - dank MT4Orders.mqh von Mr. fxsaber. Und Prüfer/Kämpfer - dank der bedingten Kompilierung.

Für den Strategy Tester verwende ich OnTradeTransaction und die Speicherung des Umgebungszustands in Variablen, was die Optimierung erheblich beschleunigt. Für echte Serverabfragen spielt die Geschwindigkeit hier keine Rolle.

 
Edgar Akhmadeev:

Ich verwende OnTradeTransaction und die Speicherung von Umgebungszuständen in Variablen für Tester, was die Optimierung beschleunigt.

Ich wäre Ihnen dankbar, wenn Sie mir ein reproduzierbares Beispiel geben könnten (ohne Abfrage der Handelshistorie).

 

Wenn wir eine schnelle Lösung brauchen, dann würde ich alle Tickets inCArrayInt platzieren und die Tickets der offenen Aufträge mit CArrayInt vergleichen; die Search()-Methode ist da; wenn es kein Ticket gibt, hören wir auf, CArrayInt zu vergleichenmit den Zählern der offenen Aufträge, CArrayInt zurücksetzen und alle Tickets wieder in CArrayInt schreiben und das global beschriebene Flag MyOnTradeTransaction setzen - das Zeichen, dass sich die Auftragsliste geändert hat - der Code wird recht kompakt sein