RSインデックスと移動平均の組み合わせ戦略

作者: リン・ハーンチャオチャン,日付: 2024-01-04 17時46分07秒
タグ:

img

概要

この戦略は,移動平均線と相対強度指数 (RSI) を計算して価格の売買ポイントを特定することによって取引信号を生成する.RSI指標が過買いまたは過売値に達すると購入・売却信号を発行する.一方,ボリンジャー帯を使用して価格のサポート・レジスタンスレベルを決定し,騒々しい取引信号をフィルタリングする.

戦略原則

この戦略は主に,RSI指標と異なる期間の複数の移動平均線を組み合わせることで成り立っている.具体的には,1日から200日までの複数のMAとRSI指標を計算する.価格が200日移動平均を上回り,RSI指標が10を下回るときに購入信号を生成する.価格が5日移動平均を下回り,1日移動平均が3日移動平均を下回ると販売信号を生成する.

この戦略では,価格のサポートとレジスタンスレベルを決定するためにボリンジャーバンドも使用する.ボリンジャーバンドは中帯,上帯,下帯で構成される.価格が上帯に近づくと,株は過大評価とみなされる.価格が下帯に近づくと,株は過低評価とみなされる.したがってボリンジャーバンドは,株の相対価値を効果的に判断することができます.

利点分析

  1. 価格逆転の機会を捉えるための典型的な経済学戦略です.

  2. 複数のMA線を組み合わせることで フィルタリング機能が向上し 閉じ込められないようにできます

  3. サポートとレジスタンスレベルを決定するためにボリンジャーバンドを追加することで,高い価格と低い価格を追いかけるのをさらに避け,騒々しい取引信号をフィルタリングすることができます.

リスク分析

  1. RSIインジケーターは誤った信号を容易に生成し,価格アクションと組み合わせることで判断する必要があります.

  2. MA線は傾向を決定するためにしばしば使用されますが,価格とMAの間の差異は,ターニングポイントを誤って判断することができます.

  3. ボリンジャー・バンドの上部と下部レールを用いてサポートとレジスタンスレベルを決定することは遅れている特徴があり,一時的な高値と低値を正確に決定することができない.

  4. この戦略は比較的短い保有期間で,短期的な市場騒音によって容易に混乱する可能性があります.

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

  1. 保持期間を適切に延長してテストできる.例えば,閉じるラインを10日または20日ラインに変更する.

  2. RSI パラメータを調整してテストできる.例えば (3,5) パラメータや (2,8) パラメータに変更する.

  3. より明らかなサポートとレジスタンスの間隔を得るためにボリンジャーバンドのパラメータを増加させることができます.

  4. RSI の他の指標の組み合わせをテストできる.例えば,KDJ インディケーター,MACD インディケーターなど.

  5. RSIとボリュームインジケーター OBVの組み合わせをテストできる.

概要

この戦略は比較的クラシックで,全体として堅牢で,異なる指標を利用して,取引信号をより正確かつ信頼性の高いものにします.最適化が必要な方向もいくつかあります.鍵は,RSI指標のトレンド判断機能と,サポートとレジスタンスレベルに対するボリンジャーバンドの判断を理解することです.適切なパラメータ調整と指標組み合わせ最適化によって,この戦略はより良い結果を達成することができます.


/*backtest
start: 2023-12-04 00:00:00
end: 2024-01-03 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
//Created by ChrisMoody
//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), 2)                
down = rma(-min(change(src), 0), 2)
rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down))
//Criteria for Moving Avg rules
ma1 = sma(close,1)
ma2 = sma(close,2)
ma3 = sma(close,3)
ma4 = sma(close,4)
ma5 = sma(close,5)
ma6 = sma(close,6)
ma7 = sma(close,7)
ma8 = sma(close,8)
ma9 = sma(close,9)
ma200= sma(close, 120)

//Rule for RSI Color
col = close > ma200 and close < ma5 and rsi < 10 ? lime : close < ma200 and close > ma5 and rsi > 90 ? red : silver

plot(rsi, title="RSI", style=line, linewidth=4,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(90, title="Upper Line 90",style=line, linewidth=3, color=aqua)
band0 = plot(10, title="Lower Line 10",style=line, linewidth=3, color=aqua)
fill(band1, band0, color=silver, transp=90)

///////////// RSI + Bollinger Bands Strategy


if (close > ma200 and rsi < 10 and rsi >1)
    strategy.entry("RSI_2_L", strategy.long, comment="Bullish")
if (close < ma200 and rsi > 90 and rsi <98)
    strategy.entry("RSI_2_S", strategy.short, comment="Bearish")


strategy.close("RSI_2_L", when = close > ma5 and ma1 < ma3)
strategy.close("RSI_2_S", when = close < ma5 and ma1 > ma2)


もっと