この戦略は,シンプル・ムービング・平均 (SMA) の傾斜に基づいて上昇傾向を特定し,特定の条件を満たしたときにロングポジションに入ります.ストップ・ロスの価格を動的に調整することによって利益を保護するためのオプションのトレーリング・ストップ・ロスのメカニズムを組み込みます.さらに,ストップ・ロスのイベント後に再エントリーする条件を設定し,過度に高い価格でポジションに入ることを防止します.これらの機能により,戦略は上昇傾向を効果的に把握し,リスクを管理し,規律的な取引を確保します.
この戦略は,リスクを管理しながら上昇傾向を捉えるために,SMAトレンドフォロー,ストップロスの後を追う,そして規律的な再エントリーメカニズムを利用する.パラメータ設定を最適化し,リスク管理を強化し,ロングショート取引をサポートし,マルチタイムフレームの確認を組み込むことで,戦略の適応性と強度がさらに向上することができます.
/*backtest start: 2023-05-28 00:00:00 end: 2024-06-02 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("MA Incline Strategy with Optional Trailing Stop-Loss", overlay=true, calc_on_every_tick=true) // Input parameters windowSize = input.int(20, title="Window Size") maLength = input.int(150, title="Moving Average Length") minSlope = input.float(0.1, title="Minimum Slope") useTrailingStop = input.bool(true, title="Use Trailing Stop-Loss") trailingStopPercentage = input.float(2.8, title="Trailing Stop Percentage (%)") / 100 // Calculate the moving average ma = ta.sma(close, maLength) // Calculate the slope of the moving average over the window size previousMa = ta.sma(close[windowSize], maLength) slopeMa = (ma - previousMa) / windowSize // Check conditions isAboveMinSlope = slopeMa > minSlope isAboveMa = close > ma // Buy condition buyCondition = isAboveMinSlope and isAboveMa // Execute strategy if (buyCondition and strategy.opentrades == 0) strategy.entry("Long", strategy.long) // Trailing stop-loss (optional) if (strategy.opentrades == 1 and useTrailingStop and isAboveMa) // Calculate the trailing stop price trailPrice = close * (1 - trailingStopPercentage) // Use the built-in strategy.exit function with the trailing stop strategy.exit("Trail Stop", "Long", stop=trailPrice) // Exit condition sellCondition = ta.crossover(ma, close) if (sellCondition and strategy.opentrades == 1) strategy.close("Long")