2つの移動平均値とRSI逆転取引戦略

作者: リン・ハーンチャオチャン開催日:2023年10月18日 11:08:35
タグ:

img

概要

この戦略は,二重移動平均値と相対強度指数 (RSI) を組み合わせて,強いトレンドの間に短期的な逆転機会を特定する.トレンド方向が明確であるときに,RSIを使用して過買い・過売状況を検出し,価格の逆転を待つことで,勢力の逆転に対して取引を行うことを目的としています.この戦略は,明らかなトレンドを持つ市場に適しており,全体的なトレンドに反して取引せずに部分的な逆転を捕捉します.

戦略の論理

  1. 30日間の単純な移動平均 (SMA) と200日間の指数的な移動平均 (EMA) を計算して,全体的なトレンド方向を決定します.

    • SMA>EMAは上昇傾向を示している.
    • SMA
  2. 30日間のRSIを計算して 買い過ぎと売り過ぎの条件を特定します

    • RSI<=53 は過売れとみなされます
    • RSI>=60は過買いとみなされる.
  3. 入場規則:

    • 上昇傾向 (SMA>EMA) と RSI <=53 の場合,ロング
    • ダウントレンド (SMA=60 のときショート
  4. 出口規則

    • ストップ・ロストまたは/または/または/または/または/または/または/または/または/または/または/または
    • ストップ・ロストまたは/または/または/または/または/または/または/または/または/または/または/または

利点分析

  1. 主なトレンドをフォローし,トレンドに反する取引を避けます

  2. 保守的なRSI設定は誤った信号を避ける

  3. 二重移動平均フィルタが入力タイミングの精度を向上させる

  4. 制御可能なリスク,小額借入

リスク分析

  1. 明らかに傾向のある市場が必要であり,市場が変化するときに効果が低い

  2. 保守的なRSI設定は,いくつかの機会を逃す可能性があります

  3. 停止損失の配置は,早期の終了を避けるために合理的である必要があります.

改善 の 方向

  1. より多くのエントリー機会を見つけるために RSI パラメータを最適化

  2. 異なる移動平均の組み合わせをテストする

  3. トレンドフィルターを追加します. トレンドが十分に強いときにのみ取引します.

  4. ストップ・ロスの戦略を最適化し,単一の取引での損失を制御する

結論

この戦略は,全体的にコントロール可能なリスクがあり,中長期ポジショントレーダーに適しています.主要トレンド方向で取引し,保守的なRSI設定と厳格な移動平均フィルターを使用して,誤ったブレイクアウトを回避し,勝利率を改善します.より多くの機会を得るためにパラメータチューニングで潜在的な改善にも余地があります.長期的取引メンタリティを維持するためにリスク制御は不可欠です.


/*backtest
start: 2023-09-17 00:00:00
end: 2023-10-17 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
//Based on Larry Connors RSI-2 Strategy - Lower RSI
strategy(title="_CM_RSI_2_Strat_Low", shorttitle="_CM_RSI_2_Strategy_Lower", overlay=false)
src = close, 

//RSI CODE
up = rma(max(change(src), 0), 30)
down = rma(-min(change(src), 0), 30)
rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down))
//Criteria for Moving Avg rules
ma50= vwma(close,30)
ma200= vwma(close,200)

//Rule for RSI Color
col = ma50 > ma200 and rsi <=53?lime: ma50 < ma200  and rsi >= 60?red : silver
long = ma50 > ma200 and rsi <= 53
short = ma50 < ma200  and rsi >= 60
//plot(rsi, title="RSI", style=line, linewidth=1,color=col)
//plot(100, title="Upper Line 100",style=line, linewidth=3, color=aqua)
//plot(0, title="Lower Line 0",style=line, linewidth=3, color=aqua)

//band1 = plot(60, title="Upper Line 60",style=line, linewidth=1, color=aqua)
//band0 = plot(44, title="Lower Line 40",style=line, linewidth=1, color=aqua)
//fill(band1, band0, color=silver, transp=90)
strategy.entry ("buy", strategy.long, when=long)
strategy.entry ("sell", strategy.short, when=short)
plot(long,"long",color=green,linewidth=1)
plot(short,"short",color=red,linewidth=1)

もっと