Chiến lược được đặt tên là
Chiến lược này đầu tiên tính toán Trung bình Di chuyển Tăng gấp đôi (MA) của giá, sau đó tính toán RSI dựa trên MA, và tiếp tục tính toán Trung bình Di chuyển Tăng của RSI (Smooth). Nó tạo ra tín hiệu mua khi RSI vượt trên trung bình di chuyển của nó và bán tín hiệu khi RSI vượt dưới trung bình di chuyển của nó. Tùy chọn, chiến lược cũng thiết lập các tham số cho số lượng giao dịch tối đa mỗi ngày, kích thước giao dịch là tỷ lệ phần trăm vốn chủ sở hữu, thời gian phiên giao dịch, lấy lợi nhuận và dừng lỗ trong các điểm và dừng lại trong các điểm để kiểm soát rủi ro.
Các biện pháp đối phó:
Chiến lược có các quy tắc cơ học rõ ràng và độ tin cậy cao nói chung, phù hợp với các sản phẩm xu hướng trung bình đến dài hạn. Khi được tối ưu hóa, nó có thể trở thành một xu hướng cơ bản theo chiến lược cơ học với rủi ro có thể kiểm soát được, đáng để đánh giá thêm về hiệu suất trực tiếp.
/*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)