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

 
Vitaly Muzichenko:

Heute war ich mit der Tatsache konfrontiert, dass eine Position geschlossen und die andere auf einer anderen eröffnet wurde, und zwar fast zur gleichen Zeit zwischen den Ticks.

Am Ende blieb OrdersTotal() 8. Die Logik des Expert Advisors ist durcheinander geraten - er hat die neuen Daten nicht neu berechnet

Das ist genau das, worüber ich nachdenke, und ich mag es nicht. Auch wenn meine Situation etwas anders sein wird, ist das Wesentliche dasselbe. Ich denke nach.

 
Aleksandr Volotko:

Das ist genau das, was ich denke, und es gefällt mir nicht. Meine Situation wird zwar ein wenig anders sein, aber der Punkt ist derselbe. Ich denke nach.

Alexander, du wirst nichts Besseres finden als die Bibliothek von Artem Trishkin. Obwohl er mich kritisiert, geht es nur um mql5 und ich mache nicht viel in mql4, weshalb ich diese Bibliothek nicht verwende. Ich habe einen Expert Advisor gestartet und versucht, ihn zu nutzen, aber ich habe aufgegeben. Die Idee erwies sich als inkompetent, bevor die Umsetzung abgeschlossen war... )))

IMHO ist es nicht die beste Option, einen Algorithmus auf der Suche nach der Geschichte aufzubauen. Noch schlimmer ist es, die Größe der Geschichte zu ändern. Das eine Problem wurde von Vitaly beschrieben, das andere ist, dass es im Allgemeinen inakzeptabel ist, wenn wir nicht nur für uns selbst schreiben. Die Anzahl der Aufträge in der Historie von mql4 hängt von der Auswahl der Tiefe ab

Und stellen Sie sich vor, dass ein Benutzer beschließt, die Historie für heute, dann für eine Woche und ein paar weitere Schalter durchzusehen... Der EA würde verrückt werden, wenn er wollte))))

 
Aleksandr Volotko:

Das ist genau das, was ich denke, und es gefällt mir nicht. Meine Situation wird zwar ein wenig anders sein, aber der Punkt ist derselbe. Ich denke nach.

Die Hashsumme der Eigenschaften von Aufträgen und Positionen. Das Symbol wird in der Summe der Zeichencodes kodiert, aus denen sich sein Name zusammensetzt. Aber dann nur eine volle Schleife. Wenn sich die Hash-Summe ändert - sehen Sie, was passiert ist.
 
Artyom Trishkin:
Eine Hashsumme der Eigenschaften von Aufträgen und Positionen. Das Symbol wird in der Summe der Zeichencodes kodiert, aus denen sich sein Name zusammensetzt. Aber dann nur eine volle Schleife. Wenn die Hash-Summe geändert wird - sehen Sie, was passiert ist.

Wie war das?

 
Alexey Viktorov:

Alexander, du wirst nichts Besseres finden als die Bibliothek von Artem Trishkin. Ich weiß nicht, warum ich es nicht benutze. Ich habe einen EA begonnen und versucht, ihn zu benutzen, aber ich habe es aufgegeben. Ich habe einen Expert Advisor gestartet und versucht, ihn zu nutzen, aber ich habe aufgegeben. Die Idee erwies sich als inkompetent, bevor die Umsetzung abgeschlossen war... )))

IMHO ist es nicht die beste Option, einen Algorithmus auf der Suche nach der Geschichte aufzubauen. Noch schlimmer ist es, die Größe der Geschichte zu ändern. Das eine Problem wurde von Vitaly beschrieben, das andere ist, dass es im Allgemeinen inakzeptabel ist, wenn wir nicht nur für uns selbst schreiben. Die Anzahl der Aufträge in der Historie von mql4 hängt von der Auswahl der Tiefe ab

Und stellen Sie sich vor, dass der Benutzer beschließt, den Verlauf für heute, dann für eine Woche und noch ein paar Mal zu wechseln... Der Expert Advisor würde verrückt spielen, wenn er wollte))))

Alexej, OrdersHistoryTotal() funktioniert eindeutig, es gibt immer einen "Auswahlzeitraum", der gefüllt oder abgezogen wird.

 
Vitaly Muzichenko:

Alexei, OrdersHistoryTotal() funktioniert einwandfrei, es füllt oder reduziert immer "Select period"

Das verstehe ich nicht. Soll das heißen, dass es nicht von den Einstellungen im Terminal abhängt? Haben sich solche Änderungen ergeben?

 
Alexey Viktorov:

Das verstehe ich nicht. Soll das heißen, dass es nicht von den Einstellungen im Terminal ab hängt? Haben sich solche Änderungen ergeben?

Nein, aber vielleicht reden wir über unterschiedliche Dinge.

static __TotalHist = -1;
int HT=OrdersHistoryTotal();
  if(HT!=__TotalHist)
   {
     SetHistory();
     __TotalHist=OrdersHistoryTotal(); // запомним количество
   }

Das wird immer funktionieren.

Es könnte sein, dass es in 1 von 100.500 Fällen nicht funktioniert.

static __Total = -1;
int OT=OrdersTotal();
  if(OT!=__Total)
   {
     SetMarket();
     __Total=OrdersTotal(); // запомним количество
   }
 
Artyom Trishkin:
Die Hashsumme der Eigenschaften von Aufträgen und Positionen. Das Symbol wird in der Summe der Zeichencodes kodiert, aus denen sich sein Name zusammensetzt. Aber dann nur eine volle Schleife. Wenn sich die Hash-Summe ändert - sehen Sie, was passiert ist.

ein Beispiel im Code geben - dies ist eine notwendige Funktion

 
Alexey Viktorov:

IMHO ist es nicht der beste Weg, einen Algorithmus auf einer Suche nach der Geschichte aufzubauen.

Ich habe nicht einmal daran gedacht, OrderHistoryTotal() zu berühren, warum?

 
Igor Makanu:

ein Beispiel im Code geben - dies ist eine notwendige Funktion

Beschrieben in meinen Artikeln. Es ist fast ganz am Anfang. Und für MQL4 - in Artikeln über die Kompatibilität mit 4.
Es ist schwierig, einen Link von einem Mobiltelefon aus anzugeben. Aber wenn Sie einen der letzten Artikel öffnen, finden Sie ganz am Ende eine Liste aller Artikel.