Ich habe einen unerklärlichen Moment erlebt. Das Konto ist real. Der Roboter setzt eine Pending Order und folgt dann dem Preis. Nachdem der Preis die Pending Order "gefangen" hat, eröffnet er eine SELL-Position mit einem festgelegten Stop Loss und Take Profit. Bis zu diesem Punkt gibt es keine Probleme. Dann bewegt sich der Kurs in die von mir gewünschte Richtung, und eigentlich sollte der Take-Profit, der 50 Punkte beträgt, funktionieren. Aber das tat es nicht. Trotz der Tatsache, dass der aktuelle Preis unter das Niveau des Preises fiel, zu dem die Position eröffnet wurde, plus die Größe des Spreads, d.h. 50 + 14 Pips, wurde die Position mit einer Größe von 36 Pips vom Eröffnungskurs geschlossen. Und so wiederholt es sich von Zeit zu Zeit, von Geschäft zu Geschäft. Ich lasse den Roboter auf dem Testgerät laufen und sehe, dass alle geschlossenen Positionen die Größe von 50 Pips haben, wie es sein sollte.
Gibt es wirklich eine konstante Abweichung mit einer Größe, die ungefähr der Größe des Spreads von 14 Pips entspricht? Etwas seltsam, finden Sie nicht auch? Hier ist das Log eines der gestrigen Trades.
KE 005:36:02.089 Trades '1000008949': modify #1021600709 sell stop 0.04 EURUSDrfd -> price: 1.07870, sl: 1.07970, tp: 1.07820) done in8.663 ms
RK 005:45:14.097 Trades '1000008949': deal #1021883094 sell 0.04 EURUSDrfd at 1.07870 done (based on order #1021600709)
RJ 007:49:46.015 Network '1000008949': scanning network for access points
PJ 007:49:46.873 Network '1000008949': scanning network finished
IR 010:51:16.238 Trades '1000008949': market buy 0.04 EURUSDrfd, close #1021600709 sell 0.04 EURUSDrfd 1.07870
FF 010:51:16.258 Trades '1000008949': accepted market buy 0.04 EURUSDrfd, close #1021600709 sell 0.04 EURUSDrfd 1.07870
JF 010:51:16.558 Trades '1000008949': market buy 0.04 EURUSDrfd, close #1021600709 sell 0.04 EURUSDrfd 1.07870 placed for execution
OI 010:51:16.558 Trades '1000008949': order #1021607738 buy 0.04 / 0.04 EURUSDrfd at market done in316.213 ms
EF 010:51:16.558 Trades '1000008949': deal #1021888944 buy 0.04 EURUSDrfd at 1.07834 done (based on order #1021607738)
MrBrooklin Pending Order und folgt dann dem Preis. Nachdem der Preis die Pending Order "gefangen" hat, eröffnet er eine SELL-Position mit einem festgelegten Stop Loss und Take Profit. Bis zu diesem Punkt gibt es keine Probleme. Dann bewegt sich der Kurs in die von mir gewünschte Richtung, und eigentlich sollte der Take-Profit, also 50 Punkte, funktionieren. Aber das tat es nicht. Trotz der Tatsache, dass der aktuelle Preis unter das Niveau des Preises fiel, zu dem die Position eröffnet wurde, plus die Größe des Spreads, d.h. 50 + 14 Pips, wurde die Position mit einer Größe von 36 Pips vom Eröffnungskurs geschlossen. Und so wiederholt es sich von Zeit zu Zeit, von Geschäft zu Geschäft. Ich lasse den Roboter auf dem Testgerät laufen und sehe, dass alle geschlossenen Positionen die Größe von 50 Pips haben, wie es sein sollte.
Gibt es wirklich eine konstante Abweichung, und mit der gleichen Größe, etwa gleich der Größe des Spreads von 14 Pips. Das ist doch seltsam, oder? Hier ist das Transaktionsprotokoll.
Mit freundlichen Grüßen, Vladimir.
Vielleicht übersehe ich etwas, aber ich glaube, Sie müssen verstehen, was bietenund fragen sind.
Vielleicht übersehe ich etwas, aber ich glaube, Sie müssen herausfinden, was und ask sind
Ich habe auch angefangen zu zweifeln und dachte, dass das Problem im Code liegt. Aber dann würde ich die gleichen Probleme in der Strategie-Tester haben. Aber im Strategietester ist alles in Ordnung! Ich habe die Ausführungszeit in rot hervorgehoben, wenn ich einen Handel schließe. Vielleicht ist dies das Problem?
Mit freundlichen Grüßen, Vladimir.
P.S. Heute hatte ich 3 Trades und sie schlossen mit einer Abweichung von 10, 14 und 15 Punkten. Es sieht wie eine Abweichung aus. ((
Hallo, ein Spread von 15 - 20 Pips bei einem fünfstelligen Preis ist normal. Und 50 Pips sind nicht genug für einen Take. Wenn der Gewinn in der gleichen Größenordnung liegt wie der Spread, werden Sie kein Glück haben. Es hängt allerdings davon ab, wer Sie sind.
Aleksei Stepanenko #: Hallo, ein Spread von 15 - 20 Pips bei einem fünfstelligen Preis ist normal. Und 50 Pips sind nicht genug für einen Take. Wenn der Gewinn in der gleichen Größenordnung liegt wie der Spread, werden Sie kein Glück haben. Aber das hängt davon ab, wer Sie sind.
Hallo Alexey, ich stimme zu, dass dies nicht die idealste Strategie für einen Roboter ist, aber solange sie einen stabilen Gewinn bringt, sollte sie funktionieren. Weniger ist besser, aber besser.
Nun zu meiner Frage. Ich habe mir alle Logs angesehen und festgestellt, dass seit dem 1. Februar die Zeit für das Schließen von Trades stark zugenommen hat - von 50-70 msk auf 330-450 msk. Ich werde mich bei meinem Forex-Händler erkundigen, was passiert ist.
Gibt es eine Möglichkeit, die Ausgabe von Datenbankverbindungsfehlern abzubrechen? Zum Beispiel gibt die Funktion DatabaseOpen() jedes Mal einen Fehler aus, wenn die Datenbank gesperrt ist und die Funktion nicht darauf zugreifen kann. Aber das ist für mich eine normale Arbeitssituation, ich fange diesen Fehler selbst ab und gebe ihn bei Bedarf aus.
Infolgedessen ist das gesamte Protokoll voll von Meldungen über gesperrte Datenbanken.
2023.02.1318:57:21.917 database error, database is locked
Ich habe einen unerklärlichen Moment erlebt. Das Konto ist real. Der Roboter setzt eine Pending Order und folgt dann dem Preis. Nachdem der Preis die Pending Order "gefangen" hat, eröffnet er eine SELL-Position mit einem festgelegten Stop Loss und Take Profit. Bis zu diesem Punkt gibt es keine Probleme. Dann bewegt sich der Kurs in die von mir gewünschte Richtung, und eigentlich sollte der Take-Profit, der 50 Punkte beträgt, funktionieren. Aber das tat es nicht. Trotz der Tatsache, dass der aktuelle Preis unter das Niveau des Preises fiel, zu dem die Position eröffnet wurde, plus die Größe des Spreads, d.h. 50 + 14 Pips, wurde die Position mit einer Größe von 36 Pips vom Eröffnungskurs geschlossen. Und so wiederholt es sich von Zeit zu Zeit, von Geschäft zu Geschäft. Ich lasse den Roboter auf dem Testgerät laufen und sehe, dass alle geschlossenen Positionen die Größe von 50 Pips haben, wie es sein sollte.
Gibt es wirklich eine konstante Abweichung mit einer Größe, die ungefähr der Größe des Spreads von 14 Pips entspricht? Etwas seltsam, finden Sie nicht auch? Hier ist das Log eines der gestrigen Trades.
Mit freundlichen Grüßen, Vladimir.
Gibt es wirklich eine konstante Abweichung, und mit der gleichen Größe, etwa gleich der Größe des Spreads von 14 Pips. Das ist doch seltsam, oder? Hier ist das Transaktionsprotokoll.
Mit freundlichen Grüßen, Vladimir.
Vielleicht übersehe ich etwas, aber ich glaube, Sie müssen verstehen, was bieten und fragen sind.
Vielleicht übersehe ich etwas, aber ich glaube, Sie müssen herausfinden, was und ask sind
Ich habe auch angefangen zu zweifeln und dachte, dass das Problem im Code liegt. Aber dann würde ich die gleichen Probleme in der Strategie-Tester haben. Aber im Strategietester ist alles in Ordnung! Ich habe die Ausführungszeit in rot hervorgehoben, wenn ich einen Handel schließe. Vielleicht ist dies das Problem?
Mit freundlichen Grüßen, Vladimir.
P.S. Heute hatte ich 3 Trades und sie schlossen mit einer Abweichung von 10, 14 und 15 Punkten. Es sieht wie eine Abweichung aus. ((
Hallo, ein Spread von 15 - 20 Pips bei einem fünfstelligen Preis ist normal. Und 50 Pips sind nicht genug für einen Take. Wenn der Gewinn in der gleichen Größenordnung liegt wie der Spread, werden Sie kein Glück haben. Aber das hängt davon ab, wer Sie sind.
Hallo Alexey, ich stimme zu, dass dies nicht die idealste Strategie für einen Roboter ist, aber solange sie einen stabilen Gewinn bringt, sollte sie funktionieren. Weniger ist besser, aber besser.
Nun zu meiner Frage. Ich habe mir alle Logs angesehen und festgestellt, dass seit dem 1. Februar die Zeit für das Schließen von Trades stark zugenommen hat - von 50-70 msk auf 330-450 msk. Ich werde mich bei meinem Forex-Händler erkundigen, was passiert ist.
Mit freundlichen Grüßen, Vladimir.
Können Sie mir bitte sagen, ob es möglich ist, die ID eines Expert Advisors in der Tabelle "Trade" zu ändern?
Oder nehmen wir an, es gibt ein Skript, das SellLimit-Aufträge setzt,
trade.BuyLimit(1,10.75,NULL,0,0,0,0,0,0,0,0,NULL);
Wie und wo kann man die ID-Nummer im Befehl angeben, damit diese Order von einem Expert Advisor mit einer ähnlichen ID aufgegriffen werden kann?
Können Sie mir bitte sagen, ob es möglich ist, die ID eines Expert Advisors in der Tabelle "Handel" zu ändern?
Oder nehmen wir an, es gibt ein Skript, das SellLimit-Orders platziert,
trade.BuyLimit(1,10.75,NULL,0,0,0,0,0,0,0,0,NULL);
Wie und wo kann die ID-Nummer im Befehl angegeben werden, damit diese Order von einem Expert Advisor mit einer ähnlichen ID aufgegriffen werden kann?
Was falsch sein kann
Set - die Zeichenfolge, nach der wir suchen.
txt - das, wonach wir suchen.
warum aaa = -1 ???
Und im Allgemeinen kann eine String-Variable irgendwie anders sein als die gleiche String-Variable.
string a = "A";
string c = "A";
In welchen Fällen ist es möglich, dass a!=c ?
Gibt es eine Möglichkeit, die Ausgabe von Datenbankverbindungsfehlern abzubrechen?
Zum Beispiel gibt die Funktion DatabaseOpen() jedes Mal einen Fehler aus, wenn die Datenbank gesperrt ist und die Funktion nicht darauf zugreifen kann.
Aber das ist für mich eine normale Arbeitssituation, ich fange diesen Fehler selbst ab und gebe ihn bei Bedarf aus.
Infolgedessen ist das gesamte Protokoll voll von Meldungen über gesperrte Datenbanken.