この戦略はコモディティチャネルインデックス (CCI) をベースとしたモメント・トレードシステムで,平均値からの価格偏差をモニタリングすることによって過売り地域における取引機会を把握するために設計されている.この戦略は12期回顧を利用し,CCIが -90の
CCIの基本原理は,平均値からの価格偏差を測定するためにCCIを使用する.CCIの計算には,まず典型的な価格 (高値,低値,閉値の算術平均値) を計算し,次に典型的な価格の単純な移動平均値 (SMA) を計算し,最終的にSMAを典型的な価格から減算して,平均偏差で割って0.015で掛けることでCCIを導き出す.CCIが -90を下回るときにロングポジションが入力され,潜在的な過剰販売条件を示唆する.価格が以前の高値を超えるとポジションが閉鎖され,上昇傾向が確認される.この戦略は異なるリスク偏好に対応するカスタマイズ可能なストップ・ロストとテイク・プロフィートパラメータを提供しています.
この戦略は,完全な取引システムを作成するために,ストップ・ロストおよびテイク・プロフィートメカニズムと組み合わせて,CCI指標を通じて市場過剰販売機会を捕捉する.この戦略は明確な論理,簡単な実行,良質なリスク管理能力を備えています.シグナルフィルタリングとダイナミック・スローホルズなどの最適化措置を通じて,戦略の安定性と収益性はさらに向上することができます.トレーダーは,実行前に詳細なバックテストを行い,特定の市場特性に合わせてパラメータを調整することをお勧めします.
/*backtest start: 2019-12-23 08:00:00 end: 2024-11-27 08:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("CCI Threshold Strategy", overlay=false, initial_capital=50000, pyramiding=0, commission_type=strategy.commission.cash_per_contract, commission_value=0.05, slippage=1) // --- Input Parameters --- // Lookback period for CCI calculation lookbackPeriod = input.int(12, minval=1, title="CCI Lookback Period") // Buy threshold for CCI; typically represents an oversold condition buyThreshold = input.int(-90, title="CCI Buy Threshold") // Stop loss and take profit settings stopLoss = input.float(100.0, minval=0.0, title="Stop Loss in Points") takeProfit = input.float(150.0, minval=0.0, title="Take Profit in Points") // Checkboxes to enable/disable SL and TP useStopLoss = input.bool(false, title="Enable Stop Loss") useTakeProfit = input.bool(false, title="Enable Take Profit") // --- Calculate CCI --- // CCI (Commodity Channel Index) is used as a momentum indicator to identify oversold and overbought conditions cci = ta.cci(close, length=lookbackPeriod) // --- Define Buy and Sell Conditions --- // Buy condition: CCI drops below -90, indicating potential oversold levels longCondition = cci < buyThreshold // Sell condition: Close price crosses above the previous day's high, signaling potential exit sellCondition = close > ta.highest(close[1], 1) // --- Strategy Execution --- // Buy entry based on the long condition if (longCondition) strategy.entry("Buy", strategy.long) // Close the long position based on the sell condition if (sellCondition) strategy.close("Buy") // Optional: Add stop loss and take profit for risk management if (longCondition) strategy.exit("Sell", from_entry="Buy", loss=useStopLoss ? stopLoss : na, profit=useTakeProfit ? takeProfit : na) // --- Plotting for Visualization --- // Plot CCI with threshold levels for better visualization plot(cci, title="CCI", color=color.blue) hline(buyThreshold, "Buy Threshold", color=color.red, linestyle=hline.style_dotted) hline(0, "Zero Line", color=color.gray, linestyle=hline.style_dotted)