この戦略は,CCI指標に基づくロングのみ取引戦略を設計する.CCIが100を超えると買い信号を生成し,CCIが-100を下回るとロングポジションを閉鎖する.この戦略は,ロングポジションを閉鎖することを許可することによってショートセリングを効果的に防止する.
CCI指標は,現在の価格と典型的な価格の差を測定するトレンドオシレーターである.CCI100以上の指標は過買い状態を示し,CCI100以下の指標は過売り状態を示している.
取引の論理は,CCIが100を超えるとロングで,CCIが-100を下回るとロングを閉じる.さらに,この戦略はショートポジションを防ぐため,リスクを効果的に制御するためにのみポジションを閉じる.
この戦略は,長期間の取引のみのCCIで過剰購入/過剰売却エリアを特定する.このコンセプトは成熟し,実装が簡単ですが,パラメータ最適化,シグナルフィルター,ストップなどに関するリスクがあります.継続的な改善により,堅牢な長期的取引戦略の選択になることができます.
/*backtest start: 2022-12-11 00:00:00 end: 2023-12-17 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("CCI Long Only Strategy", overlay=true) // Input for CCI period cciPeriod = input(14, title="CCI Period") // Calculate CCI cciValue = ta.cci(close, cciPeriod) // Initialize variables to track last signals var bool lastBuySignal = na var bool lastSellSignal = na // Buy condition buyCondition = cciValue > 100 and na(lastBuySignal) // Sell condition sellCondition = cciValue < -100 and na(lastSellSignal) // Update last signals lastBuySignal := buyCondition ? true : na lastSellSignal := sellCondition ? true : na // Execute Buy and Sell orders strategy.entry("Buy", strategy.long, when = buyCondition) strategy.close("Buy", when = sellCondition) // Plot CCI for reference plot(cciValue, title="CCI", color=color.blue)