
Chiến lược này sử dụng giao dịch giữa hai chu kỳ khác nhau của đường trung bình di chuyển và thuộc loại theo dõi xu hướng. Chiến lược sử dụng tín hiệu mua và bán giữa đường trung bình di chuyển ngắn hạn và dài hạn để giao dịch trong xu hướng.
Chiến lược này sử dụng SMA ngắn hạn di chuyển 9 chu kỳ và LMA dài hạn di chuyển 50 chu kỳ. Một tín hiệu mua được tạo ra khi đường trung bình di chuyển ngắn hạn đi qua đường trung bình di chuyển dài hạn từ phía dưới; một tín hiệu bán được tạo ra khi đường trung bình di chuyển ngắn hạn đi qua đường trung bình di chuyển dài hạn từ phía trên xuống.
Trong khi đó, chiến lược cũng giới thiệu các chỉ số RSI để đánh giá cường độ của xu hướng. Chỉ khi RSI lớn hơn ngưỡng đặt ((định nghĩa 55), tín hiệu giao dịch sẽ được tạo ra. Điều này có thể tránh tín hiệu sai khi RSI nằm trong phạm vi bán tháo.
Chiến lược mỗi lần giao dịch chiếm 30% tổng số vốn, mỗi lần đặt hàng chỉ có một lần.
Có thể giảm thiểu rủi ro bằng cách tối ưu hóa các tham số, kết hợp các chỉ số khác để xác định cơ hội kiếm lợi nhuận, quản lý quỹ nghiêm ngặt, thiết lập dừng lỗ.
Chiến lược này nắm bắt cơ hội xu hướng thông qua một hệ thống chéo trung bình di chuyển đơn giản. Các tham số mặc định được tối ưu hóa, lợi nhuận ổn định, phù hợp với giao dịch tự động.
/*backtest
start: 2023-09-16 00:00:00
end: 2023-10-16 00:00:00
period: 2h
basePeriod: 15m
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/
// © relevantLeader16058
//@version=4
strategy(shorttitle='Maximized Moving Average Crossing ',title='Maximized Moving Average Crossing (by Coinrule)', overlay=true, initial_capital=1000, default_qty_type = strategy.percent_of_equity, default_qty_value = 30, commission_type=strategy.commission.percent, commission_value=0.1)
//Backtest dates
fromMonth = input(defval = 1, title = "From Month", type = input.integer, minval = 1, maxval = 12)
fromDay = input(defval = 1, title = "From Day", type = input.integer, minval = 1, maxval = 31)
fromYear = input(defval = 2020, 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() => time >= start and time <= finish ? true : false // create function "within window of time"
//MA inputs and calculations
inlong=input(50, title='MA long period')
inshort=input(9, title='MA short period')
MAlong = sma(close, inlong)
MAshort= sma(close, inshort)
// RSI inputs and calculations
lengthRSI = (14)
RSI = rsi(close, lengthRSI)
RSI_Signal = input(55, title = 'RSI Trigger', minval=1)
//Entry and Exit
bullish = crossover(MAshort, MAlong)
bearish = crossunder(MAshort, MAlong)
strategy.entry(id="long", long = true, when = bullish and RSI > RSI_Signal and window())
strategy.close(id="long", when = bearish and window())
plot(MAshort, color=color.purple, linewidth=2)
plot(MAlong, color=color.red, linewidth=2)