CCIゼロクロストレード戦略は,コモディティチャネルインデックス (CCI) をベースとした定量的なトレード戦略である.CCI指標とゼロレベル間のクロスオーバー状況を追跡することによって取引信号を生成する.CCIがゼロを超えるとロングポジション,CCIがゼロを下回るとショートポジションを確立する.この戦略はトレンドフォロータイプに属する.
CCIのゼロ・クロス・トレーディング戦略の基本原則は,
CCI指標を使用して,市場における過剰購入と過剰販売の状況を決定します.CCIが100を超えると過剰購入の信号を示し,-100を下回ると過剰販売の信号を示します.
CCIとゼロレベルとの間のクロスオーバー状況を監視する.CCIが下からゼロを超えると購入信号が生成される.CCIが上からゼロを下回ると販売信号が生成される.
CCI
具体的には,入国規則は次のとおりです.
CCIがマイナス値からマイナス値へとゼロ値を通過すると, -100でストップするロングポジションを設定する.
CCIが正値から負値に下がり,ゼロレベルを通過すると, +100でストップでショートします.
この戦略は,主にCCI指標を基に市場における過買い/過売り状況を決定し,逆転機会を把握して利益を得ることを目的としています.CCI
CCIのゼロ・クロス・トレーディング戦略の主な利点は以下の通りである.
信号は CCI
中期トレンド逆転ポイントをCCI
停止はCCIの買い過ぎ/売り過ぎゾーンで設定され,間に合う停止とリスク管理が可能です.
論理はシンプルで明快で アルゴリズム取引のパラメータ化も簡単です
CCIは様々な市場で広く適用され,戦略は高度に適応可能である.
CCIのゼロ・クロス・トレーディング戦略には,いくつかのリスクもあります.
CCIは価格に遅れをとり,急激な逆転のための最適なエントリータイミングを欠く可能性があります.
ストップ範囲は比較的小さく,より大きな価格変動に耐えられない可能性があります.
CCIだけに頼るということは 偽の情報漏洩や 誤った信号に 脆弱になるのです
価格の動きを効率的にフィルタリングできず,取引頻度やスライドが増加する可能性があります.
取引期間や利益目標を定めていない.
パラメータの最適化,より広いストップ,フィルターの追加などによってこれらのリスクを管理することができます.
戦略のさらなる最適化には,以下の要素が含まれます.
資産の特徴に基づくCCIパラメータの最適化
価格ブレイクやパターンフィルターを追加して 市場差を回避します
利得を固定するために 遅延停止や 利益の引き上げレベルを使用します
他の指標を組み合わせて 強力なマルチインジケーターフィルターを作成します
既知の傾向でポジションサイズが増加し,範囲が減少する.
パラメータ調整,リスク管理,適応式出路などによって 戦略の効率性と収益性が著しく向上できます
CCIゼロクロストレーディング戦略は,CCIベースのシンプルで効果的な定量戦略である.CCI逆転点を検出することによって生成されるトレンドトレーディング信号から利益を得ている.その利点はシンプルさ,適応性,パラメータが少ないことにあるが,追加の技術で対処する必要がある固有リスクもある.全体的に,明確な論理と拡張余地があり,定量トレーダーのプレイブックに価値のある追加となる.
/*backtest start: 2022-11-30 00:00:00 end: 2023-12-06 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 strategy("CCI 0Trend Strategy (by Marcoweb) v1.0", shorttitle="CCI_0T_Strat_v1.0", overlay=true) ///////////// CCI CCIlength = input(20, minval=1, title="CCI Period Length") CCIoverSold = -100 CCIoverBought = 100 CCIzeroLine = 0 CCI = cci(hlc3, CCIlength) price = hlc3 vcci = cci(price, CCIlength) source = close buyEntry = crossover(source, CCIoverSold) sellEntry = crossunder(source, CCIoverBought) plot(CCI, color=black,title="CCI") p1 = plot(CCIoverSold, color=red,title="-100") p2 = plot(CCIoverBought, color=blue,title="100") p3 = plot(CCIzeroLine, color=orange,title="0") ///////////// CCI 0Trend v1.0 Strategy if (not na(vcci)) if (crossover(CCI, CCIoverSold)) strategy.entry("CCI_L", strategy.long, stop=CCIoverSold, comment="CCI_L") else strategy.cancel(id="CCI_L") if (crossunder(CCI, CCIoverBought)) strategy.entry("CCI_S", strategy.short, stop=CCIoverBought, comment="CCI_S") else strategy.cancel(id="CCI_S") //plot(strategy.equity, title="equity", color=red, linewidth=2, style=areabr)