Antwort

EXIT RULE im MT4 Problem!!

18 Antworten

Gaudio Fx

Abonnent, bbp_participant, Gemeinschaft, 22 Antworten.

Profil besuchen

vor 8 Jahren #114590

Hallo,
Ich wende mich an Sie, weil ich ein großes Problem habe, das sich in vielen Fällen bei der Entwicklung von Strategien und Verbesserungsstrategien stellt
Das Problem, das sich in vielen Fällen stellt, ist das folgende:
wenn ich die "Exit-Regel (Preis + + Betreiber Indikatoren ...)", strategyquant in bestimmten Bedingungen zu überprüfen, mit einer sehr guten Lösung als dieses Beispiel, das ich Ihnen unten:
dies sind die Bedingungen für die Ausstiegsstrategiequant
und das ist, was anstelle von metatrader4 passiert
Beide Short-Positionen haben in diesem Fall die Ausgangsbedingungen vor dem Einstieg, weil das Volumen größer ist als der Durchschnitt 50 (rote Linie) und der MetaTrader gleichzeitig öffnet und schließt.
Dies geschieht jedoch nicht in strategyquant, da davon ausgegangen wird, dass die Ausgabebedingung erst am Ende der Einstiegskerze ausgelöst werden muss.
Das wäre so, als würde man sagen, dass die Bedingung für den Ausstieg am Ende der Einstiegskerze liegt und dies, in vielen Fällen ist es sehr gut. aber metatrader nicht passieren und öffnet und schließt zur gleichen Zeit, ohne für die Finalisierung der Kerze wartenwie in strategyquant, was zu guten Ergebnissen führt
wie mache ich es klar, Metatrader, die für die Schließung der Kerze des Eintrags warten müssen und aktivieren Sie dann die Ausfahrt Regeln als strategyquant?
Ich danke Ihnen vielmals
PS:
DIE LOGIK, DIE ICH BENUTZE, IST NICHT GUT FÜR DEN HANDEL, ABER DIE FRAGE IST DIESELBE.
es ist nicht logisch, ich weiß .. aber es war nur ein Beispiel .. ist das Konzept, das ich denke, ist wichtig, oder ob die "Exit-Regel aktiv ist, bevor die Eröffnung des Handels, WARUM in metatrader4 ist aktiv zur gleichen Zeit öffnen, während auf strategyquant ist aktiv nur in der Schließung Kerze ????? .. DIES IST DIE FRAGE... nicht für logische Exemplar exit... 

Ich kann diese Ausstiegsregel durch eine logischere Regel wie diese ersetzen:

 

 

aber wenn diese Bedingung vor der Bestellung wahr ist, in metatrader die Schließung ist am gleichen Punkt zu öffnen .. aber in strategyquant die Schließung ist nach der Kerze schließen!! .. ich möchte die gleiche Bedingung in MT4..IT'S POSSIBLE?

0

mikeyc

Kunde, bbp_participant, Gemeinschaft, 877 Antworten.

Profil besuchen

vor 8 Jahren #134663

Diese Ausstiegsregel ergibt für mich keinen logischen Sinn.

 

Warum sollte ein überdurchschnittliches Volumen das Schließen einer Short-Position und ein unterdurchschnittliches Volumen das Schließen einer Long-Position bedeuten oder umgekehrt? Dies scheint ein weiteres Beispiel für die seltsame Logik bei der Auswahl symmetrischer Regeln zu sein.

 

Das Volumen, das über oder unter dem Durchschnitt liegt, ist nicht richtungsbestimmend.

0

Gaudio Fx

Abonnent, bbp_participant, Gemeinschaft, 22 Antworten.

Profil besuchen

vor 8 Jahren #134664

es ist nicht logisch, ich weiß .. aber es war nur ein Beispiel .. ist das Konzept, das ich denke, ist wichtig, oder ob die "Exit-Regel aktiv ist, bevor die Eröffnung des Handels, WARUM in metatrader4 ist aktiv zur gleichen Zeit öffnen, während auf strategyquant ist aktiv nur in der Schließung Kerze ????? .. DIES IST DIE FRAGE... nicht für logische Exemplar exit...

Ich kann diese Ausstiegsregel durch eine logischere Regel wie diese ersetzen:

 

aber wenn diese Bedingung vor der Bestellung wahr ist, in metatrader die Schließung ist am gleichen Punkt zu öffnen .. aber in strategyquant die Schließung ist nach der Kerze schließen!! .. ich möchte die gleiche Bedingung in MT4..IT'S POSSIBLE?

0

mikeyc

Kunde, bbp_participant, Gemeinschaft, 877 Antworten.

Profil besuchen

vor 8 Jahren #134665

Sieht aus, als handele es sich um schwebende Aufträge (Limit- oder Stop-Aufträge). Sind Sie sicher, dass sie geschlossen und nicht gelöscht werden?

 

Was zeigt die Registerkarte "Ergebnisse" im MT4 anstelle des Diagramms an?

0

Gaudio Fx

Abonnent, bbp_participant, Gemeinschaft, 22 Antworten.

Profil besuchen

vor 8 Jahren #134666

ja ja ich bin mir 100% sicher ... Aufträge werden sofort geöffnet und geschlossen
der Bericht auf mt4 ist klar über die Eröffnung und Schließung ...
 
Ich wiederhole: strategyquant aktiviert die Ausstiegsregel unmittelbar nach dem Schließen der Kerze, bei der Sie den Handel eröffnet haben.
Stattdessen mt4 dies nicht geschehen, die Exit-Regel ist aktiv zur gleichen Zeit zu öffnen.
 
Wie steuere ich, dass ich auf das Schließen der Kerze warte?
Ich muss manuell eine Änderung zu den Strategien hinzufügen? Können Sie erklären, wie ich diese Änderung einfüge, damit dies geschieht?
 
Ich habe versucht, zu schließen (1) öffnen (1), aber nicht gehen, dann habe ich versucht, mit cloase (2) öffnen (1) und jede Bestellung öffnet es richtig ..: /

0

tomas262

Administrator, sq-ultimate, 2 Antworten.

Profil besuchen

vor 8 Jahren #134667

Gaudio, ich habe den Eindruck, dass die Einstiegs- und Ausstiegsbedingungen manchmal "kollidieren" können, und je nach Backtesting-Präzision ergibt sich dann ein unterschiedliches Verhalten, z. B. sofortiger Ausstieg nach dem Einstieg. Können Sie mir die Strategie (*.STR-Datei) an folgende Adresse schicken [email protected] damit ich es überprüfen kann? Die Lösung kann hier ein Fix für SQ oder die Bearbeitung Ihres Strategiecodes sein, um auf den Bar Close zu warten.

0

geektrader

Customer, bbp_participant, community, 522 replies.

Profil besuchen

vor 8 Jahren #134673

Ja, das ist ein Präzisionsproblem. Wenn Sie eine solche Strategie mit echten Tick-Daten backtesten, verhält sie sich in der SQ genauso und wird fehlschlagen. Stellen Sie also sicher, dass Sie Strategien immer mit echten Tickdaten zumindest der letzten Jahre überprüfen, um solche Dinge zu vermeiden. Ich persönlich würde auch niemals "Volumen" für eine Handelslogik verwenden, da das Volumen bei jedem Broker völlig unterschiedlich ist. Das Gleiche gilt für die "Stunde", es sei denn, Sie wissen, dass die historischen Daten, die Sie verwenden, zeitlich absolut mit Ihrem aktuellen Broker übereinstimmen.


🚀 Unlock Your Edge in Automated Forex Strategy Development 🚀

Historical Forex Data Starting From 1987, 28 Pairs, M1, 99% Error-Free, Lifetime Free Updates

0

mikeyc

Kunde, bbp_participant, Gemeinschaft, 877 Antworten.

Profil besuchen

vor 8 Jahren #135652

 

 
Ich wiederhole: strategyquant aktiviert die Ausstiegsregel unmittelbar nach dem Schließen der Kerze, bei der Sie den Handel eröffnet haben.
Stattdessen mt4 dies nicht geschehen, die Exit-Regel ist aktiv zur gleichen Zeit zu öffnen.
 

 

 

Ich habe gerade dieses Problem mit SQ vs MT4 auch gefunden.

 

In SQ wird die Position beim Öffnen des Balkens eröffnet und am Ende des Balkens/bei Eröffnung des nächsten Balkens geschlossen. In MT4 (mit jeder Tick-Präzision) wird die Order sofort beim Öffnen des Balkens eröffnet und geschlossen.

 

In MT4 sehen Sie also keinen Gewinn, in SQ eine sehr gute Rentabilität. Die Ergebnisse sind völlig unterschiedlich.

 

Dies geschieht in Strategien, die eine Ausstiegsregel haben, die zur gleichen Zeit wie die Einstiegsregel wahr ist, d.h. einen Handel öffnen und einen Handel in diesem Balken schließen. Es scheint, SQ nimmt dies zu bedeuten, öffnen Sie den Handel bei bar öffnen und schließen am Ende der bar, und MT4-Logik tut beides bei bar öffnen.

 

Beunruhigend ist, dass dies für viele Strategien mit Ein- und Ausstiegsregeln gilt.....

0

mikeyc

Kunde, bbp_participant, Gemeinschaft, 877 Antworten.

Profil besuchen

vor 8 Jahren #135653

Erste Tests zeigen, dass Sie die MT4-Strategien so "reparieren" können, dass sie wie in SQ funktionieren, indem Sie der folgenden Funktion eine Codezeile hinzufügen:

void closePositionAtMarket() {
   RefreshRates();
   double priceCP;

   if(OrderType() == OP_BUY) {
      priceCP = Bid;
   } else {
      priceCP = Ask;
   }
   
   if(OrderOpenTime() >= Time[0]) return; // Neue Code-Zeile! Beenden, wenn die Order gerade eröffnet wurde

   rettmp = OrderClose(OrderTicket(), OrderLots(), priceCP, MaxSlippage);
}

0

Gaudio Fx

Abonnent, bbp_participant, Gemeinschaft, 22 Antworten.

Profil besuchen

vor 8 Jahren #135655

 

Erste Tests zeigen, dass Sie die MT4-Strategien so "reparieren" können, dass sie wie in SQ funktionieren, indem Sie der folgenden Funktion eine Codezeile hinzufügen:

void closePositionAtMarket() {
   RefreshRates();
   double priceCP;

   if(OrderType() == OP_BUY) {
      priceCP = Bid;
   } else {
      priceCP = Ask;
   }
   
   if(OrderOpenTime() >= Time[0]) return; // Neue Code-Zeile! Beenden, wenn die Order gerade eröffnet wurde

   rettmp = OrderClose(OrderTicket(), OrderLots(), priceCP, MaxSlippage);
}

 

Ich bin sehr froh, dass endlich jemand erkannt hat, dass das Problem nicht im Backtest mt4 lag, sondern es ein Problem von STRATEGYQUANT ist.
Nun, wenn ich richtig verstehe, wenn die Strategie vorbei ist, um das Problem zu lösen, muss ich in den Code der Strategie zu schreiben, die Zeichenfolgen, die Sie gerade berichtet ... richtig?
Aber an welcher Stelle in den Zeilen des Strategiecodes sollte ich diese Skriptzeile einfügen?
Haben Sie besser erklärt, wo ich sie hingelegt habe?
 
Sie sind ein Genie
 
Ich danke Ihnen vielmals

0

geektrader

Customer, bbp_participant, community, 522 replies.

Profil besuchen

vor 8 Jahren #135656

Ja, aber wenn man darüber nachdenkt, macht SQ es im Backtest falsch, nicht MT4. Wenn eine Regel für Öffnen und Schließen zur gleichen Zeit gilt, sollte der Auftrag innerhalb von 2 Ticks geöffnet und geschlossen werden - Tick 1 öffnen, Tick 2 schließen. Die Order einen Takt lang zu halten, ist weniger sinnvoll als sie sofort zu schließen, wie es MT4 tut. Also eigentlich SQ Backtesting-Code sollte angepasst werden, um die Bestellung sofort zu schließen und tatsächlich ungültig die Strategie auf diese Weise zu, denn das ist alles, was es ist, können Sie nicht eine offene und geschlossene Regel Anwendung im gleichen Moment. Es wäre gültig, WENN die Strategie hätte auch die Möglichkeit, den Handel mindestens 1 bar zu halten, dann alles in Ordnung, Ihre oben MT4-Code wäre dann richtig sein. Aber wenn die Open- und Close-Regel gleichzeitig gültig sind, ist das, was SQ tut, genau das, was logisch richtig ist und wie eine solche Strategie tatsächlich auch funktionieren würde, wenn sie manuell gehandelt wird. Die Orderregeln würden z.B. sagen: Eröffne einen Trade, wenn Previous close > current open und schließe ihn, wenn Previous close > current open. In diesem Fall müsste man die Order öffnen und gleich wieder schließen, um die Regeln zu befolgen - das macht zwar keinen Sinn, aber genau das tun die Strategien, die solche Regeln haben, auch. Würde es heißen, eröffne einen Handel, wenn der vorherige Schlusskurs > die aktuelle Eröffnung ist, halte mindestens 1 Bar und schließe ihn, wenn der vorherige Schlusskurs > die aktuelle Eröffnung ist, dann ist das in Ordnung und macht Sinn.


🚀 Unlock Your Edge in Automated Forex Strategy Development 🚀

Historical Forex Data Starting From 1987, 28 Pairs, M1, 99% Error-Free, Lifetime Free Updates

0

mikeyc

Kunde, bbp_participant, Gemeinschaft, 877 Antworten.

Profil besuchen

vor 8 Jahren #135658

Suchen Sie in der mq4-Datei nach closePositionAtMarket()

 

Fügen Sie die Zeile

 

wenn(OrderOpenTime() >= Zeit[0]) return; // Neue Codezeile! Beenden, wenn der Auftrag gerade eröffnet wurde

 

Wo ich es gezeigt habe.

0

geektrader

Customer, bbp_participant, community, 522 replies.

Profil besuchen

vor 8 Jahren #135660

Ja, ich verstehe völlig, was Sie meinen, aber das entspricht einer zusätzlichen Regel von "halten Handel mindestens 1 bar vor dem Ausstieg", die nicht eine Regel in SQ für diese Strategie ist, wie Sie sagen, und daher ist falsch LOGISCH. Sicherlich tut Ihr Fix das, was Sie wollen, das verstehe ich, aber logisch ist es trotzdem nicht korrekt. Wenn Sie die gleichen Regeln für Öffnen und Schließen zur gleichen Zeit anwenden, um die Logik von SQ korrekt auf MT4 zu übertragen, MUSS die Order innerhalb von 2 Ticks geöffnet und geschlossen werden, wenn sie dem realen Markt ausgesetzt ist. Sicher, WENN Sie die zusätzliche Regel "mindestens 1 Bar halten" hinzufügen, dann ist Ihre Lösung korrekt, aber da diese Regel nicht in der ursprünglichen Strategie in SQ enthalten ist, ist es nicht korrekt, es in MT4 so zu machen. Ich will damit nur sagen, dass es sich um ein logisches Problem handelt und SQ sich hier korrekt verhält. Es ist kein wirklicher Fehler, sondern genau so, wie sich solche Regeln (ohne die zusätzliche Regel "Handel mindestens 1 Bar halten") im Live-Handel verhalten würden.


🚀 Unlock Your Edge in Automated Forex Strategy Development 🚀

Historical Forex Data Starting From 1987, 28 Pairs, M1, 99% Error-Free, Lifetime Free Updates

0

mikeyc

Kunde, bbp_participant, Gemeinschaft, 877 Antworten.

Profil besuchen

vor 8 Jahren #135663

Ich schlage nur eine Lösung vor, damit sich MT4 so verhält wie SQ. Niemand muss dies tun, aber wenn sie wollen, dass der Live-Handel mit SQ übereinstimmt, ist dies, was es braucht.

0

Gaudio Fx

Abonnent, bbp_participant, Gemeinschaft, 22 Antworten.

Profil besuchen

vor 8 Jahren #135664

Suchen Sie in der mq4-Datei nach closePositionAtMarket()

 

Fügen Sie die Zeile

 

if(OrderOpenTime() >= Time[0]) return; // Neue Codezeile! Beenden, wenn der Auftrag gerade eröffnet wurde

 

Wo ich es gezeigt habe.

okok..

 

Wenn ich dies in einem logischen "oder" und nicht in einem "wenn" möchte, habe ich "wenn" durch "oder" ersetzt?

 

z. B: or(OrderOpenTime() >= Time[0]) return; // Neue Codezeile! Beenden, wenn der Auftrag gerade eröffnet wurde

0

geektrader

Customer, bbp_participant, community, 522 replies.

Profil besuchen

vor 8 Jahren #135665

Ich schlage nur eine Lösung vor, damit sich MT4 so verhält wie SQ. Niemand muss dies tun, aber wenn sie wollen, dass der Live-Handel mit SQ übereinstimmt, ist dies, was es braucht.

 

Ja, beim Backtesting mit Tickdaten öffnet und schließt SQ die Order auch innerhalb von 2 Ticks, genau wie MT4.


🚀 Unlock Your Edge in Automated Forex Strategy Development 🚀

Historical Forex Data Starting From 1987, 28 Pairs, M1, 99% Error-Free, Lifetime Free Updates

0

Ansicht von 15 Antworten - 1 bis 15 (von insgesamt 18)

1 2