RSI CCI ウィリアムズ%R 定量的な取引戦略

作者: リン・ハーンチャオチャン,日付: 2024-01-24 11:18:08
タグ:

img

戦略の概要

この戦略は,3つの分類指標であるRSI,CCIおよびWilliams%Rを組み合わせて,効果的な取引信号を生成する.この3つの指標が同時に過買いまたは過売り信号を表示するときに,購入または売却信号を発行する.この複合戦略は,単一の指標を使用すると比較して,より多くの偽信号をフィルタリングし,安定性を向上させる.

この戦略は"三条線トラウラー戦略"と呼ばれています.この戦略は,RSI,CCI,Williams%Rの組み合わせを指します.

戦略の論理

戦略は主に以下の指標に基づいて取引決定を行う:

  1. RSI指標 過剰購入/過剰販売レベルを判断する
  2. 転換点を識別するCCI指標
  3. トレーディング・シグナルをさらに確認するWilliams%R指標

RSIが25を下回ると,oversold状態を示します.RSIが75を超えると,oversold状態を示します.同じ論理はCCIとWilliams%Rパラメータに適用されます.

3つの指標が同時に買いシグナルを表示するとき,すなわちRSI < 25,CCI < -130,Williams %R < -85,ストラテジーはロングになります. 3つの指標が同時に売りシグナルを表示するとき,すなわちRSI > 75,CCI > 130,Williams %R > -15,ストラテジーはショートになります.

これは,単一の指標からの誤った信号を回避し,信頼性を向上させます.また,取引ごとにリスクと収益を制御するためにストップ・ロスを設定し,利益を取ります.

利点

  1. 複数のインディケーターコンボが 偽信号をフィルターします
    RSI,CCIとWilliams%Rを組み合わせることで,戦略は個々の指標からいくつかの誤った信号をフィルタリングし,精度を向上させます.

  2. 自動ストップ 損失/利益 リスク管理 内蔵ストップ・ロストとメリット・テイク機能は,自動的に各取引の出口価格を設定し,容認可能な限界範囲内で損失を有効に制限します.

  3. 中期取引に適している この戦略は,指標コンボを通じて中期トレードでよりうまく機能し,中期転換点を明確に識別する.短期的なノイズと長期的トレンドを検出する能力は低い.

  4. 固有バックテストデータ
    この戦略は,大量の流動性とデータを持つ主要な外為ペアであるEUR/USDの45分バーを使用し,不十分なデータによる過剰なリスクを軽減します.

リスク

  1. 弱度の長期傾向の特定
    戦略は,反対の信号により依存している.長期的傾向を測定し,追跡する能力は限られている.長期的な片道市場では,利益の可能性は制限されている.

  2. 短期の変動が欠けている 45分バーでは,短期間の価格変動がより頻繁に起こるため,収益性の高いチャンスを逃してしまう.バースパン内の波動が大きい場合,機会を逃す可能性があります.

  3. システムリスク
    この戦略は主にEUR/USDに適用されます. 世界外為市場を揺るがしている深刻な経済危機の時に,取引規則が失敗し,莫大な損失を伴う可能性があります.

強化 分野

  1. トレンド指標を追加する
    長期的トレンド認識を助けるためにMA,Bollなどのトレンドメトリックを組み込もう.一般的な方向に沿ったポジションを取るとのみ,勝利率が向上します.

  2. ストップ損失/利益パラメータの最適化 最適な設定を見つけるために,最終収益性に対する様々なストップ損失/利益パラメータの影響を評価するために,より多くの歴史的データをバックテストします. 動的テンプレートも考慮してください.

  3. 拡大する製品
    現在主にEUR/USDに適用されます. 安定性と可動性を調べるために,GBP,JPY,AUDなどの他の主要通貨ペアに展開してみましょう.

結論

3つのトレイルトラウラー戦略は,RSI,CCI,ウィリアムズ%Rの組み合わせを使用して,過剰購入/過剰販売信号の価格逆転点を特定します.個々のメトリックと比較して,このマルチインジケータセットアップはより多くの誤った信号をフィルタリングし,精度を向上させます.自動ストップ損失/利益の引き上げ機能は,取引リスクのキャップにも役立ちます.全体として,これは中期取引に適した安定した戦略であり,私たちの定量システムに貴重なモジュールになります.それでも,長期トレンドの発見と短期変動を捕捉する際に欠陥があることに注意する必要があります.トレンドメトリックを追加し,出口パラメーターを最適化し,製品を拡張するなどの微調整措置は,戦略を当社のエンジンシステムに安定した収益として強化します.


/*backtest
start: 2024-01-16 00:00:00
end: 2024-01-23 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("RSI CCI Williams %R Strategy with TP and SL", overlay=true)

// Input parameters for indicators
rsi_period = input(14, title="RSI Period")
cci_period = input(20, title="CCI Period")
williams_period = input(14, title="Williams %R Period")

// Thresholds for overbought and oversold conditions
rsi_oversold = input(25, title="RSI Oversold Level")
rsi_overbought = input(75, title="RSI Overbought Level")
cci_oversold = input(-130, title="CCI Oversold Level")
cci_overbought = input(130, title="CCI Overbought Level")
williams_oversold = input(-85, title="Williams %R Oversold Level")
williams_overbought = input(-15, title="Williams %R Overbought Level")

// Take profit and stop loss levels as a percentage
take_profit_pct = input(1.2, title="Take Profit (%)") / 100
stop_loss_pct = input(0.45, title="Stop Loss (%)") / 100

// Indicator calculations
rsi = ta.rsi(close, rsi_period)
cci = ta.cci(close, cci_period)
highestHigh = ta.highest(high, williams_period)
lowestLow = ta.lowest(low, williams_period)
williamsR = (highestHigh - close) / (highestHigh - lowestLow) * -100

// Entry conditions
longCondition = rsi < rsi_oversold and cci < cci_oversold and williamsR < williams_oversold and strategy.position_size == 0
shortCondition = rsi > rsi_overbought and cci > cci_overbought and williamsR > williams_overbought and strategy.position_size == 0

// Execute strategy entry orders
if (longCondition)
    strategy.entry("Long", strategy.long)
    strategy.exit("Take Profit or Stop Loss Long", "Long", limit=close * (1 + take_profit_pct), stop=close * (1 - stop_loss_pct))

if (shortCondition)
    strategy.entry("Short", strategy.short)
    strategy.exit("Take Profit or Stop Loss Short", "Short", limit=close * (1 - take_profit_pct), stop=close * (1 + stop_loss_pct))

// Plot the signals on the chart
plotshape(series=longCondition, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.triangleup, text="BUY")
plotshape(series=shortCondition, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.triangledown, text="SELL")

// Plot the indicators for visualization
plot(rsi, title="RSI", color=color.blue)
plot(cci, title="CCI", color=color.purple)
plot(williamsR, title="Williams %R", color=color.orange)

もっと