ダブルリバーサルRSIヒストリカルアラート戦略


作成日: 2024-01-04 17:17:24 最終変更日: 2024-01-04 17:17:24
コピー: 1 クリック数: 806
1
フォロー
1621
フォロワー

ダブルリバーサルRSIヒストリカルアラート戦略

概要

双反転RSIヒストリックアラート戦略は,123反転戦略とRSIヒストリックアラート戦略を組み合わせることで,より正確な取引信号を生成する.123反転戦略は価格反転点を判断し,RSIヒストリックアラート戦略は超買い超売り点を判断する.二つの戦略信号を統合すると,より信頼できる取引信号を生成することができる.

戦略原則

123 逆転戦略

123の反転策は,株価の反転シグナルが,株価の反転2日前に現れるという仮定に基づいています.

具体的には以下の通りです.

  • 買取シグナル: 前日の閉店価格 <前2日の閉店価格 そして現在の閉店価格> 前日の閉店価格 そして9日目のスローK線が50未満
  • 販売シグナル: 前日の閉店価格> 前2日の閉店価格 そして現在の閉店価格 < 前日の閉店価格 そして9日の速K線が50以上

この戦略は,株価が逆転する2日前の価格関係によって,潜在的な逆転点を判断する.同時に,K線指標は,部分的なノイズ信号を除する.

RSIの歴史的警告策

RSIの歴史的な警告策は,RSI指標に基づいて修正されています.

  • RSIを100から100まで縮小します.
  • RSI値がデフォルトの買入/売却アラートラインを超えると,取引シグナルが作られます.

この戦略は,RSIの絶対値の大きさを判断し,超買い状態を提示し,取引シグナルを生成する.

戦略的優位性

この戦略は,二つの異なるタイプの戦略思想を組み合わせて,互いを補完する優位性を持ち,より信頼性の高い信号を生み出します.具体的優位性は以下の通りです.

  1. 123逆転策は価格逆転点を判断する上で優れている。RSI歴史警報策は超買い超売り点を判断する上で優れている。両方を組み合わせると取引タイミングをより全面的に判断できる。
  2. 123反転戦略とRSI歴史警報戦略は,異なる指標を入力として使用する.これは,誤信号の確率を低減し,信頼性を向上させる.
  3. 両方とも独自の最適化領域があり,パラメータを調整することで戦略の効果をさらに向上させることができます.

戦略リスク

この戦略には以下のリスクがあります.

  1. 株価の逆転は必ずしも起こらない。たとえ123逆転戦略の判断条件を満たしたとしても,価格は元のトレンドを継続するかもしれない。
  2. RSI指標は偽の信号を発する可能性が高い. RSIの絶対値が警告線を超えると,本当の超買い超売り状態を示すとは限りません.
  3. この2つの戦略が同時に誤った信号を発している場合,誤った方向へのリスクは2倍になります.

解決策は以下の通りです.

  1. 123の逆転戦略のパラメータを適切に調整して,比較で決定された逆転点点信号のみを発信するようにする.
  2. RSIの歴史警告策の警告線位置を調整して,偽信号の確率を下げる.
  3. 間違った方向への過大リスクを避けるために,他の指標の確認を追加します.

戦略最適化の方向性

この戦略は以下の方向から最適化できます.

  1. 異なるパラメータの組み合わせを使用して123反転戦略とRSI歴史警報戦略をテストし,最適なパラメータを見つけます.
  2. 他の指標判断を追加し,多要素検証を行い,より多くの偽信号をフィルタリングする.例えば,平均線指標,波動率指標などが導入できる.
  3. 異なるポジションの時間帯をテストする.既存の戦略は Momentum を使ってポジションをテストし,トレンドを追跡するためのポジションを最適化することができます.
  4. 長線と短線に対してそれぞれ最適化パラメータの組み合わせ。

要約する

二重反転RSI歴史警告策略は,価格反転策略と超買超売判断策略を組み合わせることで,より信頼性の高い取引シグナルを生成することができる.単一策略と比較して,偽信号の確率が低く,より全面的な判断の利点がある.この策略には,パラメータ調整,多要因検証,ポジション最適化などの手段によって,戦略の安定性と収益性をさらに向上させることができる.

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

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 28/06/2021
// This is combo strategies for get a cumulative signal. 
//
// First strategy
// This System was created from the Book "How I Tripled My Money In The 
// Futures Market" by Ulf Jensen, Page 183. This is reverse type of strategies.
// The strategy buys at market, if close price is higher than the previous close 
// during 2 days and the meaning of 9-days Stochastic Slow Oscillator is lower than 50. 
// The strategy sells at market, if close price is lower than the previous close price 
// during 2 days and the meaning of 9-days Stochastic Fast Oscillator is higher than 50.
//
// Second strategy
// This simple indicator modified RSI
//
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
Reversal123(Length, KSmoothing, DLength, Level) =>
    vFast = sma(stoch(close, high, low, Length), KSmoothing) 
    vSlow = sma(vFast, DLength)
    pos = 0.0
    pos := iff(close[2] < close[1] and close > close[1] and vFast < vSlow and vFast > Level, 1,
	         iff(close[2] > close[1] and close < close[1] and vFast > vSlow and vFast < Level, -1, nz(pos[1], 0))) 
	pos


RSI_Hist(RSIPeriod,BuyAlertLevel,SellAlertLevel,RSIHistoModify) =>
    pos = 0.0
    xPrice = close
    RSIMain = (rsi(xPrice, RSIPeriod) - 50) * RSIHistoModify
    pos:= iff(RSIMain > BuyAlertLevel, 1,
    	     iff(RSIMain < SellAlertLevel, -1, nz(pos[1], 0)))
    pos

strategy(title="Combo Backtest 123 Reversal & RSI HistoAlert", shorttitle="Combo", overlay = true)
line1 = input(true, "---- 123 Reversal ----")
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
line2 = input(true, "---- RSI HistoAlert ----")
RSIPeriod = input(13, minval=1)
BuyAlertLevel = input(-10)
SellAlertLevel = input(10)
RSIHistoModify = input(1.5)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posRSI_Hist = RSI_Hist(RSIPeriod,BuyAlertLevel,SellAlertLevel,RSIHistoModify)
pos = iff(posReversal123 == 1 and posRSI_Hist == 1 , 1,
	   iff(posReversal123 == -1 and posRSI_Hist == -1, -1, 0)) 
possig = iff(reverse and pos == 1, -1,
          iff(reverse and pos == -1 , 1, pos))	   
if (possig == 1 ) 
    strategy.entry("Long", strategy.long)
if (possig == -1 )
    strategy.entry("Short", strategy.short)	 
if (possig == 0) 
    strategy.close_all()
barcolor(possig == -1 ? #b50404: possig == 1 ? #079605 : #0536b3 )