この戦略は,購買・売却警報線を設定することで,クラシックRSIインジケーターを向上させる.RSIインジケーターが警報線を突破すると,対応する購入・売却オペレーションが実行される.同時に,この戦略は,ロング・ショート・ポジションの切り替え能力も提供する.
この戦略は,RSIインジケーターのヒストグラムを通じて,買い/売シグナルを誘発します.
(1) RSI インディケーターの値を計算します.
RSIMain = (rsi(xPrice, RSIPeriod) - 50) * RSIHistoModify
xPriceが価格シリーズで,RSIPeriodがRSIを計算するパラメータで,RSIHistoModifyがRSI値のスケーリング因数です.
(2) 購入警告ラインのBuyAlertLevelと販売警告ラインのSellAlertLevelを設定します. RSIインジケーターが購入警告ラインの上にあるとき,それは購入信号です.販売警告ラインの下にあるとき,それは販売信号です.
(3) RSI インジケーターのヒストグラムをグラフ化して,買い・売る信号を視覚化します.
(4) ポジション pos を設定します.シグナルが起動すると,pos を 1 (long) または -1 (short) に設定します.ポジティブまたはリバース・トレードを選択できます.
(5) POS の値に基づいて入口方向と価格を決定する.
(1) RSI インジケーターの使用方法を改善し,買い・売るシグナルをより明確に示します.
(2) RSI インジケーターとアラートラインを異なる市場に合わせて調整できるパラメータ.
(3) 購入・販売信号の直感的な表示 ヒストグラム
(4) ポジティブ・トレードとリバース・トレードを選択する能力
(5) 戦略のアイデアは単純で明快で,理解し,変更しやすい.
(1) 誤った信号を生成する傾向がある.RSI インジケーター自体も誤った信号を生成する傾向がある.
(2) ストップ・ロスの検討はなく,大きな損失のリスクがあります.
(3) パラメータの設定が正しくない場合も故障を引き起こす可能性があります.
(1) 偽の信号をフィルタリングするために他の指標と組み合わせ,例えば取引量ブレイクを考慮します.
(2) ストップ・ロスのメカニズムを設定する.
(3) 最適なパラメータを見つけるためのパラメータ最適化
(4) アルゴリズムを用いて最適パラメータを自動的に探すための機械学習を組み合わせることを検討する.
この戦略は,RSI指標の使用を改善し,購入・販売アラートラインを設定することで,購入・売却信号をより明確かつ直感的に表現する.オリジナルのRSI指標と比較して,より強力な実用性がある.しかし,一定のリスクもあります.リスクを減らすために,他の技術指標とストップロスを組み合わせて,さらなる最適化が必要である.戦略のアイデアはシンプルで,定量取引の初心者が学び,実践するのに適しています.
/*backtest start: 2022-12-22 00:00:00 end: 2023-12-28 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 //////////////////////////////////////////////////////////// // Copyright by HPotter v1.0 22/12/2016 // This simple indicator modified RSI // You can use in the xPrice any series: Open, High, Low, Close, HL2, HLC3, OHLC4 and ect... // You can change long to short in the Input Settings // Please, use it only for learning or paper trading. Do not for real trading. //////////////////////////////////////////////////////////// strategy(title="RSI HistoAlert Strategy") RSIPeriod = input(13, minval=1) BuyAlertLevel = input(-10) SellAlertLevel = input(10) RSIHistoModify = input(1.5) reverse = input(false, title="Trade reverse") hline(0, color=purple, linestyle=line) hline(BuyAlertLevel, color=green) hline(SellAlertLevel, color=red) xPrice = close RSIMain = (rsi(xPrice, RSIPeriod) - 50) * RSIHistoModify rsiHcolor = iff(RSIMain >= 0 , green, iff(RSIMain < 0, red, black)) pos = iff(RSIMain > BuyAlertLevel, 1, iff(RSIMain < SellAlertLevel, -1, nz(pos[1], 0))) possig = iff(reverse and pos == 1, -1, iff(reverse and pos == -1, 1, pos)) if (possig == 1) strategy.entry("Long", strategy.long) if (possig == -1) strategy.entry("Short", strategy.short) barcolor(possig == -1 ? red: possig == 1 ? green : blue ) plot(RSIMain, color=blue, title="RSI HistoAlert") plot(RSIMain, color=rsiHcolor, title="Histogram", style = histogram, linewidth = 1)