Diese Strategie handelt auf der Grundlage von goldenen Kreuz und totem Kreuz von 3 einfachen gleitenden Durchschnitten. Es geht lang, wenn die schnelle SMA über die mittlere SMA und die mittlere SMA über die langsame SMA kreuzt; Es geht kurz, wenn der umgekehrte Crossover stattfindet.
Der schnelle SMA steht für den kurzfristigen Trend, der mittlere SMA für den mittelfristigen Trend und der langsame SMA für den langfristigen Trend. Wenn die drei SMAs aufeinanderfolgend nach oben kreuzen, signalisiert er einen Aufwärtstrend, um lang zu gehen. Wenn ein Abwärtstrend eintritt, signalisiert er einen Abwärtstrend, um kurz zu gehen. Eintrittsverzögerung kann auch so eingestellt werden, dass kurzfristige falsche Ausbrüche vermieden werden.
Risiken können durch Positionsgrößen, SMA-Optimierung, Stop-Loss-Strategien usw. verwaltet werden.
Diese Strategie hält Positionen basierend auf 3 SMA-Kreuzungen, um die Trendrichtung zu bestimmen. Vorteile sind einfache klare Signale und Konfigurationsfähigkeit; Nachteile sind zurückbleibende Signale und Parameterabhängigkeit. Die Leistung kann durch Parameteroptimierung, Stop-Loss usw. verbessert und Risiken kontrolliert werden.
/*backtest start: 2023-08-21 00:00:00 end: 2023-09-20 00:00:00 period: 3h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // © DaynTrading //@version=4 // strategy( // title="Simple Moving Average Cross", // overlay=true, // initial_capital=5000, // default_qty_type=strategy.percent_of_equity, // default_qty_value=2, // commission_type=strategy.commission.percent, // commission_value=0.075, // pyramiding=0 // ) sma_top_input = input(title="SMA Top", type=input.integer, defval=20) sma_mid_input = input(title="SMA Mid", type=input.integer, defval=50) sma_low_input = input(title="SMA Low", type=input.integer, defval=200) bars_long = input(title="Long: After trigger, how many bars to wait?", type=input.integer, defval=5) bars_short = input(title="Short: After trigger, how many bars to wait?", type=input.integer, defval=5) sma_top = sma(close, sma_top_input) sma_mid = sma(close, sma_mid_input) sma_low = sma(close, sma_low_input) long = sma_top > sma_mid and sma_mid > sma_low short = sma_top < sma_mid and sma_mid < sma_low long_condition = long and long[bars_long] and not long[bars_long + 1] short_condition = short and short[bars_short] and not short[bars_short + 1] close_long = sma_top < sma_mid and sma_mid < sma_low and not long[bars_long + 1] close_short = sma_top > sma_mid and sma_mid > sma_low and not short[bars_short + 1] plot(sma_top, title="SMA Top", color=#95f252, linewidth=2) plot(sma_mid, title="SMA Mid", color=#FF1493, linewidth=2) plot(sma_low, title="SMA Low", color=#6a0dad, linewidth=2) strategy.entry("LongPosition", strategy.long, when = long_condition) strategy.entry("ShortPosition", strategy.short, when = short_condition) strategy.close("LongPosition", when = close_short) strategy.close("ShortPosition", when = close_long)