Chiến lược dừng lỗ theo đường trung bình động thích ứng

SMA MA EMA ATR SL TP
Ngày tạo: 2024-07-29 14:27:58 sửa đổi lần cuối: 2024-07-29 14:27:58
sao chép: 0 Số nhấp chuột: 544
1
tập trung vào
1617
Người theo dõi

Chiến lược dừng lỗ theo đường trung bình động thích ứng

Tổng quan

Chiến lược Tracking Tracking Tracking Tracking Tracking Tracking Tracking Tracking Tracking Tracking Tracking Tracking Tracking Tracking Tracking Tracking Tracking Tracking Tracking Tracking Tracking Tracking Tracking Tracking Tracking Tracking Tracking Tracking Tracking Tracking Tracking Tracking Tracking Tracking Tracking Tracking Tracking Tracking Tracking Tracking Tracking Tracking Tracking Tracking Tracking Tracking Tracking Tracking Tracking Tracking Tracking Tracking Tracking Tracking Tracking Tracking Tracking Tracking Tracking Tracking Tracking Tracking Tracking Tracking Tracking Tracking Tracking Tracking Tracking Tracking Tracking Tracking Tracking Tracking Tracking Tracking Tracking Tracking Tracking Tracking Tracking Tracking Tracking Tracking Tracking Tracking Tracking Tracking Tracking Tracking Tracking Tracking Tracking Tracking Tracking Tracking Tracking Tracking Tracking Tracking Tracking Tracking Tracking Tracking Tracking Tracking Tracking Tracking Tracking Tracking Tracking Tracking Tracking Tracking Tracking Tracking Tracking Tracking Tracking Tracking Tracking Tracking Tracking Tracking Tracking Tracking Tra

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

Lập luận cốt lõi của chiến lược bao gồm các thành phần quan trọng sau:

  1. Moving Average Crossover: Sử dụng trung bình di chuyển đơn giản của hai chu kỳ khác nhau ((SMA), tương ứng là SMA nhanh ((chu kỳ 5 mặc định) và SMA chậm ((chu kỳ 50 mặc định)). Khi SMA nhanh đi lên vượt qua SMA chậm, kích hoạt nhiều tín hiệu.

  2. Kích thước vị trí: Chiến lược sử dụng phương pháp kích thước vị trí động dựa trên số dư tài khoản và giá hiện tại. Đồng thời giới thiệu một yếu tố “tin tưởng” có thể điều chỉnh tỷ lệ đầu tư.

  3. Theo dõi dừng: Thực hiện cơ chế theo dõi dừng dựa trên tỷ lệ phần trăm. Mức dừng sẽ tăng lên khi giá tăng để khóa lợi nhuận và hạn chế rút tiền.

  4. Tính năng tự điều chỉnh: Nếu tùy chọn “fancy_tests” được bật, chiến lược sẽ sử dụng tỷ lệ dừng động dựa trên chênh lệch tiêu chuẩn, cho phép mức dừng tự điều chỉnh theo biến động của thị trường.

  5. Logic Exit: Chiến lược chủ yếu dựa vào việc theo dõi các điểm dừng để thanh toán, không có thiết lập các điểm thu lợi nhuận cố định.

Lợi thế chiến lược

  1. Theo xu hướng: Bằng cách sử dụng moving average crossover, chiến lược có thể nắm bắt xu hướng trung và dài hạn, có lợi cho việc thu lợi nhuận đáng kể trong xu hướng mạnh.

  2. Quản lý rủi ro: Sử dụng các cơ chế theo dõi dừng lỗ, có thể kiểm soát hiệu quả rủi ro giảm giá, nhưng lợi nhuận có thể phát triển tự do.

  3. Tính thích ứng: Bằng cách kết hợp các yếu tố biến động để điều chỉnh mức dừng lỗ, chiến lược có thể thích ứng tốt hơn với các môi trường thị trường khác nhau.

  4. Quản lý tài chính: Động thái kích thước vị trí giúp tăng quy mô giao dịch khi tài khoản tăng trưởng, đồng thời tự động giảm lỗ hổng rủi ro khi tài khoản thu hẹp.

  5. Tính linh hoạt: Các chiến lược cung cấp nhiều tham số có thể điều chỉnh, chẳng hạn như trung bình di chuyển, tỷ lệ dừng lỗ, người dùng có thể tối ưu hóa tùy theo thị trường và sở thích rủi ro cá nhân khác nhau.

Rủi ro chiến lược

  1. Phá vỡ giả: Trong thị trường ngang hoặc biến động, có thể xảy ra phá vỡ giả của đường trung bình di chuyển, dẫn đến nhiều lần dừng lỗ.

  2. Sự chậm trễ: Trung bình di chuyển là một chỉ số chậm trễ, có thể không phản ứng nhanh chóng trong thị trường biến động mạnh.

  3. Giao dịch quá mức: Nếu các tham số được thiết lập không đúng cách, có thể dẫn đến việc đi ra chơi thường xuyên, tăng chi phí giao dịch.

  4. Rủi ro rút lui: Mặc dù có sự dừng chân theo dõi, nhưng trong một thị trường biến động nhanh chóng, có thể vẫn phải đối mặt với sự rút lui lớn hơn.

  5. Giao dịch một chiều: Chiến lược hiện nay chỉ làm nhiều và không thả, có thể bỏ lỡ cơ hội hoặc chịu tổn thất trong xu hướng giảm.

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

  1. Phân tích nhiều khung thời gian: giới thiệu các chỉ số phán đoán xu hướng dài hơn, chẳng hạn như trung bình di chuyển có chu kỳ dài hơn, để giảm tín hiệu sai.

  2. Tham gia logic shorting: mở rộng chiến lược để hỗ trợ giao dịch shorting, nâng cao tính toàn diện của chiến lược và cơ hội kiếm lợi nhuận.

  3. Tối ưu hóa thời gian nhập: Xem xét kết hợp với các chỉ số kỹ thuật khác (như RSI, MACD, v.v.) để lọc tín hiệu giao dịch, cải thiện độ chính xác nhập.

  4. Tối ưu hóa tham số động: Thực hiện cơ chế điều chỉnh tham số thích ứng, chẳng hạn như điều chỉnh chu kỳ trung bình di chuyển dựa trên sự biến động của thị trường.

  5. Tăng cơ chế kết thúc lợi nhuận: Ngoài việc theo dõi dừng lỗ, bạn có thể xem xét thêm quy tắc kết thúc lợi nhuận dựa trên chỉ số kỹ thuật hoặc mục tiêu cố định.

  6. Cải thiện quản lý vị trí: Thực hiện các chiến lược kích thước vị trí phức tạp hơn, chẳng hạn như dựa trên nguyên tắc Kelly hoặc các phương pháp cân bằng rủi ro khác.

  7. Thêm bộ lọc cơ bản: Đối với giao dịch chứng khoán, bạn có thể xem xét việc giới thiệu các chỉ số cơ bản như một điều kiện lọc giao dịch bổ sung.

Tóm tắt

Chiến lược dừng chân theo dõi chéo trung bình di chuyển thích ứng là một chiến lược tổng hợp kết hợp nhiều khái niệm giao dịch định lượng. Nó nắm bắt xu hướng bằng cách chéo trung bình di chuyển, sử dụng các rủi ro quản lý dừng chân theo dõi và cải thiện khả năng thích ứng bằng cách điều chỉnh các tham số động. Mặc dù có một số rủi ro và hạn chế vốn có, nhưng thông qua tối ưu hóa tham số cẩn thận và cải tiến chiến lược hơn nữa, nó có tiềm năng trở thành một hệ thống giao dịch vững chắc.

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

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © chinmay.hundekari

//@version=5
//@version=5
strategy("test", overlay = true)

// Calculate two moving averages with different lengths.
SLMA = input.int(50,"SMA",minval=10,step=1)
FSMA = input.int(5,"SMA",minval=1,step=1)
fancy_tests = input.bool(true,"Enable Fancy Changes")
longLossPerc = input.float(2, title="Trailing Stop Loss (%)",
     minval=0.0, step=0.1) * 0.01
stdMult = input.float(2.0, title="Standard Deviation Multiplier",
     minval=0.0, step=0.01)

float fastMA = ta.sma(close, FSMA)
float slowMA = ta.sma(close, SLMA)
float closMA = ta.sma(close, 25)

confidence = 1.0
if (fancy_tests)
    longLossPerc := stdMult * ta.stdev(ohlc4, 20)/close
balance = strategy.initial_capital + strategy.netprofit
balanceInContracts = balance* confidence/close

// Enter a long position when `fastMA` crosses over `slowMA`.
if ta.crossover(fastMA, slowMA)
    strategy.entry("BUY", strategy.long, qty=balanceInContracts)
//longStopPrice  = strategy.position_avg_price * (1 - longLossPerc)
//Trailing Stop loss Code
longStopPrice = 0.0
percLoss = longLossPerc
longStopPrice := if strategy.position_size > 0
    //if (strategy.openprofit_percent/100.0 > longLossPerc)
    //    percLoss := math.min(strategy.openprofit_percent/200.0, longLossPerc)
    stopValue = close * (1 - percLoss)
    math.max(stopValue, longStopPrice[1])
else
    0
if strategy.position_size > 0
    strategy.exit("STP", stop=longStopPrice)
plot(strategy.position_size > 0 ? longStopPrice : na,
     color=color.red, style=plot.style_cross,
     linewidth=2, title="Long Stop Loss")
// Enter a short position when `fastMA` crosses under `slowMA`.
//if ta.crossunder(fastMA, closMA)
//    strategy.close_all("SEL")//strategy.entry("sell", strategy.short)

// Plot the moving averages.
plot(fastMA, "Fast MA", color.aqua)
plot(slowMA, "Slow MA", color.orange)
plot((confidence)*(close), "Confidence", color=color.green, linewidth=2)