この戦略は,主に相対強度指数 (RSI) を用いて過買い・過売状況を判断し,200日単動平均 (200日SMA) を主要価格トレンドフィルターとして使用する.トレンド方向を決定する根拠として,RSI指標を使用して収益性を達成するためのより良いエントリー・エグジットタイミングを見つけます.RSI指標単独を使用すると比較して,この戦略はトレンド判断を高め,市場のトレンドをより正確に把握し,牛市で上昇と減少を追いかけて,熊市で逆のことをして,より高い戦略リターンを得ることができます.
この戦略は主に2つの部分で構成されています.RSI指標と200日SMAフィルターです.
RSI指標のセクションは,価格が過剰購入または過剰販売ゾーンに入ったかどうかを主に判断します.その計算式は:
RSI = 100 - 100 / (1 + RSI の上昇日の平均利益 / RSI のダウン日の平均損失)
経験的なパラメータによると,RSI < 30の場合,過剰販売, > 70の場合,過剰購入です.
200日SMAフィルターは主に市場の全体的な傾向方向を判断する.価格が200日SMAを超えると,それは牛市場であり,そうでなければそれは熊市場である.
上記の2つの判断に基づいて,戦略は次のエントリー&アウトリース論理を持っています.
ロングエントリー:RSI < 45 と閉じる価格 > 200 日SMA
長期出口:RSI > 75 閉じる価格 > 200 日SMA
短期入場:RSI > 65と閉じる価格 < 200日SMA
ショートアウト:RSI < 25 と Close 価格 < 200 日 SMA
したがって,戦略は,RSI指標の正確な判断を使用して,全体的なトレンドのより良いエントリーとアウトプットを見つけ,それによってより高い収益を達成します.
この戦略の最大の利点は,RSIインジケーターと200日SMAフィルターの組み合わせを使用して,戦略をより安定して正確にすることです.
さらに,この戦略には以下の利点があります.
この戦略にはいくつかのリスクもあります:
これらのリスクを制御するために,次の措置が講じられます.
戦略は以下の側面で最適化できます.
この戦略の全体的な性能は良好であり,正確な判断,単純な操作,幅広い適用性の利点があります.ストップ損失とポジションサイズを追加した後,ライブ取引で慎重に実行できます.パラメータ最適化,ストップ損失最適化,ポジションサイズなどのフォローアップ側面は戦略をさらに強化することができます.
/*backtest start: 2023-12-04 00:00:00 end: 2023-12-11 00:00:00 period: 2h basePeriod: 15m 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/ // © LuxAlgo //@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