
이 전략의 이름은 쌍 지수 이동 평균 RSI 거래 전략 . 이 전략은 쌍 지수 이동 평균 ((Double EMA) 과 상대적으로 강한 지수 ((RSI) 를 주요 거래 지표로 사용하여 기계화 거래를 수행한다.
이 전략은 우선 가격의 이중 지수 이동 평균 ((MA) 를 계산하고, 그 다음 MA를 기반으로 RSI를 계산하고, 그 다음 RSI의 지수 이동 평균 ((Smooth) 을 계산한다. RSI가 이동 평균을 통과하면 구매 신호를 생성하고, RSI가 이동 평균을 통과하면 판매 신호를 생성한다. 옵션으로, 이 전략은 또한 최대 거래 수, 거래 자본 비율, 거래 기간, 스톱 스톱 스톱 및 수 추적 스톱 스톱 포인트 수와 같은 매개 변수를 설정합니다.
대책:
이 전략의 전체적인 mechanic 규칙은 명확하고, 신뢰성이 높으며, 중·장선 트렌드 품종에 적용된다. 최적화되면 트렌드를 추적하는 기계적 거래 전략의 기초가 될 수 있으며, 위험은 통제할 수 있으며, 실장 효과를 추가로 평가할 가치가 있다.
/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
strategy(title='[STRATEGY][RS]DemaRSI V0', shorttitle='D', overlay=false, initial_capital=100000, currency=currency.USD)
src = input(close)
ma_length = input(21)
rsi_length = input(4)
rsi_smooth = input(4)
ma = ema(ema(src, ma_length), ma_length)
marsi = rsi(ma, rsi_length)
smooth = ema(marsi, rsi_smooth)
plot(title='M', series=marsi, color=black)
plot(title='S', series=smooth, color=red)
hline(0)
hline(50)
hline(100)
max_order_per_day = input(6)
// strategy.risk.max_intraday_filled_orders(max_order_per_day)
trade_size_as_equity_factor = input(false)
trade_size = input(type=float, defval=10000.00) * (trade_size_as_equity_factor ? strategy.equity : 1)
take_profit_in_points = input(100000)
stop_loss_in_points = input(100000)
trail_in_points = input(150)
USE_SESSION = input(true)
trade_session = input(title='Trade Session:', defval='0400-1500', confirm=false)
istradingsession = not USE_SESSION ? true : not na(time('1', trade_session))
buy_entry = istradingsession and crossover(marsi, smooth)
sel_entry = istradingsession and crossunder(marsi, smooth)
strategy.entry('buy', long=true, qty=1, when=buy_entry)
strategy.entry('sel', long=false, qty=1, when=sel_entry)
strategy.exit('buy.Exit', from_entry='buy', profit=take_profit_in_points, loss=stop_loss_in_points, trail_points=trail_in_points, trail_offset=trail_in_points)
strategy.exit('sel.Exit', from_entry='sel', profit=take_profit_in_points, loss=stop_loss_in_points, trail_points=trail_in_points, trail_offset=trail_in_points)
strategy.close_all(when=not istradingsession)