CCI指標をベースとした逆転取引戦略である.CCI指標が過剰購入または過剰販売レベルを示したときに逆転取引を開く.全体的に,この戦略は,CCI指標の過剰購入および過剰販売機能を使用して価格逆転機会を把握する.
第一に,この戦略は,CCI指標に基づいています.CCI指標の公式は,
CCI = (典型的な価格 - 単純な移動平均値) / (0.015 * 標準偏差)
どこに?
典型的な価格 = (最高値 + 最低値 + 閉じる) /3
単純な移動平均 = 過去N日間の典型的な価格の移動平均
標準偏差 = 過去N日間の典型的な価格の偏差の平方根
この戦略は 11 期間の CCI インディケーターを使用しています.そして -150 は過剰販売レベル,150 は過剰購入レベルとして設定されています.
各バーの閉じる度に,11期CCIインジケーターがチェックされます.CCIが-150を下回ると,ロング信号が生成されます.CCIが150を超えると,ショート信号が生成されます.
シグナルを受け取った後,市場オーダーを使用して ポジションを開きます. 1%の利益目標と 0.5%のストップロスは設定されます.
4時間CCI逆転戦略は,逆転取引のためのCCI指標を使用するシンプルな戦略である.明確な論理と簡単な実装の利点がある.しかし,信頼性のないCCI信号や柔軟性のない利益目標/ストップ損失などの弱点もある.CCIパラメータを最適化し,フィルター指標を追加し,ダイナミックな出口を開発することによってさらなる改善が可能である.全体的にこの戦略は,定量的な取引のためのCCIベースのアイデアを提供し,実用化する前にさらなる最適化を必要とする.
/*backtest start: 2023-09-12 00:00:00 end: 2023-10-12 00:00:00 period: 3h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("4H CCI Strategy", overlay=true) length = input( 11 ) overSold = input( -150 ) overBought = input( +150 ) price1 = high price2 = low ucci = cci(price1, length) dcci = cci(price2, length) vcci = cci(ohlc4, 11) resCustom = input(title="Timeframe", defval="15") Length = input(16, minval=1) xPrice = request.security(syminfo.tickerid, resCustom, hlc3) xvnoise = abs(xPrice - xPrice[1]) nfastend = 0.666 nslowend = 0.0645 nsignal = abs(xPrice - xPrice[Length]) nnoise = sum(xvnoise, Length) nefratio = iff(nnoise != 0, nsignal / nnoise, 0) nsmooth = pow(nefratio * (nfastend - nslowend) + nslowend, 2) nAMA = nz(nAMA[1]) + nsmooth * (xPrice - nz(nAMA[1])) basis1 = nAMA slope = change(basis1,1) if (not na(vcci)) if (crossover(dcci, overSold)) strategy.entry("CCILE", strategy.long, comment="CCILE") strategy.exit("exit", "CCILE", profit = 0.01, loss = 0.005) if (crossunder(ucci, overBought)) strategy.entry("CCISE", strategy.short, comment="CCISE") strategy.exit("exit", "CCISE", profit = 0.01, loss = 0.005) //plot(strategy.equity, title="equity", color=red, linewidth=2, style=areabr)