Chiến lược giao dịch định lượng dựa trên sự giao nhau của đường trung bình động


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

Chiến lược giao dịch định lượng dựa trên sự giao nhau của đường trung bình động

Tổng quan

Chiến lược này được xây dựng bằng cách sử dụng nguyên tắc giao thoa vàng của đường trung bình di chuyển đơn giản (SMA). Chiến lược sử dụng giao thoa vàng của đường 3 và đường 5 làm tín hiệu đầu vào, để dừng hoặc dừng là tín hiệu thoát.

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

Chiến lược này chủ yếu dựa trên hai SMA, là đường 3 và đường 5. Trong đó, đường 3 đại diện cho xu hướng ngắn hạn, đường 5 đại diện cho xu hướng trung hạn dài hơn. Khi đường 3 đi qua đường 5 tăng nhanh trong ngắn hạn, đại diện cho xu hướng tăng hiện tại, vào thời điểm này mua nhiều; Ngược lại, khi đường 3 đi qua đường 5 giảm nhanh trong ngắn hạn, đại diện cho xu hướng giảm hiện tại, vào thời điểm này mua không.

Phân tích lợi thế

Chiến lược này có những ưu điểm sau:

  1. Lập luận chiến lược đơn giản, rõ ràng, dễ hiểu và dễ thực hiện.
  2. Chiến lược giao chéo đường trung bình có khả năng đánh giá chính xác các xu hướng lớn của thị trường và có khả năng tham gia cao.
  3. Chọn đường trung bình của hai chu kỳ khác nhau để hiểu rõ hơn về sự thay đổi của thị trường.
  4. Một hệ thống ngăn chặn và kiểm soát thiệt hại hiệu quả đã được triển khai.

Phân tích rủi ro

Chiến lược này cũng có một số rủi ro:

  1. Do sử dụng chu kỳ trung bình ngắn hơn, dễ bị ảnh hưởng bởi biến động ngắn hạn của thị trường, có thể làm tăng khả năng dừng lỗ.
  2. Chiến lược này là cơ học, không thể điều chỉnh cho các tình huống thị trường đặc biệt.
  3. Không tính đến xu hướng của chu kỳ lớn, chiến lược này có thể chịu tổn thất lớn trong một thị trường giảm dài hạn.

Để giảm rủi ro, bạn có thể cân nhắc tối ưu hóa chọn đường trung bình vào, hoặc thêm phán đoán hỗ trợ đường trung bình chu kỳ dài. Đồng thời, bạn cũng có thể điều chỉnh điểm dừng lỗ để phù hợp hơn với tình hình thị trường thực tế.

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. Thêm nhiều đường trung bình khác nhau trong các chu kỳ khác nhau, tạo ra lọc đa cấp, tăng sự ổn định của chiến lược.
  2. Tham gia các chỉ số kỹ thuật khác, như MACD, chỉ số yếu, v.v., hỗ trợ nhập học.
  3. Tham gia đánh giá xu hướng chu kỳ lớn để tránh tham gia nhiều hơn trong một thị trường giảm dài hạn.
  4. Tối ưu hóa điểm dừng lỗ để thích ứng tốt hơn với biến động thực tế của thị trường.
  5. Kiểm tra chu kỳ phản hồi dài hơn để đánh giá tính ổn định của tham số.

Tóm tắt

Chiến lược này được xây dựng dựa trên nguyên tắc chéo tuyến, sử dụng logic chiến lược nhập cảnh vàng, dừng lỗ, dừng lỗ, dễ thực hiện và hiệu suất đo lường cũng khá ổn định. Bằng cách thêm các chỉ số kỹ thuật phụ trợ, tham số tối ưu hóa và mở rộng phạm vi đo lường, các biện pháp có thể nâng cao hơn nữa sự ổn định và lợi nhuận của chiến lược. Nhìn chung, chiến lược tuyến đều có khả năng thích ứng tốt với thị trường và đáng để nghiên cứu và ứng dụng thêm.

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

//@version=3
strategy(title="Revolut v1.0", overlay=true)

// === GENERAL INPUTS ===
ATR = atr(3)
ema3 = ema(close, 3)
ema5 = ema(close, 5)

// === INPUT BACKTEST RANGE ===
FromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
FromDay   = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
FromYear  = input(defval = 2018, title = "From Year", minval = 2017)
ToMonth   = input(defval = 1, title = "To Month", minval = 1, maxval = 12)
ToDay     = input(defval = 1, title = "To Day", minval = 1, maxval = 31)
ToYear    = input(defval = 9999, title = "To Year", minval = 2017)

// === FUNCTION EXAMPLE ===
start     = timestamp(FromYear, FromMonth, FromDay, 00, 00)  // backtest start window
finish    = timestamp(ToYear, ToMonth, ToDay, 23, 59)        // backtest finish window
window()  => true// create function "within window of time"


// === PLOTTING ===
plot(ema3, title="Ema 3", color = white, linewidth = 2, transp=0)
plot(ema5, title="Ema 5", color = aqua, linewidth = 2, transp=0)



// === ENTRY POSITION LOGIC ===
entryCondition = crossover(ema(close, 3), ema(close, 5))
if (entryCondition)
    strategy.entry("ENTRY", strategy.long, when=window())
    

// === EXIT POSTION LOGIC ===
//strategy.exit("Take Profit", "ENTRY", profit=6, loss=5, when=window())
strategy.exit("Take Profi Or STOP", "ENTRY", profit = 6, loss = 5, when=window())
  

// #####################################
// We can start to incorperate this into the script later
// We can program a emergency exit price
//strategy.close_all()

// You can use this if you want another exit
//strategy.exit("2nd Exit", "ENTRY", profit=1500, stop=500, when=window())