RSIの二重クロス逆転戦略

作者: リン・ハーンチャオチャン開催日:2023年11月22日 14:59:07
タグ:

img

概要

この戦略は,RSI指標の二重交差逆転原理に基づいたトレンドフォロー戦略である.これは,異なる期間のRSI線間の交差を購入および販売信号として使用し,また,現在の状況が過買いまたは過売れているかどうかをRSI指標の判断を組み込み,取引信号の有効性をさらに確認する.

戦略の論理

この戦略は主に5日線と11日線の2つのRSI指標線に基づいています. 6日間のRSIが30を下回っている間に,より速いRSI (5日間の線) がより遅いRSI (11日間の線) を上向きに突破すると,購入信号が生成されます. 6日間のRSIが70を超えている間に,より速いRSIがより遅いRSIを下向きに突破すると,販売信号が生成されます.

戦略はまた,30と70の水平線を描き,30は過剰販売領域,70は過剰購入領域を表しています.RSI指標の基本的な考え方は,過剰購入/過剰販売領域にある場合,資産が過/過低評価されていることを意味し,利益/購入機会を利用することを検討すべきであるということです.したがって,戦略は,いくつかの誤った信号をフィルターし,信頼性を向上させるために,6日間のRSIの判断を組み込む.

買い・売りシグナルが生成されると,戦略はそれに応じてロングとショートオーダーを配置します.したがって,上下トレンドの両方を追跡できる二方向取引戦略です.

利点

  1. 二重交差原理による高い信頼性
  2. 多期RSIを組み込むことで誤った信号を避ける
  3. トレンドフォローに適した二方向取引
  4. RSIインジケーターは大きな最適化スペースで安定しています

リスク と 解決策

  1. 双交差信号は遅れており,上下を逃す可能性があります
    解決法:信号をより敏感にするため,より速いRSI周期パラメータを短縮する

  2. トレンドする市場では,より多くの誤った信号が発生する可能性があります.
    解決策: 傾向の誤った信号を避けるために OBOS パラメータを調整する

  3. RSI インジケーターの差異または失敗の確率
    解決策: 失敗する唯一の確率を避けるため,他の指標と組み合わせる

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

  1. 期間のパラメータ最適化: RSI 期間を早くも遅くも調整し,最適な組み合わせを見つけます

  2. OBOS パラメータ最適化:信号精度を向上させるために OBOS パラメータを調整する

  3. 他の指標と組み合わせる: マ,波動性指標等を組み込み,包括的なシステムを形成する

結論

この戦略は,RSIの二重交差逆転論理に基づいた信頼性の高いトレンドフォロー戦略である.その多期RSI設計は,特定の誤った信号を回避することができ,したがって良い実践的な結果をもたらします.パラメータ最適化と指標組み合わせを通じて,戦略はさらに優れたパフォーマンスを得ることができます.要するに,戦略は明確な論理と強力な実用性があり,主要な注意とさらなる最適化に値します.


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

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © email_analysts
// This code gives indication on the chart to go long or short based on RSI crossover strategy. 
//Default value has been taken as 5 and 11, with 6 being used to identify highs & lows.
//@version=4
strategy("RSITrendStrategy", overlay=false)
len1 = input(title="MA 1", defval = 5)
len2 = input(title="MA 1", defval = 11)
len3 = input(title="MA 1", defval = 6)

h1 = hline(30.)
h2 = hline(70.)
///fill(h1, h2, color = color.new(color.blue, 80))
sh = rsi(close, len1)
ln = rsi(close, len2)
rs = rsi(close, len3)
p1 = plot(sh, color = color.red)
p2 = plot(ln, color = color.green)
p3 = plot(rs, color = color.white)

mycol = sh > ln ? color.lime : color.red
fill(p1, p2, color = mycol)

buy = (sh[1] < ln[1] and sh > ln and rs[1] < 30) 
if (buy)
    strategy.entry("long", strategy.long)

sell = (sh[1] > ln[1] and sh < ln and rs[1] > 70)
if (sell)
    strategy.entry("short", strategy.short)

もっと