Antwort

Wird B127 die benutzerdefinierte Trailing Stop Methode im CodeEditor unterstützen?

1 Antworten

eastpeace

Kunde, bbp_participant, community, sq-ultimate, 305 Antworten.

Profil besuchen

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.

0

tomas262

Administrator, sq-ultimate, 2 Antworten.

Profil besuchen

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

0

Ansicht von 1 Antwort (von insgesamt 1)