Chiến lược chéo giữa hai mức trung bình động

Tác giả:ChaoZhang, Ngày: 2023-11-21 11:34:09
Tags:

img

Tổng quan

Chiến lược chéo trung bình di chuyển kép là một chiến lược theo xu hướng điển hình. Nó tính toán hai đường trung bình di chuyển với các giai đoạn khác nhau và sử dụng chéo của chúng như các tín hiệu giao dịch để nắm bắt hướng và động lực của xu hướng thị trường.

Chiến lược logic

Chiến lược này chủ yếu dựa trên hai đường trung bình động. đường trung bình động đầu tiên có thời gian ngắn hơn và có thể phản ứng nhanh hơn với sự thay đổi giá. đường trung bình động thứ hai có thời gian dài hơn và có thể lọc ra một số tiếng ồn. Khi đường trung bình động ngắn hạn vượt qua đường trung bình động dài hạn, nó được coi là tín hiệu mua.

Cụ thể, chiến lược này tính toán một đường trung bình chuyển động theo hàm số nhân 10 giai đoạn (giá 1) và đường trung bình chuyển động theo hàm số nhân 20 giai đoạn (giá 2). Nếu giá mở và đóng của thanh hiện tại đều cao hơn hai đường trung bình chuyển động, một tín hiệu mua được tạo ra. Nếu giá mở và đóng đều thấp hơn hai đường trung bình chuyển động, một tín hiệu bán được tạo ra.

Thiết kế này cho phép nhập sớm hơn khi xu hướng bắt đầu hình thành và theo xu hướng. Khi xu hướng đảo ngược, nó cũng có thể thoát khỏi thị trường sớm để kiểm soát rủi ro một cách hiệu quả.

Ưu điểm

  • Nhận thấy xu hướng sớm và theo dõi xu hướng mạnh
  • Bộ lọc nhiễu chéo hai MA
  • Sự xác nhận hai lần từ giá mở và đóng giảm các giao dịch không hiệu quả

Rủi ro

  • Có xu hướng bị chém và chuyển đổi ngược
  • Có thể xảy ra các tín hiệu chéo thường xuyên
  • Không gian điều chỉnh tham số lớn có thể dẫn đến quá tải

Tăng cường

  • Kiểm tra các bộ tham số khác nhau để tìm tối ưu
  • Thêm stop loss vào kích thước giới hạn lỗ
  • Thêm bộ lọc để giảm giao dịch xấu
  • Kết hợp các chỉ số khác để xác nhận tín hiệu

Tóm lại

Chiến lược này tương đối đơn giản và thực tế, nắm bắt xu hướng với giao thoa MA kép, làm cho nó trở thành một chiến lược lượng cơ bản. Nhưng nó cũng có một số rủi ro và cần tối ưu hóa hơn nữa cho các chế độ thị trường khác nhau. Có chỗ để tăng cường các tham số, dừng, bộ lọc vv để làm cho nó mạnh mẽ hơn.


/*backtest
start: 2022-11-14 00:00:00
end: 2023-11-20 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
//study(title="MA River CC v1", overlay = true)
strategy("MA River CC v1", overlay=true)
src = input(close, title="Source")

price = request.security(syminfo.tickerid, timeframe.period, src)
ma1 = input(10, title="1st MA Length")
type1 = input("EMA", "1st MA Type", options=["SMA", "EMA"])

ma2 = input(20, title="2nd MA Length")
type2 = input("EMA", "2nd MA Type", options=["SMA", "EMA"])

price1 = if (type1 == "SMA")
    sma(price, ma1)
else
    ema(price, ma1)
    
price2 = if (type2 == "SMA")
    sma(price, ma2)
else
    ema(price, ma2)


//plot(series=price, style=line,  title="Price", color=black, linewidth=1, transp=0)
plot(series=price1, style=line,  title="1st MA", color=blue, linewidth=2, transp=0)
plot(series=price2, style=line, title="2nd MA", color=green, linewidth=2, transp=0)


buy_entry = (open>price1 and open>price2) and (close>price1 and close>price2)  
sell_entry = (open<price1 and open<price2) and (close<price1 and close<price2)
buy_close = sell_entry
sell_close = buy_entry
//longCondition = crossover(price1, price2)    
if(buy_entry)
    strategy.entry("Long", strategy.long)
    
if(sell_entry)
    strategy.entry("Short", strategy.short)

strategy.close("Long" , when=buy_close)
strategy.close("Short",when=sell_close)



Thêm nữa