ストキャスティクスRSIとEMAクロスオーバーに基づく暗号通貨プルバック取引戦略


作成日: 2024-03-08 16:44:51 最終変更日: 2024-03-08 16:44:51
コピー: 4 クリック数: 672
1
フォロー
1617
フォロワー

ストキャスティクスRSIとEMAクロスオーバーに基づく暗号通貨プルバック取引戦略

戦略概要

この戦略は,ランダムなRSIとEMAを組み合わせて,トレンドを検出し,取引信号を検証する.価格がEMA20の上部でEMA9とEMA14の間の回調をすると,ランダムなRSIが超売りレベルを下回ると,複数のシグナルが発生し,価格がEMA20下部でEMA9とEMA14の間の回調をすると,ランダムなRSIが超買いレベルを超えると,空きシグナルが発生する.

戦略原則

  1. ta.ema関数を使用して,3つの異なる周期のEMA線,それぞれEMA9,EMA14,EMA20を計算し,価格がどの傾向にあるかを判断します.
  2. ta.rsi関数を使用してRSIを計算し,ta.stoch関数を使用してRSIをランダムなRSIに変換し,価格が超買いか超売りかを判断します.
  3. 閉盘価格>EMA20で閉盘価格
  4. 閉盤価格EMA9とEMA14で,同時,ランダムなRSI>の超買いレベルがあるとき,空白信号を触発し,売り上げ操作を実行する.

この戦略の核心思想は,主動トレンド (EMA20によって表される) の中の反転が適切な超買超売領域に達したかどうかを判断するために,ランダムなRSIを使用することであり,同時に,急速EMAと中速EMAを使用して反転の強さを検証することであり,価格が急速EMAと中速EMAを突破した場合,反転は終了し,トレンドは逆転し,この時点で入場は不適し,価格がEMA9とEMA14の間に反転したときにのみ順調入場を考慮することである.この多重条件検証方法は,信号の質を効果的に高め,誤判を減らすことができる.

戦略的優位性

  1. EMAとRSIの組み合わせにより,トレンドと超買いと超売りのタイミングを把握できます.
  2. ランダムなRSIを使用すると,元のRSI指数と比較して2つの利点があります.一つは,指数の平滑性が増加し,二つは,指数が極限値領域に長時間停滞することを避けます.
  3. 複数の条件の検証により,多くの偽信号を効率的にフィルターし,信号の信頼性を高めることができます.
  4. コードロジックは明快でシンプルで,理解し,修正しやすいので,初心者のためのテンプレートとして使用できます.

戦略リスク

  1. EMAが頻繁に交差しているため,偽信号が多く発生する可能性があるため,震動市場には適用されません.
  2. この戦略は,トレンドが強い場合,価格が一方的に上昇または下落する場合は,反転が薄いため,多くの機会を逃します.
  3. EMAパラメータの選択は戦略に大きく影響し,異なる品種の異なる周期は別々に调度する必要がある.
  4. ランダムなRSIのパラメータも実態に合わせて調整する必要があるため,現在のデフォルト値は特定の品種では不適切な効果をもたらす可能性があります.

最適化の方向

  1. ATR指標の導入は,異なる変動率に対応するために,超買超売のレベルを動的に調整することを検討することができます.
  2. 価格の逆転の位置をより詳細に記述するために,より多くの異なる周期のEMAを追加することができます.
  3. ストップ・ロズとストップ・ストップも考慮しなければならない. パーセンテージ・ストップやATR・ストップ,モバイル・ストップで利益を守ることもできる.
  4. 針孔,飲み込みなどのK線の形状を使用して,トレンド転換を判断するのに補助し,補足条件として精度を向上させることができます.

要約する

この戦略は,ランダムなRSIとEMAの組み合わせで多条件検証を採用し,トレンドの逆転を把握しながら,リスクを効果的に制御し,全体的な考え方は簡単で分かりやすく,初心者の学習使用に適しています. しかし,戦略自体にもいくつかの限界があります. 震動市場に対する不良なパフォーマンス,トレンドの状況把握不足など,現実の状況に応じてパラメータを柔軟に調整する必要があります.

ストラテジーソースコード
/*backtest
start: 2023-03-02 00:00:00
end: 2024-03-07 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Crypto-EMA_Pullback=-", overlay=true,initial_capital = 10000000,default_qty_type=strategy.percent_of_equity, default_qty_value=10.0, pyramiding = 10)

// Inputs
lengthRsi = input(14, title="RSI Length")
k = input(3, title="Stoch %K")
d = input(3, title="Stoch %D")
lengthStoch = input(14, title="Stochastic RSI Length")
overSold = input(25, title="Oversold Level")
overBought = input(85, title="Overbought Level")
emaFastLength = input(9, title="Fast EMA Length")
emaMediumLength = input(14, title="Medium EMA Length")
emaSlowLength = input(20, title="Slow EMA Length")

// Calculating EMAs
emaFast = ta.ema(close, emaFastLength)
emaMedium = ta.ema(close, emaMediumLength)
emaSlow = ta.ema(close, emaSlowLength)

// Calculating the RSI and Stoch RSI
rsi = ta.rsi(close, lengthRsi)
stochRsiK = ta.sma(ta.stoch(rsi, rsi, rsi, lengthStoch), k)
stochRsiD = ta.sma(stochRsiK, d)

// Entry Conditions
bullishCondition = close > emaSlow and close < emaFast and close < emaMedium and stochRsiK < overSold
bearishCondition = close < emaSlow and close > emaFast and close > emaMedium and stochRsiK > overBought

// Strategy Execution
if (bullishCondition)
    strategy.entry("Long", strategy.long)

if (bearishCondition)
    strategy.entry("Short", strategy.short)

// Plotting
plot(emaFast, color=color.blue, title="Fast EMA")
plot(emaMedium, color=color.orange, title="Medium EMA")
plot(emaSlow, color=color.red, title="Slow EMA")
hline(overSold, "Oversold", color=color.green)
hline(overBought, "Overbought", color=color.red)