Stochastische Supertrend-Trailing-Stop-Handelsstrategie


Erstellungsdatum: 2024-01-25 16:04:39 zuletzt geändert: 2024-01-25 16:04:39
Kopie: 0 Klicks: 712
1
konzentrieren Sie sich auf
1617
Anhänger

Stochastische Supertrend-Trailing-Stop-Handelsstrategie

Überblick

Es handelt sich um eine Stop-Loss-Handelsstrategie, bei der mehrere technische Indikatoren kombiniert werden. Die Stop-Loss-Handelsstrategie verwendet hauptsächlich Supertrend-, Stochastic-, 200-Tages-Moving-Average- und ATR-Stopp-Indikatoren, um Handelssignale zu identifizieren und Stop-Loss-Positionen zu setzen. Die Strategie ist für den Handel mit mittleren und langen Trends geeignet und kann das Risiko effektiv kontrollieren.

Strategieprinzip

Wenn die Stochastic K-Linie von der Überkaufzone abfällt, zeigt der Supertrend einen Aufwärtstrend an, und der Preis überschreitet den 200-Tage-Moving-Average, machen Sie einen Überkauf; wenn die Stochastic K-Linie von der Überverkaufzone aufsteigt, zeigt der Supertrend einen Abwärtstrend an, und der Preis unterschreitet den 200-Tage-Moving-Average, machen Sie einen Ausfall. Setzen Sie nach dem Handel einen Stop-Loss mit dem ATR-Indikator.

Wenn der Stochastic K-Wert 80 überschreitet, ist dies ein Überkaufsignal; wenn der Stochastic K-Wert 20 überschreitet, ist dies ein Überverkaufsignal. Der Supertrend-Indikator bestimmt die Richtung der Kursentwicklung.

Mehrfache Signal auslösende Bedingungen: Stochastic K-Linie unterhalb der Überkaufszone (<80); Supertrend zeigt nach oben; Preis über 200-Tage-Moving-Average.

Triggerbedingungen: Stochastische K-Linie steigt aus der Überverkaufszone (<20), Supertrend zeigt nach unten, Preis unter dem 200-Tage-Moving-Average.

Nach dem Eintritt setzt man ATR-Stopp, um die Risiken der Preisschwankungskontrolle zu verfolgen. Mehrfache Stop-Loss ist der Minimalpreis minus ATR-Wert multipliziert mit dem Faktor; Leer Stop-Loss ist der Maximalpreis plus ATR-Wert multipliziert mit dem Faktor.

Strategische Vorteile

Diese Strategie kombiniert mehrere Indikatoren, um die Richtung der Trends und die Zeit des Eintritts zu bestimmen, um falsche Signale effektiv zu filtern. Gleichzeitig kann der Einsatz von ATR-Dynamik-Stop-Loss-Tracking das Risiko steuern und das Geld maximal speichern, je nach Marktschwankungen.

Diese Strategie kann die Wendepunkte besser erfassen als eine Trend-Tracking-Strategie wie ein einfacher Moving Average. Diese ATR-Dynamische Stop-Ops können flexibler sein als die Ein-Stop-Methode. Daher hat diese Strategie insgesamt eine bessere Risiko-Gewinn-Relation.

Strategisches Risiko

Diese Strategie beruht hauptsächlich auf der Bewertung der Indikatoren, die bei falschen Signalen zu Verlusten durch Rückwärtsbewegungen führen können. Außerdem kann der Stop-Loss in einem wackligen Umfeld häufig ausgelöst werden, was zu Verlusten führt.

Zudem kann ein ATR-Stop, obwohl er die Stop-Position an die Schwankungen anpassen kann, die Wahrscheinlichkeit, dass ein Stop durchbrochen wird, nicht vollständig vermeiden. Ein Stop-Bill kann direkt ausgelöst werden, wenn der Preis springt.

Strategieoptimierung

Diese Strategie kann in folgenden Dimensionen optimiert werden:

  1. Anpassung der Indikatorparameter zur Optimierung der Genauigkeit von Kauf- und Verkaufssignalen. So können beispielsweise Stochastic-Indikatoren mit unterschiedlichen Parametern getestet werden, oder die ATR-Periode und die Multiplikationsparameter von Supertrend-Indikatoren angepasst werden.

  2. Die Wirksamkeit anderer Stop-Methoden zu testen. Zum Beispiel kann man anpassungsfähige intelligente Stop-Algorithmen ausprobieren, die flexibler sind als ATR-Stopps, oder es kann in Betracht gezogen werden, dass die Stop-Methode mit einer beweglichen Stop-Position einhergeht.

  3. Erhöhung der Filterbedingungen, so dass die Eintrittsbedingungen zuverlässiger sind. Zum Beispiel können Filter wie der Energieindikator für die Transaktionsmenge hinzugefügt werden, um eine falsche Eintrittsbasis zu vermeiden, wenn die Menge nicht ausreicht.

  4. Optimierung der Kapitalmanagementstrategien, wie z. B. dynamische Positionsanpassungen.

Zusammenfassen

Stochastic Supertrend Tracking Stop Loss Trading Strategy integriert die Verwendung von mehreren Indikatoren, um die Richtung der Tendenz zu bestimmen, und die Verwendung von ATR Intelligent Tracking, um das Risiko zu kontrollieren. Diese Strategie kann effektiv den Lärm des Eintritts filtern, mit einer besseren Risiko-Gewinn-Relation.

Strategiequellcode
/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-24 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © araamas

//@version=5
strategy("stoch supertrd atr 200ma", overlay=true, process_orders_on_close=true)
var B = 0
if strategy.position_size > 0 //to figure out how many bars away did buy order happen
    B += 1 

if strategy.position_size == 0
    B := 0
    
atrPeriod = input(10, "ATR Length")
factor = input.float(3.0, "Factor", step = 0.01)

[supertrend, direction] = ta.supertrend(factor, atrPeriod)

bodyMiddle = plot((open + close) / 2, display=display.none)
upTrend = plot(direction < 0 ? supertrend : na, "Up Trend", color = color.green, style=plot.style_linebr)
downTrend = plot(direction < 0? na : supertrend, "Down Trend", color = color.red, style=plot.style_linebr)

ema = ta.ema(close, 200)
plot(ema, title="200 ema", color=color.yellow)

b = input.int(defval=14, title="length k%")
d = input.int(defval=3, title="smoothing k%")
s = input.int(defval=3, title="smoothing d%")
smooth_k = ta.sma(ta.stoch(close, high, low, b), d)
smooth_d = ta.sma(smooth_k, s)

////////////////////////////////////////////////////////////////////////////////
length = input.int(title="Length", defval=12, minval=1)
smoothing = input.string(title="Smoothing", defval="SMA", options=["RMA", "SMA", "EMA", "WMA"])
m = input(1.5, "Multiplier")
src1 = input(high)
src2 = input(low)
pline = input(true, "Show Price Lines")
col1 = input(color.blue, "ATR Text Color")
col2 = input(color.teal, "Low Text Color",inline ="1")
col3 = input(color.red, "High Text Color",inline ="2")

collong = input(color.teal, "Low Line Color",inline ="1")
colshort = input(color.red, "High Line Color",inline ="2")

ma_function(source, length) =>
	if smoothing == "RMA"
		ta.rma(source, length)
	else
		if smoothing == "SMA"
			ta.sma(source, length)
		else
			if smoothing == "EMA"
				ta.ema(source, length)
			else
				ta.wma(source, length)
				
a = ma_function(ta.tr(true), length) * m
x = ma_function(ta.tr(true), length) * m + src1
x2 = src2 - ma_function(ta.tr(true), length) * m

p1 = plot(x, title = "ATR Short Stop Loss", color=color.blue)
p2 = plot(x2, title = "ATR Long Stop Loss", color= color.blue)


///////////////////////////////////////////////////////////////////////////////////////////////

shortCondition = high < ema and direction == 1 and smooth_k > 80
if (shortCondition) and strategy.position_size == 0
    strategy.entry("sell", strategy.short)

longCondition = low > ema and direction == -1 and smooth_k < 20
if (longCondition) and strategy.position_size == 0
    strategy.entry("buy", strategy.long)
    
g = (strategy.opentrades.entry_price(0)-x2) * 2
k = (x - strategy.opentrades.entry_price(0)) * 2

if strategy.position_size > 0
    strategy.exit(id="buy exit", from_entry="buy",limit=strategy.opentrades.entry_price(0) + g, stop=x2) 

if strategy.position_size < 0
    strategy.exit(id="sell exit", from_entry="sell",limit=strategy.opentrades.entry_price(0) - k, stop=x) 
    
//plot(strategy.opentrades.entry_price(0) - k, color=color.yellow)
//plot(strategy.opentrades.entry_price(0) + g, color=color.red)