
この戦略は,主に相対的に強い指数 ((RSI) の指標を判断し,購入や販売の状況を判断し,200日単一の移動平均 ((200 Day Simple Moving Average, SMA) を主要価格のトレンドフィルターとして,トレンドの方向を決定する上で,RSIの指標を使用して,より良い入場と出場のタイミングを探し,利益を上げる.RSIの指標を使用するだけで,この戦略は,トレンド判断を増加させ,より正確に市場動向を把握し,牛市で落を追跡し,熊市で逆転させ,より高い戦略利益を得ます.
この戦略は主にRSI指標と200日SMAフィルターからなる2つの部分で構成されています.
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で閉店価格 < 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