この戦略は,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の判断を組み込む.
買い・売りシグナルが生成されると,戦略はそれに応じてロングとショートオーダーを配置します.したがって,上下トレンドの両方を追跡できる二方向取引戦略です.
双交差信号は遅れており,上下を逃す可能性があります
解決法:信号をより敏感にするため,より速いRSI周期パラメータを短縮する
トレンドする市場では,より多くの誤った信号が発生する可能性があります.
解決策: 傾向の誤った信号を避けるために OBOS パラメータを調整する
RSI インジケーターの差異または失敗の確率
解決策: 失敗する唯一の確率を避けるため,他の指標と組み合わせる
期間のパラメータ最適化: RSI 期間を早くも遅くも調整し,最適な組み合わせを見つけます
OBOS パラメータ最適化:信号精度を向上させるために OBOS パラメータを調整する
他の指標と組み合わせる: マ,波動性指標等を組み込み,包括的なシステムを形成する
この戦略は,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)