Chiến lược giao cắt đường trung bình động đôi cổ điển


Ngày tạo: 2023-10-27 16:47:30 sửa đổi lần cuối: 2023-10-27 16:47:30
sao chép: 0 Số nhấp chuột: 683
1
tập trung vào
1617
Người theo dõi

Chiến lược giao cắt đường trung bình động đôi cổ điển

Tổng quan

Chiến lược chéo hai đường là một chiến lược phân tích kỹ thuật rất cổ điển và phổ biến. Chiến lược này sử dụng chéo giữa trung bình di chuyển nhanh và trung bình di chuyển chậm làm tín hiệu mua và bán.

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

Các phần chính của chiến lược này bao gồm:

  1. Xác định độ dài và loại đường trung bình nhanh chậm: đường trung bình nhanh dài 5 chu kỳ, đường trung bình chậm dài 21 chu kỳ, đều sử dụng trung bình di chuyển đơn giản.

  2. Tính toán đường nhanh và đường chậm: tính toán trung bình di chuyển đơn giản 5 chu kỳ và 21 chu kỳ bằng hàm sma.

  3. Hình vẽ: Hình vẽ đường nhanh và đường chậm.

  4. Xác định các điều kiện mua và bán: mua khi đi qua đường dây nhanh và bán khi đi qua đường dây chậm.

  5. Thực hiện giao dịch: Các hàm long và short của chiến lược sẽ tự động thực hiện mua và bán khi các điều kiện được đáp ứng.

Điểm mấu chốt của chiến lược này là sử dụng kết hợp các đường trung bình với các chu kỳ khác nhau để tạo thành đường trung bình nhanh và chậm và sử dụng giao dịch của nó như một tín hiệu. Đường nhanh có thể nắm bắt được sự thay đổi giá nhanh hơn và đường chậm có thể phản ánh xu hướng dài hơn.

Phân tích lợi thế

Chiến lược chéo hai đường đều có những lợi thế sau:

  1. Nguyên tắc đơn giản, dễ nắm bắt và phù hợp với người mới bắt đầu.

  2. Hoạt động theo xu hướng, theo xu hướng giá, rút lui nhỏ.

  3. Tỷ lệ giao dịch vừa phải, không quá thường xuyên.

  4. Các tham số có thể tùy chỉnh, linh hoạt để đáp ứng sự thay đổi của thị trường.

  5. Dễ dàng tìm ra một sự kết hợp các tham số phù hợp với mình thông qua tối ưu hóa.

  6. Có thể thiết lập điểm dừng để kiểm soát rủi ro.

  7. Nó có thể được sử dụng trong nhiều thị trường và có khả năng ứng dụng mạnh mẽ.

  8. Nó có thể được sử dụng với các chỉ số khác để tăng hiệu quả.

Phân tích rủi ro

Tuy nhiên, có một số rủi ro trong chiến lược giao thoa hai chiều:

  1. Khi xu hướng thị trường mạnh, đường trung bình theo xu hướng chậm trễ, có thể xảy ra chậm trễ, bỏ lỡ thời gian nhập cảnh tốt nhất. Bạn có thể rút ngắn chu kỳ đường trung bình một cách thích hợp, tăng độ nhạy.

  2. Trong trường hợp xung đột, có thể có nhiều tín hiệu giả. Các điều kiện lọc có thể được tăng thích hợp để tránh giao dịch sai.

  3. Số lần giao dịch có thể cao hơn, ảnh hưởng đến lợi nhuận.

  4. Không thể xác định được loại xu hướng, có nguy cơ giao dịch ngược. Các chỉ số xu hướng có thể hỗ trợ xác định.

  5. Tối ưu hóa tham số cần một số dữ liệu lịch sử hỗ trợ, giống mới có thể có quá phù hợp.

  6. Chỉ số đơn lẻ dễ bị ảnh hưởng bởi môi trường bên ngoài, hiệu suất có thể không ổn định. Có thể được xác minh kết hợp với các chỉ số khác.

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

Chiến lược giao thoa hai đường đều có thể được tối ưu hóa bằng cách:

  1. Kiểm tra các đường trung bình nhanh và chậm với các độ dài khác nhau để tìm các tham số tốt nhất cho các loại giao dịch cụ thể.

  2. Thêm các điều kiện lọc, chẳng hạn như khối lượng giao dịch, ATR dừng lỗ, v.v., để giảm cơ hội kém ưu đãi.

  3. Kết hợp với các chỉ số động lượng để xác nhận tín hiệu mua và bán, tránh phá vỡ giả.

  4. Tối ưu hóa chiến lược dừng lỗ để tránh một số lỗ hổng bị rút ra quá sớm hoặc quá muộn.

  5. Kết hợp các chỉ số xu hướng và sóng để thực hiện theo dõi xu hướng và giao dịch ngược.

  6. Sử dụng đường trung bình thích ứng, điều chỉnh các tham số đường trung bình theo thị trường, thay vì chu kỳ cố định.

  7. Sử dụng nhiều kết hợp thời gian, tùy thuộc vào đặc điểm thời gian của thị trường.

  8. Tối ưu hóa trong thời gian thực, sử dụng các công nghệ như học máy để tối ưu hóa các tham số liên tục.

Tóm tắt

Chiến lược giao chéo song song với nguyên tắc đơn giản, dễ nắm bắt và thực hiện, trở thành một trong những chiến lược giao dịch cốt lõi và phổ biến nhất trong phân tích kỹ thuật. Chiến lược tuân thủ xu hướng giá, có thể rút lui, rủi ro cũng được chấp nhận. Nhưng nó cũng có rất nhiều không gian tối ưu hóa, có thể mở rộng hơn nữa tính phù hợp và hiệu quả của chiến lược thông qua tối ưu hóa tham số, kết hợp với các chỉ số khác và thuật toán tự động.

Mã nguồn chiến lược
/*backtest
start: 2023-09-26 00:00:00
end: 2023-10-26 00:00:00
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
// strategy("Stochastic Strategy of BiznesFilosof", shorttitle="SS of BiznesFilosof", overlay=false, initial_capital=10000, default_qty_type=strategy.percent_of_equity, default_qty_value=20, commission_type=strategy.commission.percent, commission_value=0.15, pyramiding=0)

//Period
startY = input(title="Start Year", defval = 2011)
startM = input(title="Start Month", defval = 1, minval = 1, maxval = 12)
startD = input(title="Start Day", defval = 1, minval = 1, maxval = 31)
finishY = input(title="Finish Year", defval = 2050)
finishM = input(title="Finish Month", defval = 12, minval = 1, maxval = 12)
finishD = input(title="Finish Day", defval = 31, minval = 1, maxval = 31)
//finish = input(2019, 02, 28, 00, 00)
timestart = timestamp(startY, startM, startD, 00, 00)
timefinish = timestamp(finishY, finishM, finishD, 23, 59)
window = true // Lenghth strategy

length1 = input(21, minval=1), smoothK1 = input(3, minval=1), smoothD1 = input(3, minval=1)
//length2 = input(5, minval=1), smoothK2 = input(1, minval=1), smoothD2 = input(1, minval=1)
inh0 = input(title="Bottom Line", defval = 14, minval=0), inh1 = input(title="Upper Line", defval = 86, minval=0)

k1 = sma(stoch(close, high, low, length1), smoothK1)
d1 = sma(k1, smoothD1)
plot(k1, color=blue)
plot(d1, color=red)
//k2 = sma(stoch(close, high, low, length2), smoothK2)
//d2 = sma(k2, smoothD2)
//plot(k2, color=orange)

h1 = hline(inh1)
h0 = hline(inh0)
fill(h0, h1, color = aqua, transp=90)

//open
strategy.entry("LongEntryID", strategy.long, comment="LONG", when = crossover(k1, d1) and crossover(k1, inh0) and window)
strategy.entry("ShortEntryID", strategy.short, comment="SHORT", when = crossunder(k1, d1) and crossunder(k1, inh1) and window)

if crossunder(k1, d1) and crossunder(k1, inh1) and strategy.position_size > 0
    strategy.close_all()
if crossover(k1, d1) and crossover(k1, inh0) and strategy.position_size < 0
    strategy.close_all()