
Chiến lược này được gọi là “Saucius Aron Vibrator Strategy” và nó được áp dụng cho các cổ phiếu, chỉ số và hàng hóa có biến động giá cao, không có xu hướng rõ ràng. Chiến lược sử dụng chỉ số Aron Vibrator để xác định xu hướng giá, kết hợp nhiều tham số để đặt điều kiện nhập và thoát, để thực hiện giao dịch tự động đối với các loại tài sản mạo hiểm này.
Chiến lược này bắt nguồn từ ý tưởng của Tushar Chande, người sáng lập Alon Line. Theo Chande, khi Alon Oscillator cao hơn hoặc thấp hơn 50, có thể nhận ra xu hướng đa đầu và đầu không. Điều này giúp bù đắp cho sự thiếu hụt của Alon Line đơn giản và Alon Cross trong thị trường không xu hướng.
Cụ thể, chiến lược đầu tiên tính toán chiều dài 19 chu kỳ của dòng Alon lên, dòng Alon xuống và rung Alon. Các rung được tính toán bằng đường lên trừ đường xuống. Sau đó, đặt đường trung bình là -25, đường lên là 75 và đường dưới là -85.
Như vậy, đường trung tâm được sử dụng để xác định hướng xu hướng vào sân, đường lên và đường xuống được sử dụng để đảo ngược xu hướng ra khỏi sân, thực hiện giao dịch tự động dựa trên chỉ số vibrator Aron.
So với các chiến lược theo dõi xu hướng truyền thống, chiến lược này có những ưu điểm sau:
Nhìn chung, chiến lược này kết hợp các lợi thế của chỉ số vibrator Aron, tạo ra giao dịch tự động, tỷ lệ thắng và lợi nhuận tốt cho các giống cụ thể.
Chiến lược này cũng có một số rủi ro:
Những điểm nguy cơ này có thể được cải thiện và giảm thiểu bằng cách điều chỉnh các tham số, tối ưu hóa mã. Ngoài ra, vị trí hợp lý và quản lý tài chính cũng có thể kiểm soát hiệu quả các rủi ro tiềm ẩn.
Để cải thiện hiệu quả chiến lược hơn nữa, chúng ta có thể tối ưu hóa các khía cạnh sau:
Bằng cách thử nghiệm và tối ưu hóa nhiều phương diện, sự ổn định, thành công và lợi nhuận của chiến lược cũng có thể được nâng cao đáng kể.
Chiến lược này dựa trên chỉ số vibrator Alon đã sáng tạo thực hiện giao dịch tự động cho các loại biến động lớn, xu hướng không rõ ràng. So với chiến lược xu hướng truyền thống, hiệu quả của nó tốt hơn trên loại này, điều kiện giao dịch nghiêm ngặt cũng được thực hiện thông qua thiết lập tham số. Ưu điểm của chiến lược là đáng kể, nhưng cũng có một số không gian cải tiến.
/*backtest
start: 2023-12-15 00:00:00
end: 2024-01-10 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
// by Saucius Finance https://saucius-finance.blogspot.com/
// copyrights reserved :)
// This strategy derives form the consideration of the author, Tushar Chande, that, in "more patterns" paragraph,
// long and short trends are identified by oscillator < or > line 50.
// This helps because simple Aroon and Aroon crosses suffer in not trending periods.
// original article avabile in:" Stocks & Commodities, V. 13:9 (369-374) : A Time Price Oscillator by Tushar Chande, Ph.D.""
strategy("Aroon Oscillator strategy by Saucius", overlay=false)
//building aroon lines, Embodying both Aroon line (Up and Down) and Aroon Oscillator
length = input(19, minval=1)
level_middle = input(-25, minval=-90, maxval=90, step = 5)
levelhigh = input(75, minval=-100, maxval=100, step = 5)
levellow = input(-85, minval=-100, maxval=100, step = 5)
upper = 100 * (highestbars(high, length+1) + length)/length
lower = 100 * (lowestbars(low, length+1) + length)/length
oscillator = upper - lower
plot(upper, title="Aroon Up", color=blue)
plot(lower, title="Aroon Down", color=red)
plot(oscillator, title="Aroon Oscillator", color = yellow)
hline(level_middle, title="middle line", color=gray, linewidth=2)
hline(levelhigh, title ="upper border", color=gray, linewidth=1)
hline(levellow, title ="lower border", color=gray, linewidth=1)
// Entry //
entryl = oscillator[1] < level_middle[1] and oscillator > level_middle
entrys = oscillator[1] > level_middle[1] and oscillator < level_middle
strategy.entry("Long", true, when = entryl)
strategy.entry("Short", false, when = crossunder (oscillator, level_middle))
// === EXIT===
exitL1 = oscillator[1] > levelhigh[1] and oscillator < levelhigh
exitS1 = oscillator[1] < levellow[1] and oscillator > levellow
strategy.close("Long", when=entrys)
strategy.close("Short", when=entryl)
strategy.close("Long", when= exitL1)
strategy.close("Short", when= exitS1)