
この戦略は,RSI指標の二叉反転原理に基づいて作成されたトレンド追跡戦略である.これは,異なる周期のRSIラインの交差を,買入と売却の信号として使用し,同時にRSI指標と組み合わせて,現在,オーバーバイまたはオーバーセール状態にあるかどうかを判断し,取引信号の有効性をさらに確認する.
この戦略は,主に5日と11日の2つのRSI指標ラインに基づいています. より速いRSI ((5日線) は,下から上方へ,より遅いRSI ((11日線) を突破し,同時に6日RSIが30を下回ると,買入シグナルを生じます. より速いRSIは,上から下へと,より遅いRSIを突破し,同時に6日RSIが70を超えると,売出シグナルを生じます.
この戦略は,30と70の水平線を同時に描画します。30は超売り領域,70は超買い領域を表します。RSI指標の基本的な考えは,超買い超売り領域にあるとき,資産が過大評価されていることを代表し,利益の結束または再調整の機会を待つことを考慮すべきです. RSIが超売り領域にあるとき,資産が過小評価されていることを代表し,購入して多項ポジションを構築することを考慮すべきです。したがって,この戦略は,6日RSIが超買い超売り領域にあるかどうかを判断するために加えられ,いくつかの偽信号をフィルターし,信号の信頼性を向上させます。
買入と売却のシグナルを生成する際に,この戦略は,それぞれオーダーをオーダーし,オーダーを空にする.したがって,これは,上昇傾向と下降傾向の両方を追跡できる双方向の取引戦略である.
双叉信号が遅れているため,部分的な落を逃した可能性がある.
解決方法: 信号をより敏感にするために,faster RSIの周期パラメータを適切に短縮する
トレンドマーケットで偽信号が増える可能性
解決策: 超買超売判断領域のパラメータを調整し,トレンド市場の偽信号を避ける
RSIが散乱したり,失敗したりする確率
解決策:他の指標の組み合わせで使用し,RSIが単独で失敗する確率を回避する
周期パラメータ最適化: 周期パラメータをより速く,よりゆっくりとしたRSIに調整し,最適なパラメータの組み合わせを探します.
オーバーバイオーバーセールパラメータ最適化:オーバーバイオーバーセール判断領域のパラメータを調整し,信号の正確性を向上させる
他の指標との組み合わせ:移動平均や波動率指標などの組み合わせ,統合取引システムを形成する
この戦略は,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)