
Die Überschreiten von beweglichen Stop-Loss-Gewinn-Strategie ist eine quantitative Trading-Strategie, die auf überschreiten von Kennzahlen basiert. Die Strategie realisiert Stop-Loss- und Moving-Stops durch den Aufbau von Ein- und Ausstiegsbedingungen für Long- und Short-Positions. Die Strategie hat den Vorteil, dass hohe Gewinne in anhaltenden Trends erzielt werden können, während der Großteil der Gewinne durch Moving-Stops gesperrt werden kann.
Die Strategie basiert auf einer Trend-Tracking-Strategie, bei der der Indikator überschritten wird. Überschreiten des Indikators kann die Richtung des Preistrends bestimmen. Wenn der Indikator überschritten wird, erzeugt dies ein Kauf- und Verkaufssignal.
Der größte Vorteil dieser Strategie ist die Kombination von Trendbeurteilung und Moving Stops. Überschreiten Sie den Indikator, um die Richtung des Trends durch einen Abbruch auf der 0-Achse zu bestimmen, um den Trend genauer zu erfassen.
Das größte Risiko dieser Strategie besteht darin, dass sie empfindlich auf einen Durchbruch fehlschlägt. Überschreiten der Indikatoren kann zu einem falschen Durchbruch führen, wodurch die Positionen falsch eingerichtet werden können.
Diese Strategie kann optimiert werden, indem sie: 1) die Überschreitung der Kennzahlenparameter vernünftigerweise ermittelt, um falsche Signale zu vermeiden; 2) Mechanismen zur Beurteilung der Zuverlässigkeit von Durchbrüchen hinzugefügt werden, wie z. B. die Erhöhung der Transaktionsvolumensignale; 3) die Parameter für die Optimierung der mobilen Stopps optimiert werden, um die Arbitragemöglichkeiten so gering wie möglich zu halten, während die Gewinne gewährleistet werden; 4) die Verwendung von dynamischen Stopps anstelle von statischen Stopps auf Basis von Volatilität; 5) die Kombination anderer Kennzahlen zur Steigerung der Strategie.
Die Überschreitung der mobilen Stop-Loss-Gewinn-Strategie ist insgesamt eine bessere Trend-Tracking-Strategie. Sie kann die Richtung des Trends vernünftigerweise beurteilen und verfügt über eine mobile Stop-Mechanismus. Die Strategie ist jedoch auch sehr empfindlich gegen Durchbruchfehler und birgt ein gewisses Risiko. Durch die weitere Optimierung der Parameter, der Beurteilung der Regeln, der Stop-Loss-Mechanismen usw. kann die Strategie effektiv verbessert werden, um sie zu einer stabilen und effizienten quantitativen Handelsstrategie zu machen.
/*backtest
start: 2023-01-01 00:00:00
end: 2024-01-07 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("ST Michael Moving TP", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=15)
// Stop loss and profit amount
stop_loss = input(1500, title="Stop Loss Amount")
profit = input (15000, title="Profit Amount")
LongTrailProfit = input (0.91, title = "Long Trailing Profit Taking")
ShortTrailProfit = input (1.01, title = "Short Trailing Profit Taking")
atrPeriod = input(10, "ATR Length")
factor = input.float(3.0, "Factor", step = 0.01)
[_, direction] = ta.supertrend(factor, atrPeriod)
long_condition = ta.change(direction) <0
short_condition = ta.change(direction) >0
stop_price_long = ta.valuewhen(long_condition, low[0]-stop_loss,0)
profit_price_long = ta.valuewhen(long_condition, high[0]+profit,0)
stop_price_short = ta.valuewhen(short_condition, high[0]+stop_loss,0)
profit_price_short = ta.valuewhen(short_condition, low[0]-profit,0)
atr=ta.atr(10)
intrade_long = strategy.position_size > 0
intrade_short = strategy.position_size < 0
exitConditionLong = (close < (close[1]*LongTrailProfit))
exitConditionShort = (close > (close[1]*ShortTrailProfit))
if (long_condition)
strategy.entry("Long3", strategy.long)
if (intrade_long and exitConditionLong)
strategy.close("Long3")
if (short_condition)
strategy.entry("Short3", strategy.short)
if (intrade_short and exitConditionShort)
strategy.close ("Short3")
if (strategy.position_size>0)
strategy.exit("exit_long",from_entry="Long3",limit=profit_price_long,stop=stop_price_long)
if (strategy.position_size<0)
strategy.exit("exit_short",from_entry="Short3",limit=profit_price_short,stop=stop_price_short)