Wird B127 die benutzerdefinierte Trailing Stop Methode im CodeEditor unterstützen?
1 Antworten
eastpeace
vor 4 Jahren #257678
Ich weiß nicht, ob B127 benutzerdefinierte Exit-Methoden im Coding-Editor unterstützen wird. Ich möchte einige benutzerdefinierte Methoden für die Ausfahrt zu implementieren, aber ich bin nicht sicher, ob die SQ zu MC / TS Sprache gut konvertieren kann.
B127 wurde zu lange aufgeschoben, und wir haben bisher keine Entwicklungs- oder Betaversion gesehen.
Aber ich bin wirklich nicht zufrieden mit einer Ausstiegsmethode innerhalb von SQ.
Freunde, die TS oder MC benutzen, denken Sie so?
Dies ist zum Beispiel ein Trailing-Stop mit Aktivierung unter Verwendung der ATR.
Im Vergleich zum Trailing-Stop mit festem Pip/Size ist die Implementierung mit ATR nicht sehr genau.
...
LongSLPlaced = false;
If BarsSinceEntry = 0 then begin
IntLongSL = 0;
IntLongTS = 0;
Ende;
// StopLoss
IntLongSL = EntryPrice - EnterRvrAtMrkStpLss * tickSize;
IntLongSL = SQ_CorrectMinMaxSLPT(IntLongSL, MinimumSL, MaximumSL, true);
Sell("LongSL") nächster Bar zu IntLongSL Stop;
LongSLPlaced = wahr;
// ProfitTarget einleiten
IntPT = 0;
// Nachlaufender Stopp
IntPriceLevel = EnterRvrAtMrkTrlStpCef * SQ_ATR(20)[1];
Wenn IntPriceLevel > 0 und Close - EntryPrice >= Round2Fraction(EnterRvrAtMrkTrlActCef * SQ_ATR(20)[1]) und (IntLongTS = 0 oder Round2Fraction(Close - IntPriceLevel) > IntLongTS) dann begin
IntLongTS = Round2Fraction(Close - IntPriceLevel); // auch Trailing Stop beachten
Ende;
Wenn IntLongTS > 0 und IntLongTS > IntLongSL, dann begin
Sell("LongTrailingStop") nächster Strich bei IntLongTS stop;
LongSLPlaced = wahr;
Ende;
...
Ich weiß nicht, wie SQ intern funktioniert und wie es mit TS oder der Backtest-Engine von MC zusammenarbeitet.
Hier ist mein Vorschlag gemäß diesem Stück EL-Code.
1,IntLongsl.
Wenn Sie die ATR für den anfänglichen Stop-Loss verwenden. Lassen Sie uns den festen Wert, die ATR vor dem Eintrag verwenden.
preatr = SQ_ATR(20);
//------------------------------------------------------------------
// Eintrag
//------------------------------------------------------------------
//.....Eintrag Teil
//------------------------
// Orders Exits (SL, PT, Trailing) für Regel: Long-Eintrag
//------------------------
if(MarktPosition > 0) then begin
LongSLPlaced = false;
If BarsSinceEntry = 0 then begin
IntLongSL = 0;
IntLongTS = 0;
AtrbeforeEntry = preatr[1];
Ende;
//...
Dann legen wir den anfänglichen Stop-Loss und das Gewinnziel fest. SL und PT werden auf festen Niveaus bleiben und sicherstellen, dass sie mit dem RR-Verhältnis übereinstimmen.
* Es wird dringend empfohlen, alle Berechnungen der technischen Indikatoren vor die Ein- und Ausstiegscodes zu setzen, um sicherzustellen, dass es beim Aufruf keine Abweichungen gibt.
2. Nachlaufender Stopp
Es gibt einen offensichtlichen Fehler in der Aktivierung. Wir sollten den höchsten Preis in der Long-Position halten verwenden. Und das ist sehr einfach.
if(MarktPosition > 0) then begin
LongSLPlaced = false;
If BarsSinceEntry = 0 then begin
IntLongSL = 0;
IntLongTS = 0;
HighestInLong = close;
Ende;
Wenn BarsSinceEntry >0, dann
HighestInLong = max(HighestInLong, close);
Wie beim anfänglichen SL und PT ist es besser, den festen ATR-Wert zu verwenden.
IntPriceLevel > 0 und Close - EntryPrice >= Round2Fraction(AtrbeforeEntry)
3. Nachlaufender Stoppkurs
Es gibt einige Arten, wie zum Beispiel,
1)IntLongTS = Round2Fraction(Close - IntPriceLevel) Dies ist jetzt die Methode in SQ.
2)
IntLongTS = Round2Fraction(Close - IntPriceLevel)
IntLongTS = MAX( Round2Fraction(Close - IntPriceLevel), [IntLongTS] )
3)
IntLongTS = Round2Fraction(HighestInLong - IntPriceLevel)
Die letzten beiden Methoden zur Vermeidung einer verspäteten Ausfahrt aufgrund einer Verlangsamung.
Wenn es nicht im Codeditor kodiert werden kann, hoffe ich, dass SQ diese Ausstiegsmethoden verbessern kann. Ich habe viele Male darum gebeten. Ich glaube, dies wird auch anderen Händlern helfen.
tomas262
vor 4 Jahren #257699
Hallo,
wir werden das nächste SQ-Update 127 voraussichtlich Ende dieser Woche veröffentlichen, wenn kein größerer Fehler gefunden wird.
In dieser Version können Sie Ihre eigenen "Blöcke" bauen, die Sie für Folgendes verwenden können Eintrag oder Ausgang aber ich vermute, nicht für die Aktivierung des Trailing-Stops, wie Sie vorschlagen
Wie ich sehe, gab es bereits eine Diskussion über die SL- und TSL-Implementierung in MC- und EL-Code, aber ich werde die Entwickler darüber informieren
Ansicht von 1 Antwort (von insgesamt 1)