
この戦略は,相対力指数 (RSI) の極値と,単純な移動平均 (SMA) の平均線をフィルタリングして,トレンドの追跡を可能にします. RSIが過買または過売りの極値に達すると,SMA平均線の方向を組み合わせて判断し,多余の空調方向を判断します. この戦略は,株式指数,ヨーロッパ指数,アジア指数,金白銀などの品種に適用され,単純なRSIとSMAの判断ルールによって,トレンドの捕捉を可能にします.
この戦略は,RSIの超買い超売り範囲によって入場タイミングを判断し,SMAのトレンドフィルターと組み合わせて,トレンドを効果的に捕捉します.RSIの極限値は,価格が逆転する可能性を示し,SMAの方向判断は,取引の方向がトレンドと一致することを保証します.両者の組み合わせは,取引を合理的に保証するとともに,勝率も向上します.
RSI指数を使用するだけで,この戦略はSMAのトレンド判断を増加させ,盲目的に空白を避ける.SMAシステムを使用するだけで,この戦略はSMAの方向に基づいて,RSI極値を利用して,選択時の効率を高めます.全体的に,この戦略は,両者の優位性を集約し,非常に実用的なトレンド追跡戦略です.
SMA平均線がデッドフォークを生じるとき,トレンドの逆転のリスクがあります. 解決策は,SMA周期を適切に短縮し,トレンドの変化に対する感受性を高めることです.
RSIが反動すると,取引の機会を逃すリスクがあります. MACDなどの他の指標との組み合わせで反動を防ぐ方法があります.
振動の状況では,RSIとSMAの両方が誤ったシグナルを発生させることがあります. 解決策は,振動の市場が検出された後に戦略取引を一時停止することです.
パラメータを正しく設定しない場合,過剰な取引や空売りが発生する可能性があります. 解決策は,最適なパラメータの組み合わせを探して,パラメータを最適化することです.
単一品種試験では戦略の効果を評価することはできません.複数の品種試験の裏付けが必要です.
資金管理とリスク管理をコントロールする必要があります.
RSIパラメータを最適化して,異なる品種の最適のRSI周期パラメータを探す.
SMA周期パラメータを最適化し,複数のSMA平均線を統合する.
リスク管理能力の向上
複数の要素による検証を可能にします
波動率の指標と組み合わせて,入場ペースに変更する.
パラメータを自主的に適応するシステムを開発し,動的パラメータ最適化を実現する.
資金管理の様々な方法を試し,最適の資金管理を模索する.
異なる市場条件に応じて取引戦略セットを作成し,戦略統合を実現する.
このRSI極値とSMAフィルタリング戦略は,両者の長さを集約し,簡単な指標判断によってトレンド追跡を可能にします. 戦略の考え方は明確で分かりやすく,パラメータの設定は合理的で,複数の品種に広く適用できます. 単一のRSIとSMA戦略と比較して,この戦略は,選択効率と勝利率を大幅に向上させます. しかし,戦略には,パラメータ最適化,止損機構などの方法によって,戦略の安定性と適応性をさらに強化できる一定の改善余地もあります. 全体的に,この戦略は,トレンドトレーダーにとって非常に実用的で効果的な取引ツールを提供します.
/*backtest
start: 2022-10-23 00:00:00
end: 2023-10-23 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This work is licensed under a Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0) https://creativecommons.org/licenses/by-nc-sa/4.0/
// © wielkieef
//@version=5
strategy('Relative Strength Index Extremes with 200-Day Moving Average Filte', overlay=true, pyramiding=1, initial_capital=10000, default_qty_type=strategy.cash, default_qty_value=36000, calc_on_order_fills=false, slippage=0, commission_type=strategy.commission.percent, commission_value=0.01)
// Rsi
rsi_lenght = input.int(14, title='RSI lenght', minval=0)
rsi_up = ta.rma(math.max(ta.change(close), 0), rsi_lenght)
rsi_down = ta.rma(-math.min(ta.change(close), 0), rsi_lenght)
rsi_value = rsi_down == 0 ? 100 : rsi_up == 0 ? 0 : 100 - 100 / (1 + rsi_up / rsi_down)
//Sma
Length1 = input.int(200, title=' SMA Lenght', minval=1)
SMA1 = ta.sma(close, Length1)
//Strategy Logic
Long = rsi_value < 45 and close > SMA1
Long_exit = rsi_value > 75 and close > SMA1
Short = rsi_value > 65 and close < SMA1
Short_exit = rsi_value < 25 and close < SMA1
if Long
strategy.entry('Long', strategy.long)
if Short
strategy.entry('Short', strategy.short)
strategy.close_all(Long_exit or Short_exit)
pera(pcnt) =>
strategy.position_size != 0 ? math.round(pcnt / 100 * strategy.position_avg_price / syminfo.mintick) : float(na)
stoploss = input.float(title=' stop loss', defval=5, minval=0.5)
los = pera(stoploss)
strategy.exit('SL', loss=los)
//by wielkieef