この戦略は,相対強度指数 (RSI) 指標の極端とシンプル・ムービング・平均 (SMA) のフィルタリングを組み合わせ,トレンドを追跡する.RSIが極端な過剰購入または過剰販売レベルに達すると,SMAの方向に基づいて長距離と短距離の方向が決定される.この戦略は,米国株式指数,欧州指数,アジア指数,金,銀,その他の種類に適している.単純なRSIとSMA規則を通じて,トレンドを効果的に捕捉する.
RSI指標値を計算し,過買い値の上限を65に設定し,過売り値下限を45に設定します.
200日SMAを計算してトレンド方向を決定します.
RSIが45以下 (oversold) で価格がSMA以上になると,ロング;RSIが65以上 (oversold) で価格がSMA以下になるとショート.
RSIが75以上 (強烈な過買い) と価格がSMA以上になると,ロングポジションを閉じる.RSIが25以下 (強烈な過売り) と価格がSMA以下になると,ショートポジションを閉じる.
この戦略は,RSIの極限を時間エントリとSMAの方向にフィルタリングするために使用することで,トレンドを効果的に捉える.RSIの極限は潜在的な逆転を示し,SMAの方向はトレードがトレンドに準拠することを保証する.一緒に,彼らは合理的なトレードとより高い勝利率を確保する.
シンプルで明快な戦略論理 分かりやすくマスターできます
よく知られたRSIとSMA指標に基づいており,実行が簡単です
RSIの極端は潜在的逆転点を示し,SMAフィルターは方向の正確性を保証します.
合理的なパラメータ設定は過剰な取引を避ける.
インデックスや商品などの複数の商品に適用できます
傾向の際の重要な価格変動を記録します
RSI単独と比較して,この戦略は,盲目ロング/ショートを避けるためにSMAトレンドフィルターを追加する. SMAシステム単独と比較して,この戦略は,RSI極端を使用することでタイミング効率を向上させる.全体として,両者の強みを組み合わせて,実践的なトレンドフォロー戦略である.
SMAの死亡交差はトレンド逆転のリスクを伴います.より高い敏感性のために短めのSMA期間を使用します.
RSIの偏差は,取引を逃すリスクです.異常を検出するためにMACDのような他の指標を追加します.
RSIとSMAの両方が,レンジ市場中に誤った信号を生成することがあります.レンジ市場が検出されると取引を一時停止します.
パラメータの設定が正しくない場合,オーバートレードやミストレードになります.最適な組み合わせを見つけるためにパラメータを最適化します.
戦略を評価するには 単一の製品バックテストが不十分です
バックテスト ≠ ライブ・トレーディング ライブ・トレーディングにおけるリスクと資本の管理
異なる製品に対して 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