資源の読み込みに... 荷物...

RSI 長期取引戦略

作者: リン・ハーンチャオチャン, 日付: 2023-09-21 20:54:08
タグ:

概要

この戦略は,RSI指数を使用して長期的トレンド方向を決定し,キャンドルスティックパターンと価格ブレイクと組み合わせて長期的取引信号を生成する.これはRSIベースの長期サイクル追跡戦略タイプに属します.

戦略の論理

この戦略は主に2つの要素に基づいています

  1. RSI インディケーター

    20期間のRSIを計算し,全体的なトレンド方向を決定します.

  2. ろうそく の パターン

    過去3本のキャンドルの価格変化を判断して 傾向を確認します

    • 350以上の累積的な近差変化は上昇傾向を示しています
    • -200未満の累積的な近差変動は下落傾向を示す

上向きでRSIが30を超えるとロングになり 下向きでショートになります

全体的に,傾向を決定するために,長期間のRSI傾向とキャンドルスティックパターンを考慮します.

利点

  • RSI は 長期 傾向 の 方向 を 判断 し て い ます
  • キャンドルスタイクパターンは,傾向を確認します
  • 精度 を 向上 さ せる 多種 の 要因
  • 長期サイクルにより過剰な取引が避けられる
  • 調整可能なRSIパラメータと

リスク

  • RSI は 傾向 の 変化 に 遅れ て いる こと が あり ます
  • シンプルなキャンドルスタイクパターンのルール
  • ストップ・ロスト・メカニズムがないため,良い出口が重要です.
  • 長いサイクルは短い調整に反応できない
  • 異なる製品に対して 異なる調整が必要である

リスクは以下によって軽減できます.

  • 最良期間のRSIパラメータの最適化
  • 確認のためにMACDなどの他の指標を追加
  • 移動またはパーセント停止を追加する
  • 短いサイクルのための追加の小規模な取引を検討
  • 試験パラメータと試験値は,異なる製品に対して別々に

改善の方向性

戦略は以下によって改善できます.

  1. 最適パラメータのための異なるRSI期間をテストする

    例えばテスト 10, 15, 30 期間の RSI

  2. 確認指標を追加する

    例えば,RSIの上昇傾向にはMACDの黄金十字が必要です.

  3. 停止を最適化する

    移動停止,トレイル123などを考えてください

  4. 時間に基づくパラメータ最適化

    異なるセッションでパラメータを個別に最適化する

  5. 短期戦略の追加

    短期的な戦略を組み合わせて,一時的な調整に反応する

概要

この長期戦略は,キャンドルスティックパターンとブレイクアウトによって確認されたトレンド方向のためにRSIを使用し,短期的なノイズを避ける一方で主要なトレンドに焦点を当てます.しかし,RSI遅延や弱いストップのような問題は存在します.パラメータ最適化,確認を追加,ストップを最適化することで,短期的な柔軟性と長期的持続性を組み合わせて,安定した長期的収益性を可能にします.


/*backtest
start: 2022-09-14 00:00:00
end: 2023-09-20 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/


//@version=2
// use with eurusd h1 , gbpusd h1
strategy("RSI Long Term", overlay=true, default_qty_type = strategy.percent_of_equity, default_qty_value = 10)
RSI = (rsi(sum(close , 20) + sum(open ,20) , 20 ))
Sum_OF_3_Both = sum((close - open)*100000 , 3) 
Up_Move = ((close[0] - open[0])*100000) < 35



Down_Move = ((close[6] - open[6])*100000) + ((close[5] - open[5])*100000) + ((close[4] - open[4])*100000) < -400


maxIdLossPcnt = input(10, "Max Intraday Loss(%)", type=float)

// strategy.risk.max_intraday_loss(maxIdLossPcnt, strategy.percent_of_equity)
//total =  (num > 70 )

if (Sum_OF_3_Both > 350 and Up_Move )
    strategy.entry("Bar Up Buy", strategy.long)

if (Sum_OF_3_Both < -200  and Down_Move and RSI > 30.1  )
    strategy.entry("Bar Down Sell ", strategy.short)

//plot(strategy.equity, title="equity", color=red, linewidth=2, style=areabr)

もっと