
Chiến lược này dựa trên các chỉ số tích hợp tùy chỉnh, theo dõi xu hướng bằng cách tính tích lũy khoảng cách giữa giá và đường trung bình di chuyển để xác định xu hướng của giá.
Chiến lược này sử dụng các chỉ số tùy chỉnh để tích lũy khoảng cách giữa giá và đường trung bình di chuyển, cụ thể là:
Tính giá tương đối với chiều dài của đường trung bình di chuyển đơn giản 200 k=close-sma ((close,200)
Định nghĩa chu kỳ tích lũy s = 29, tích lũy giá trị của k trong chu kỳ s gần nhất: sum = 0, for i = 0 to s, sum : = sum + k[i]
Khi sum>0 phát ra tín hiệu làm nhiều, khi sum phát ra tín hiệu làm trống
Khi tham gia giao dịch đa vị trí, nếu sum<0 thì sẽ bị lỗ; khi tham gia giao dịch ngắn hạn, nếu sum>0 thì sẽ bị lỗ
Chiến lược này theo dõi tổng tích tích tích cực của giá với khoảng cách trung bình di chuyển để xác định hướng xu hướng tổng thể của giá, khi tích cực và tích cực, coi giá đang trong xu hướng tăng, nên giữ nhiều đầu; khi tích cực và âm tính, coi giá đang trong xu hướng giảm, nên giữ đầu không.
Sử dụng bộ tích hợp chỉ số tùy chỉnh để xác định hiệu quả xu hướng giá
Sử dụng tư duy tích hợp để tích lũy khoảng cách giữa giá và đường trung bình di chuyển, có thể cải thiện độ chính xác trong việc đánh giá xu hướng
Logic tương đối đơn giản, dễ hiểu thực hiện, thuận tiện để tối ưu hóa cải tiến
Có thể điều chỉnh linh hoạt các tham số chu kỳ tích hợp để tối ưu hóa tính nhạy cảm của tích hợp để xác định xu hướng
Khảo sát hoạt động tốt, thu nhập ổn định, có thể áp dụng
Thiết lập vòng tích phân không đúng cách có thể khiến tích phân không phản ứng nhạy cảm, bỏ lỡ điểm biến xu hướng
Thiết lập chiều dài trung bình di chuyển không đúng cách có thể dẫn đến việc tích hợp sai xu hướng giá
Sự kiện lớn đột ngột dẫn đến biến động giá đột ngột, có thể khiến bộ tích phân phát ra tín hiệu sai
Lựa chọn giống giao dịch không phù hợp, chẳng hạn như chọn giống có tỷ lệ biến động quá cao, sẽ làm cho tích lũy không hiệu quả
Giải pháp đối phó với rủi ro:
Tối ưu hóa tham số chu kỳ tích phân để tích phân nhạy hơn với thay đổi xu hướng
Kiểm tra hiệu quả của các đường trung bình di chuyển với các độ dài khác nhau, chọn độ dài có thể xác định hiệu quả xu hướng
Tắt chiến lược trước các sự kiện quan trọng để tránh các tín hiệu sai lầm do biến động giá lớn
Lựa chọn các loại giao dịch có biến động thấp để tích lũy hiệu quả hơn
Có thể xem xét thêm các chỉ số hỗ trợ khác, chẳng hạn như RSI, để tạo ra phán đoán tổng hợp dựa trên tích hợp
Có thể nghiên cứu hiệu ứng tích hợp của các loại trung bình di chuyển khác nhau với khoảng cách giá
Có thể thử tự động tối ưu hóa tham số chu kỳ tích hợp để nó phù hợp với các loại giao dịch khác nhau
Có thể thêm các chỉ số khối lượng giao dịch để tránh các tích hợp có thể tạo ra tín hiệu sai khi giá dao động mạnh
Các tham số tích hợp có thể được tự động tối ưu hóa thông qua các phương pháp như học máy để làm cho chiến lược trở nên mạnh mẽ hơn
Chiến lược này có thể được cải thiện bằng cách điều chỉnh tham số tích phân, thêm các chỉ số phụ trợ hoặc tối ưu hóa tự động, để làm cho chiến lược ổn định và đáng tin cậy hơn trong thực tế. Nhìn chung, chiến lược này có thể là một chiến lược theo dõi xu hướng định lượng được áp dụng thực tế.
/*backtest
start: 2023-10-09 00:00:00
end: 2023-10-16 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
strategy("Indicator Integrator Strat",default_qty_type = strategy.percent_of_equity, default_qty_value = 100,currency="USD",initial_capital=100, overlay=true)
l = input(defval=170,title="Length for indicator")
s = input(title="Length of summation",defval=29)
a= sma(close,l)
r=roc(close,l)
k=close-a
sum = 0
for i = 0 to s
sum := sum + k[i]
plot(a,color=yellow,linewidth=2,transp=0)
//bc = iff( sum > 0, white, teal)
//plot(sum,color=bc, transp=20, linewidth=3,style=columns)
//plot(sma(sum,3),color=white)
//hline(0)
inpTakeProfit = input(defval = 0, title = "Take Profit", minval = 0)
inpStopLoss = input(defval = 0, title = "Stop Loss", minval = 0)
inpTrailStop = input(defval = 0, title = "Trailing Stop Loss", minval = 0)
inpTrailOffset = input(defval = 0, title = "Trailing Stop Loss Offset", minval = 0)
useTakeProfit = inpTakeProfit >= 1 ? inpTakeProfit : na
useStopLoss = inpStopLoss >= 1 ? inpStopLoss : na
useTrailStop = inpTrailStop >= 1 ? inpTrailStop : na
useTrailOffset = inpTrailOffset >= 1 ? inpTrailOffset : na
longCondition = sum>0
exitlong = sum<0
shortCondition = sum<0
exitshort = sum>0
strategy.entry(id = "Long", long=true, when = longCondition)
strategy.close(id = "Long", when = exitlong)
strategy.exit("Exit Long", from_entry = "Long", profit = useTakeProfit, loss = useStopLoss, trail_points = useTrailStop, trail_offset = useTrailOffset, when=exitlong)
strategy.entry(id = "Short", long=false, when = shortCondition)
strategy.close(id = "Short", when = exitshort)
strategy.exit("Exit Short", from_entry = "Short", profit = useTakeProfit, loss = useStopLoss, trail_points = useTrailStop, trail_offset = useTrailOffset, when=exitshort)