動向指標のクロスオーバー戦略

作者: リン・ハーンチャオチャン開催日:2024年2月1日 (月) 14:50:26
タグ:

img

概要

この戦略は,RSIインジケーターとその移動平均値のクロスオーバーを取引信号として使用し,一般的なモメンタムインジケーター戦略に属している.その基本原理は,RSIインジケーターとRSIの単純な移動平均値SMA_RSIの違いを追跡し,その違いの単純な移動平均値SMA_RSI2を計算することです.SMA_RSI2が値を超えると,ロングします.値を下回ると,ポジションを閉じる.

戦略原則

この戦略は,RSI指標と異なる期間の2つの単純な移動平均を計算するために3つのパラメータを使用します.まず,周期長で通常のRSI指標を計算します.次にRSIのLength2期間の単純な移動平均SMA_RSIを計算します.最後に,RSIとSMA_RSIの間のデルタ差を計算し,それからデルタのLength3期間の単純な移動平均SMA_RSI2を計算します.SMA_RSI2がユーザー定義の値を超えると,ロングトレードを行います.SMA_RSI2が値を下回ると,ポジションを閉じる.

このように,RSI指標の移動平均値のクロスオーバーに基づいた取引信号戦略が形成される.SMA_RSI2はデルタ差の移動平均値であるため,RSI指標の動力とトレンドの変化を反映し,RSI指標そのものの本質を把握することができます.

利点分析

この戦略は,RSI指標とその移動平均値の利点を組み合わせて価格動向を追跡し,ノイズによる誤解を避ける.デルタ差を計算し,スムージングを行うというアイデアは,より明確な取引信号を生成する.全体的に,この戦略はより小さな引き下げとより安定した利益を持っています.

具体的な利点は以下の通りです.

  1. 価格変動を緩和し,誤った信号を減らすためにデルタを使用する
  2. 移動平均のクロスオーバーのシンプルで直接的な形式,習得が簡単
  3. 市場に合わせた より調整可能なパラメータ
  4. 安定した利益,少額利用

リスク と 改善

この戦略にはいくつかのリスクもあります 主に以下に反映されています

  1. 重要な市場動向におけるストップ損失の増加
  2. 変動傾向の不安定な利益

改善は以下の点で行うことができます.

  1. 安定性を高めるためにパラメータを最適化
  2. 単一の損失を制御するストップ損失メカニズムを追加する
  3. 信号品質を改善するために他の指標と組み合わせる

結論

この戦略は比較的シンプルで普遍的です.デルタ算術操作を通じてRSI指標そのものの実用性を高め,クロスオーバーを使用して判断することで,それは良い引き下げ制御を有し,非常に実践的なモメンタム指標戦略です.


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

//@version=4
strategy ("RSI&SMA", overlay=false )
startP = timestamp(input(2017, "Start Year"), input(12, "Month"), input(17, "Day"), 0, 0)
end   = timestamp((9999), (1), (1), 0, 0)
_testPeriod() => true

length = input(3, minval=1, title = "RSI period")
length2 = input(21, minval=1, title = "RSI SMA-1")
length3 = input(13, minval=1, title = "RSI SMA-2")
threshold  = input(0,step=0.5, title="Threshold")
filter = input(false, title="Use filter?") 


up = rma (max (change (close), 0), length)
down = rma (-min (change (close), 0), length)
RSI = down == 0? 100: up == 0? 0: 100-100 / (1 + up / down)

SMA_RSI = sma(RSI, length2)
delta = RSI-SMA_RSI
SMA_RSI2 = sma(delta, length3)
Long = crossover(SMA_RSI2, threshold) 
Short = crossunder(SMA_RSI2, threshold) 

plot(threshold, color=color.silver)
plot(SMA_RSI2, color= SMA_RSI2 > 0 ? color.blue : color.purple)
//plot(SMA_RSI, color=color.green)
//plot(delta, color=color.red)

long_condition =  Long and (filter ? close > ema(close, 200) : true) and _testPeriod()
strategy.entry('BUY', strategy.long, when=long_condition)  
 
short_condition =  Short
strategy.close('BUY', when=short_condition)


もっと