OBVとCCI指標に基づく傾向 戦略をフォローする

作者: リン・ハーンチャオチャン開催日:2024年2月21日 (月) 14:05:12
タグ:

img

概要

この戦略は,OBVとCCI指標に基づくトレンドフォロー戦略である.市場動向と資本流動を判断するためにOBV指標を使用し,その後,トレーディング信号を生成するためにCCI指標をフィルタリングに使用する.OBVとCCI指標の両方が現在の上昇傾向を確認すると,ロング;両指標が現在の下落傾向を確認すると,ショート.

戦略の論理

戦略は主にOBVとCCIの2つの指標に依存する.OBV指標は市場の資本流を反映することができる.OBVが緑色であるとき,現在の傾向は資本流入であり,OBVが赤色であるとき,現在の傾向は資本流出であることを意味します.CCI指標はフィルターとして使用されます.値を設定することによって,CCIが値を超えると牛市場とみなされ,CCIが値を下回ると熊市場とみなされます.

入力シグナルについては,最後の期間のOBV値が緑色 (資本流入) で,CCIが値 (牛市) を上回り,OBV線がEMA線を横切ると,買い信号が生成されます.

エクジット・シグナルでは,最後の期間のOBV値が赤色 (資本流出) で,CCIが値以下 (熊市) で,OBV線がEMA線を下回ると,セール・シグナルが生成されます.

つまり,主要トレンドをOBVを用いて判断し,CCI指標でフィルタリングし,EMAクロスオーバーを用いて組み合わせて具体的な取引信号を生成することで,戦略はトレンドフォローを実現します.

利点分析

この戦略の主な利点は以下の通りです.

  1. 短期間の市場騒音の干渉を回避し,市場資本の流れと傾向の方向性を決定するために OBV を使用する.

  2. フィルタリングのためのCCI指標を活用し,取引信号をより信頼性のあるものにします.

  3. 高品質のコンクリート取引所を作る EMAのクロスオーバーを使用する.

  4. 規則は明確でシンプルで 分かりやすく 実行できます

リスク分析

この戦略にはいくつかの潜在的なリスクもあります.

  1. OBVとCCIの指示が誤った信号を生成する可能性

  2. 頻繁に取引信号が送られていて 過剰取引が容易です

  3. 引き戻し時に捕まる可能性があります.

  4. パラメータの調節が悪ければ 戦略の性能が悪くなる

これらのリスクを制御するために,パラメータの最適化,取引頻度の調整,ストップ・ロスの設定,フィルターの使用などの方法が適用できます.

オプティマイゼーションの方向性

戦略は以下の側面から最適化できます.

  1. 異なるパラメータの影響を評価し,最適なパラメータの組み合わせを見つけます.

  2. 取引頻度制限を設定し,過剰な取引を避ける.

  3. 単一の取引損失を制御するためのストップ損失メカニズムを追加する.

  4. 信号の質を改善するために,フィルターとして他の指標を追加します.

  5. 入口と出口ロジックを最適化して取引信号をより信頼性のあるものにします

概要

概要すると,これは価格動向を効果的に追跡し,ノイズ干渉を回避できる基本的なトレンドフォロー戦略です.しかし,パラメータ最適化,ストップ損失,取引頻度制御などの改善を必要とするいくつかのリスクがあります.パラメータが科学的に設定されれば,重要なバックテストパフォーマンス改善を達成できます.この戦略は,学習と練習のためのより高度な量子トレーダーに適しています.


/*backtest
start: 2023-02-14 00:00:00
end: 2024-02-20 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//author: SudeepBisht
//@version=3
strategy("SB_CCI coded OBV Strategy", overlay=true)

src = close
length = input(20, minval=1, title="CCI Length")
threshold=input(0, title="CCI threshold for OBV coding")
lengthema=input(13, title="EMA length")
obv(src) => 
    cum(change(src) > 0 ? volume : change(src) < 0 ? -volume : 0*volume)
    
o=obv(src)
c=cci(src, length)
col=c>=threshold?green:red
chk=col==green?1:0
ema_line=ema(o,lengthema)

//plot(o, color=c>=threshold?green:red, title="OBV_CCI coded", linewidth=2)
//plot(ema(o,lengthema), color=orange, linewidth=2)


if (not na(ema_line))
    if (crossover(o, ema_line) and chk[1]==1)
        strategy.entry("RsiLE", strategy.long, comment="RsiLE")
    if (crossunder(o, ema_line) and chk[1]==0)
        strategy.entry("RsiSE", strategy.short, comment="RsiSE")


もっと