Chiến lược nắm bắt trung bình trượt


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

Chiến lược nắm bắt trung bình trượt

Tổng quan

Chiến lược này sử dụng công nghệ đường trung bình trượt làm tín hiệu giao dịch chính, kết hợp với các chỉ số hình nón Haykan để phát hiện xu hướng thị trường đảo ngược, nắm bắt động thái giá trong ngắn hạn. Chiến lược này tối ưu hóa chiến lược đường trung bình Haykan của Gustavo Branaut, để thực hiện tín hiệu đầu ra không bị tụt hậu bằng cách loại bỏ chức năng sơn nặng.

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

  1. Tính toán giá đóng cửa Heiken nAMAn, làm đường chính giá.

  2. Tính toán trung bình di chuyển nhanh fma và trung bình di chuyển chậm sma của giá đóng cửa Heiken.

  3. Khi fma trên đeo sma tạo ra tín hiệu mua; khi fma dưới đeo sma tạo ra tín hiệu bán.

  4. Chiến lược này đã loại bỏ các tính năng in lại trong chiến lược ban đầu và có thể tạo ra tín hiệu giao dịch trong thời gian thực, tránh dữ liệu đo lường không chính xác.

Phân tích lợi thế

  1. Kết hợp với chỉ số hình nón Heiken, nó có thể xác định chính xác hơn điểm đảo chiều của xu hướng thị trường.

  2. Sử dụng kết hợp hai trung bình, có thể lọc hiệu quả các đột phá giả.

  3. Hình thức phát ra tín hiệu không bị chậm trễ, hiệu suất đĩa cứng đáng tin cậy.

  4. Các tham số được tối ưu hóa linh hoạt, có thể được điều chỉnh cho các giống khác nhau.

  5. Lập luận của chiến lược đơn giản, rõ ràng và dễ hiểu.

  6. Có thể được cấu hình thành một chiến lược giao dịch hoàn toàn tự động, giảm rủi ro khi người ta điều hành.

Phân tích rủi ro

  1. Haykanush đã không làm tốt trong thị trường biến động giá cả.

  2. Chiến lược giao dịch hai chiều có thể tạo ra nhiều tín hiệu giả hơn.

  3. Các tham số trung bình được đặt không đúng, sẽ bỏ lỡ xu hướng hoặc tăng sự rút lui.

  4. Các giao dịch trên sàn giao dịch có chi phí, có thể ảnh hưởng đến lợi nhuận ròng.

  5. Cần có một phương pháp dừng lỗ nghiêm ngặt để kiểm soát tổn thất đơn lẻ.

  6. Chiến lược giao dịch tự động có rủi ro rút tiền và cần quản lý tài chính tốt.

Các biện pháp quản lý rủi ro:

  1. Kết hợp với chỉ số biến động, tránh vùng chấn động.

  2. Thêm các điều kiện lọc để đảm bảo chất lượng tín hiệu giao dịch.

  3. Các tham số được kiểm tra để tối ưu hóa, chọn kết hợp đường trung bình phù hợp.

  4. Điều chỉnh tần suất giao dịch để giảm chi phí giao dịch.

  5. Thiết lập mức dừng hợp lý để kiểm soát tổn thất đơn lẻ.

  6. Tối ưu hóa quản lý vốn, kiểm soát chặt chẽ quy mô vị trí.

Hướng tối ưu hóa chiến lược

  1. Tối ưu hóa sự kết hợp các tham số hai đường trung bình để cải thiện chất lượng tín hiệu.

  2. Tăng bộ lọc xu hướng, tránh vùng chấn động.

  3. Kết hợp các chỉ số giao dịch để đảm bảo độ tin cậy của xu hướng.

  4. Thiết lập dừng lỗ động và theo dõi dừng, tối ưu hóa thu lợi nhuận.

  5. Tích hợp mô-đun quản lý tiền để kiểm soát quy mô vị trí.

  6. Thêm mô-đun giao dịch thuật toán, tự động hóa hoàn toàn.

Tóm tắt

Chiến lược này tích hợp các kỹ thuật phân tích xu hướng đường thẳng của Heiken và bộ lọc kết hợp hai đường thẳng, để thực hiện một chiến lược theo dõi xu hướng ngắn hạn đơn giản và thực tế. Các tín hiệu chiến lược tạo ra thời gian thực đáng tin cậy, hoạt động tốt trong môi trường thực.

Mã nguồn chiến lược
/*backtest
start: 2022-10-25 00:00:00
end: 2023-10-31 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
//Heikin/Kaufman by Gustavo v5
// strategy('Heikin Ashi EMA v5 no repaint ', shorttitle='Heikin Ashi EMA v5 no repaint', overlay=true, max_bars_back=500, default_qty_value=1000, initial_capital=100000, currency=currency.EUR)


// Settings - H/K
res1 = input.timeframe(title='Heikin Ashi EMA Time Frame', defval='D')
test = input(0, 'Heikin Ashi EMA Shift')
sloma = input(20, 'Slow EMA Period')
nAMA = hlc3

//Kaufman MA
Length = input.int(5, minval=1)
xPrice = input(hlc3)
xvnoise = math.abs(xPrice - xPrice[1])
Fastend = input.float(2.5, step=.5)
Slowend = input(20)
nfastend = 2 / (Fastend + 1)
nslowend = 2 / (Slowend + 1)
nsignal = math.abs(xPrice - xPrice[Length])
nnoise = math.sum(xvnoise, Length)
nefratio = nnoise != 0 ? nsignal / nnoise : 0
nsmooth = math.pow(nefratio * (nfastend - nslowend) + nslowend, 2)
nAMAn = nz(nAMA[1]) + nsmooth * (xPrice - nz(nAMA[1]))

//Heikin Ashi Open/Close Price
ha_t = ticker.heikinashi(syminfo.tickerid)
ha_close = request.security(ha_t, timeframe.period, nAMAn)
mha_close = request.security(ha_t, res1, hlc3)

//Moving Average
fma = ta.ema(mha_close[test], 1)
sma = ta.ema(ha_close, sloma)
plot(fma, title='MA', color=color.new(color.black, 0), linewidth=2, style=plot.style_line)
plot(sma, title='SMA', color=color.new(color.red, 0), linewidth=2, style=plot.style_line)

//Strategy
golong = ta.crossover(fma, sma)
goshort = ta.crossunder(fma, sma)

strategy.entry('Buy', strategy.long, when=golong)
strategy.entry('Sell', strategy.short,when=goshort)