資源の読み込みに... 荷物...

強化されたモメントオシレーターとストカスティックディバージェンスの定量取引戦略

作者: リン・ハーンチャオチャン開催日:2024年12月11日 17:34:01
タグ:ACRSISMAストックTPSLAODIV

img

概要

この戦略は,加速器オシレーター (AC) とストカスティック指標を組み合わせた定量的な取引システムである.この戦略は,潜在的なトレンド逆転を予測するために価格と技術指標の間の差異を特定することによって市場の勢力のシフトを把握する.この戦略には,リスク制御のために固定された利益とストップロスのレベルを備えた,シグナル信頼性を高めるためにシンプル・ムービング・平均値 (SMA) と相対強度指数 (RSI) も含まれています.

戦略原則

基本論理は,複数の技術指標のシネージに基づいている.ACは5期および34期SMAの価格ミッドポイントの差をマイナスN期移動平均値で計算する.ストキャスティックKおよびD値は分散信号を確認するために計算される.ACが上昇する間,価格が新しい低値に達するとブリーッシュディバージェンスが形成される.ACが落ちる間,価格が新しい高値に達すると下落ディバージェンスが形成される.RSIは追加の確認指標として組み込まれ,信号精度を向上させるために複数の指標のクロスバリダーションを使用する.

戦略 の 利点

  1. 複数の指標のシネージ: AC,ストカスティック,RSIの組み合わせによって誤った信号を効果的にフィルターします
  2. 自動化リスク管理: 固定得益とストップ・ロスの設定を組み込み,取引ごとにリスクを効果的に制御する
  3. 視覚信号: 迅速なチャンス識別のためにチャートにマークされた明確な購入・販売信号
  4. 高い柔軟性: 異なる市場条件と時間枠に適した強力なパラメータカスタマイズ
  5. リアルタイムアラート: 統合されたアラートシステムは,取引機会を逃さないようにします

戦略リスク

  1. 誤ったブレイクリスク: 異なる市場で誤った差異信号を生む可能性があります.
  2. スリップリスク: 固定ピップ・テイク・プロフィートとストップ・ロスは,不安定な市場において,重大なスリップに直面する可能性があります.
  3. パラメータ感度: 異なるパラメータの組み合わせにより,戦略のパフォーマンスが異なる可能性があります.
  4. 市場環境による依存: 戦略は明確な傾向がない市場では劣悪な結果をもたらす可能性があります
  5. シグナル遅延: 移動平均の計算により,一定の遅延がある可能性があります.

戦略の最適化方向

  1. ダイナミック・テイク・プロフィート/ストップ・ロスト: 市場の変動に基づいてレベルを調整する
  2. 音量指標の統合:音量確認を通じて信号の信頼性を向上させる
  3. 市場環境のフィルタリング: 異なる市場条件のための傾向評価モジュールを追加
  4. パラメータ最適化: マシン学習方法を用いて指標パラメータの組み合わせを最適化
  5. 時間フィルタリング: 不利な取引期間を避けるために市場時間の特徴を考慮

概要

この戦略は,複数の技術指標を統合し,分散信号を通じて市場のターニングポイントを捕捉する定量的な取引戦略である.その強みは複数の指標のクロスバリダーションと包括的なリスク制御システムにある.一方,誤ったブレイクアウトとパラメータ最適化に注意を払う必要があります.継続的な最適化と改善を通じて,この戦略は異なる市場環境で安定したパフォーマンスを維持するための約束を示しています.


/*backtest
start: 2019-12-23 08:00:00
end: 2024-12-09 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © JayQwae


//@version=5
strategy("Enhanced AC Divergence Strategy with Stochastic Divergence", overlay=true)

// Input settings
tp_pips = input.float(0.0020, "Take Profit (in price)", step=0.0001)
sl_pips = input.float(0.0040, "Stop Loss (in price)", step=0.0001)  // 40 pips
ac_length = input.int(5, "AC Length")
rsi_length = input.int(14, "RSI Length")
stoch_k = input.int(14, "Stochastic K Length")
stoch_d = input.int(3, "Stochastic D Smoothing")
stoch_ob = input.float(80, "Stochastic Overbought Level")
stoch_os = input.float(20, "Stochastic Oversold Level")

// Accelerator Oscillator Calculation
high_low_mid = (high + low) / 2
ao = ta.sma(high_low_mid, 5) - ta.sma(high_low_mid, 34)
ac = ao - ta.sma(ao, ac_length)

// RSI Calculation
rsi = ta.rsi(close, rsi_length)

// Stochastic Oscillator Calculation
k = ta.sma(ta.stoch(close, high, low, stoch_k), stoch_d)
d = ta.sma(k, stoch_d)

// Stochastic Divergence Detection
stoch_bull_div = ta.lowest(close, 5) < ta.lowest(close[1], 5) and ta.lowest(k, 5) > ta.lowest(k[1], 5)
stoch_bear_div = ta.highest(close, 5) > ta.highest(close[1], 5) and ta.highest(k, 5) < ta.highest(k[1], 5)

// Main Divergence Detection
bullish_div = ta.lowest(close, 5) < ta.lowest(close[1], 5) and ac > ac[1] and stoch_bull_div
bearish_div = ta.highest(close, 5) > ta.highest(close[1], 5) and ac < ac[1] and stoch_bear_div

// Plot divergences
plotshape(bullish_div, title="Bullish Divergence", location=location.belowbar, color=color.green, style=shape.triangleup, size=size.small)
plotshape(bearish_div, title="Bearish Divergence", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.small)

// Strategy rules
if (bullish_div)
    strategy.entry("Buy", strategy.long)
    strategy.exit("Take Profit/Stop Loss", "Buy", limit=close + tp_pips, stop=close - sl_pips)

if (bearish_div)
    strategy.entry("Sell", strategy.short)
    strategy.exit("Take Profit/Stop Loss", "Sell", limit=close - tp_pips, stop=close + sl_pips)

// Alerts
if (bullish_div)
    alert("Bullish Divergence detected! Potential Buy Opportunity", alert.freq_once_per_bar)

if (bearish_div)
    alert("Bearish Divergence detected! Potential Sell Opportunity", alert.freq_once_per_bar)





関連性

もっと