Chiến lược này tận dụng xu hướng giảm bằng cách xây dựng các vị trí ngắn dần dần dựa trên chỉ số trung bình động và RSI. Nó nhằm mục đích kiếm lợi nhuận trong thị trường giảm.
Khi giá đóng thấp hơn trung bình di chuyển đơn giản 100 ngày và chỉ số RSI lớn hơn 30, hãy bán. Sau đó đặt stop loss trên giá nhập 3% và lấy lợi nhuận dưới giá nhập 2%.
Trên nền tảng Coinrule, đặt nhiều lệnh bán liên tục để xây dựng vị trí dần dần. Khi xu hướng giảm tiếp tục, tăng kích thước vị trí. Đặt khoảng thời gian giữa các lệnh cũng giúp kiểm soát kích thước vị trí tổng thể.
Mỗi giao dịch được kết nối với một lệnh dừng lỗ và lấy lợi nhuận. Tỷ lệ phần trăm được tối ưu hóa cho các đồng xu mid-cap. Bạn có thể điều chỉnh dựa trên đồng xu cụ thể. Khi giao dịch cùng với xu hướng, tỷ lệ dừng lỗ và lấy lợi nhuận như 1: 1.5 có thể hoạt động.
Stop loss ở mức 3% trên giá nhập cảnh Lấy lợi nhuận ở mức 2% dưới giá nhập cảnh Một mức dừng lỗ lớn hơn một chút chịu đựng sự biến động nhiều hơn.
Chiến lược này có hiệu quả nắm bắt xu hướng giảm dựa trên MA và RSI. Xây dựng vị trí dần dần kiểm soát rủi ro trong khi dừng lỗ và lấy lợi nhuận đảm bảo độ bền. Tăng thêm tỷ lệ rủi ro-lợi nhuận bằng cách điều chỉnh các thông số dừng lỗ / lấy lợi nhuận. Có nhiều chỗ để cải thiện các thông số và kiểm soát rủi ro. Nhưng nói chung là một chiến lược ngắn hạn ngắn hạn vững chắc.
/*backtest start: 2022-10-31 00:00:00 end: 2023-11-06 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © Coinrule //@version=4 strategy(shorttitle='Short In Downtrend',title='Short In Downtrend Below MA100', overlay=true, initial_capital = 1000, process_orders_on_close=true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100) //Backtest dates fromMonth = input(defval = 1, title = "From Month", type = input.integer, minval = 1, maxval = 12) fromDay = input(defval = 10, title = "From Day", type = input.integer, minval = 1, maxval = 31) fromYear = input(defval = 2019, title = "From Year", type = input.integer, minval = 1970) thruMonth = input(defval = 1, title = "Thru Month", type = input.integer, minval = 1, maxval = 12) thruDay = input(defval = 1, title = "Thru Day", type = input.integer, minval = 1, maxval = 31) thruYear = input(defval = 2112, title = "Thru Year", type = input.integer, minval = 1970) showDate = input(defval = true, title = "Show Date Range", type = input.bool) start = timestamp(fromYear, fromMonth, fromDay, 00, 00) // backtest start window finish = timestamp(thruYear, thruMonth, thruDay, 23, 59) // backtest finish window window() => true // create function "within window of time" //MA inputs and calculations inSignal=input(50, title='MASignal') MA= sma(close, inSignal) // RSI inputs and calculations lengthRSI = input(14, title = 'RSI period', minval=1) RSI = rsi(close, lengthRSI) //Entry strategy.entry(id="short", long = false, when = close < MA and RSI > 30) //Exit shortStopPrice = strategy.position_avg_price * (1 + 0.03) shortTakeProfit = strategy.position_avg_price * (1 - 0.02) strategy.close("short", when = close > shortStopPrice or close < shortTakeProfit and window()) plot(MA, color=color.purple, linewidth=2)