この戦略は,単純な移動平均クロスオーバーと平均真の範囲指標を使用して購入・売却信号を生成する.これはトレンドフォロー戦略に属する.主に50日および100日移動平均クロスオーバーを使用してトレンドを決定し,リスクを制御するためにATRに基づいてストップロスを設定する.
この戦略は主に移動平均値のトレンド判断能力とATRのリスク制御能力に依存していることがわかります.論理は単純で理解し実行するのが簡単です.
リスク管理
これは,トレンド方向とATRストップ損失を制御するために移動平均値を用いてトレンド方向を決定する典型的なトレンドフォロー戦略である.論理は単純で理解しやすい.しかし,一定の遅れと誤った信号リスクがあります.パラメータチューニング,インジケーター最適化,より多くの要因を組み込むなどを通じて改善が可能で,戦略をより適応させることができます.全体的にこの戦略は初心者練習と最適化に適していますが,実際の取引でそれを適用する際に注意する必要があります.
/*backtest start: 2023-12-27 00:00:00 end: 2024-01-03 00:00:00 period: 1m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("SMA and ATR Strategy", overlay=true) // Step 1. Define strategy settings lengthSMA1 = input.int(50, title="50 SMA Length") lengthSMA2 = input.int(100, title="100 SMA Length") atrLength = input.int(14, title="ATR Length") atrMultiplier = input.int(4, title="ATR Multiplier") // Step 2. Calculate strategy values sma1 = ta.sma(close, lengthSMA1) sma2 = ta.sma(close, lengthSMA2) atr = ta.atr(atrLength) // Step 3. Output strategy data plot(sma1, color=color.blue, title="50 SMA") plot(sma2, color=color.red, title="100 SMA") // Step 4. Determine trading conditions longCondition = ta.crossover(sma1, sma2) shortCondition = ta.crossunder(sma1, sma2) longStopLoss = close - (atr * atrMultiplier) shortStopLoss = close + (atr * atrMultiplier) // Step 5. Execute trades based on conditions if (longCondition) strategy.entry("Buy", strategy.long) strategy.exit("Sell", "Buy", stop=longStopLoss) if (shortCondition) strategy.entry("Sell", strategy.short) strategy.exit("Buy", "Sell", stop=shortStopLoss)