Mua thấp - Chiến lược tối ưu hóa MA200


Ngày tạo: 2024-01-08 16:54:21 sửa đổi lần cuối: 2024-01-08 16:54:21
sao chép: 0 Số nhấp chuột: 695
1
tập trung vào
1617
Người theo dõi

Mua thấp - Chiến lược tối ưu hóa MA200

Tổng quan

Chiến lược này kết hợp phương pháp giao dịch ngược ((mua điểm thấp) với logic theo dõi xu hướng ((chỉ khi giá cao hơn MA200). Chiến lược này nhằm tìm ra thời điểm tốt nhất để có thể kiếm lợi nhuận khi mua tài sản ở mức thấp. Giá trên đường trung bình di chuyển dài hạn thể hiện khả năng kiếm lợi nhuận từ việc mua tài sản có giá yếu trong ngắn hạn.

Nguyên tắc chiến lược

Chiến lược này tính toán phần trăm thay đổi tổng thể của giá trong thời gian xem xét để xác định xem giá có ở mức thấp tương đối hay không. Khi phần trăm thay đổi tổng thể nhỏ hơn 3%, giá được coi là ở mức thấp. Ngoài ra, chiến lược cũng đặt trung bình di chuyển đơn giản 200 ngày làm chỉ số để đánh giá xu hướng. Chỉ khi giá cao hơn trung bình di chuyển 200 ngày, tín hiệu mua sẽ được phát ra.

Phân tích lợi thế

Chiến lược này kết hợp các ưu điểm của giao dịch xu hướng và giao dịch đảo ngược. Một mặt, sử dụng trung bình di chuyển dài hạn để xác định xu hướng, tránh mua mù trong thời gian xu hướng giảm. Mặt khác, mua ngược điểm thấp cũng cho phép nó có được thời gian nhập cảnh tốt hơn khi điều chỉnh ngắn hạn.

Phân tích rủi ro

Rủi ro lớn nhất của chiến lược này là sau khi tín hiệu mua được phát ra, giá có thể tiếp tục giảm, dẫn đến tổn thất mở rộng. Ngoài ra, nếu thị trường nằm ngang trong thời gian dài và giá không thể vượt qua đường trung bình di chuyển, chiến lược cũng có thể dẫn đến thất bại. Để giảm những rủi ro này, bạn có thể rút ngắn chu kỳ trung bình di chuyển một cách thích hợp và tối ưu hóa điều kiện mua để đảm bảo có đủ biên an toàn.

Hướng tối ưu hóa

Chiến lược này có thể được tối ưu hóa theo các khía cạnh sau: 1) Tối ưu hóa chu kỳ trung bình di chuyển, phù hợp với các thị trường khác nhau; 2) Tối ưu hóa điều kiện mua để đảm bảo có đủ biên; 3) Tăng chiến lược dừng lỗ, kiểm soát tổn thất; 4) Cải thiện độ chính xác khi kết hợp với các chỉ số khác để đánh giá xu hướng và điểm thấp.

Tóm tắt

Chiến lược này nói chung là một chiến lược điển hình kết hợp theo dõi xu hướng và tư duy giao dịch đảo ngược. Nó đảm bảo an toàn giao dịch và tăng khả năng kiếm lợi nhuận. Có giá trị chiến đấu mạnh mẽ.

Mã nguồn chiến lược
/*backtest
start: 2023-12-08 00:00:00
end: 2024-01-07 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("Buy The Dips - MA200 Optimised", overlay=false)

//Moving average
MAinp = input(defval = 100, title = "MA", type = input.integer, minval = 1, step = 1)
MA=sma(close, MAinp)

//Percent change
inp_lkb = input(1, title='Lookback Period')
 
perc_change(lkb) =>
    overall_change = ((close[0] - close[lkb]) / close[lkb]) * 100

// Call the function    
overall = perc_change(inp_lkb)

// === INPUT BACKTEST RANGE ===
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()  => true       // create function "within window of time"

//Entry/Exit
strategy.entry(id="long", long = true, when = window() and overall<-3 and close > MA) 
strategy.close(id="long", when = window() and overall>1)


bgcolor(color = showDate and window() ? color.gray : na, transp = 90) 
plot(overall, color=color.black, title='Overall Percentage Change', linewidth=3)
band1 = hline(1, "Upper Band", color=#C0C0C0)
band0 = hline(-2, "Lower Band", color=#C0C0C0)
fill(band1, band0, color=#9915FF, transp=90, title="Background")
hline(0, title='Center Line', color=color.orange, linestyle=hline.style_solid, linewidth=2)