
Chiến lược này là một phiên bản cải tiến của chiến lược chỉ số quay, trên cơ sở của chỉ số quay ban đầu, đã thêm nhiều tính năng mới, bao gồm kích hoạt tín hiệu mua và bán dựa trên giá trị giảm, sử dụng dây quay thả bằng phẳng EMA, thêm trạm dừng lỗ, thực hiện giao dịch chỉ nhiều, chỉ bán hoặc giao dịch hai chiều. Chiến lược này phù hợp cho các nhà đầu tư muốn sử dụng chỉ số quay quay cải tiến để giao dịch định lượng.
Các chỉ số trung tâm của chiến lược này là các chỉ số xoay phiên bản được cải tiến. Các chỉ số xoay truyền thống tạo thành đường xoay dương- âm bằng cách tính tổng giá trị tuyệt đối của biến động giá. Khi đường xoay dương đi qua đường xoay âm, nó là tín hiệu mua; khi đường xoay âm đi qua đường xoay chính, nó là tín hiệu bán.
Chiến lược này được nâng cấp so với các chỉ số truyền thống:
Không còn chỉ đánh giá mua bán dựa trên giao thoa của các đường bánh, mà còn giới thiệu khái niệm giá trị giảm. Chỉ khi chênh lệch giữa các đường bánh dương- âm vượt quá giá trị giảm được đặt, sẽ kích hoạt mua bán. Điều này có thể lọc ra một số tín hiệu giao thoa nhỏ không hiệu quả.
Các đường bánh xe được xử lý bằng cách làm mịn EMA để giảm sự dao động của đường cong.
Thêm cài đặt Stop Loss Stop, có thể đặt trước tỷ lệ lợi nhuận, kiểm soát rủi ro tốt hơn.
Có thể chọn giao dịch chỉ nhiều, chỉ lỗ hoặc giao dịch hai chiều, đáp ứng các nhu cầu khác nhau.
Dựa trên những cải tiến trên, chiến lược này có thể nắm bắt được xu hướng một cách đáng tin cậy hơn và hoạt động tốt trong phản hồi.
Các chỉ số bánh răng được cải tiến để loại bỏ các tín hiệu không hiệu quả, có thể ngăn chặn hiệu quả phá vỡ giả. Việc xử lý trơn tru EMA cũng giúp loại bỏ tiếng ồn.
Sử dụng các dấu hiệu mua và bán để đánh giá các dấu hiệu giảm giá, thay vì các dấu hiệu giao thoa đơn giản, có thể đánh giá một cách đáng tin cậy hơn các điểm thay đổi xu hướng.
Thêm chức năng dừng lỗ, có thể đặt trước tỷ lệ thua lỗ để kiểm soát rủi ro giao dịch đơn lẻ, theo nguyên tắc giao dịch hợp lý.
Có thể chọn chỉ giao dịch nhiều, chỉ giao dịch ngắn hoặc hai chiều, có thể linh hoạt thích ứng với các giai đoạn thị trường khác nhau và đáp ứng nhu cầu của các nhà giao dịch khác nhau.
Các tham số của chiến lược được thiết kế hợp lý, phản hồi tốt và có giá trị thực tế.
Chiến lược này chủ yếu được áp dụng cho các hoạt động theo xu hướng, có thể ảnh hưởng đến hoạt động của thị trường trong thời gian kết thúc.
Các vòng xoay tự nó rất nhạy cảm với biến động của cổ phiếu, và các tham số được đặt không đúng cách có thể dẫn đến giao dịch quá thường xuyên.
Thiết lập ngưỡng quá cao sẽ làm mất điểm mua và bán, quá thấp sẽ làm tăng tín hiệu giả, cần kiểm tra cẩn thận để tìm các tham số tối ưu.
Trong trường hợp thị trường có bất thường, lệnh dừng có thể bị phá vỡ và cần phải cảnh giác với rủi ro này.
Có thể xem xét kết hợp với các chỉ số khác để đưa ra nhiều yếu tố hơn trong việc xác định tín hiệu.
Có thể thử nghiệm độ nhạy của các cổ phiếu khác nhau đối với các tham số, tối ưu hóa các thiết lập tham số.
Có thể nghiên cứu các kỹ thuật tự điều chỉnh dừng lỗ, điều chỉnh điểm dừng lỗ theo giá trong xu hướng lớn.
Có thể giới thiệu các kỹ thuật như học máy, mô hình đào tạo tự động tối ưu hóa tham số.
Có thể khám phá các phương pháp chỉ số dựa trên chiến lược này để mở rộng khả năng của chiến lược.
Chiến lược này đã được cải tiến dựa trên các chỉ số xoay vòng truyền thống, tạo thành một chương trình giao dịch định lượng đáng tin cậy hơn. Nó kết hợp các ưu điểm của phán đoán xu hướng và kiểm soát rủi ro, tránh rủi ro quá phù hợp của giao dịch lẻ tẻ và có thể sử dụng khả năng nắm bắt xu hướng của chính chỉ số.
/*backtest
start: 2023-10-14 00:00:00
end: 2023-11-13 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// [Guz] Custom Vortex
// Custom version of the Vortex indicators that adds many features:
// -Triggers trades after a threshold is reached instead of the normal vortex lines cross (once the difference between the 2 lines is important enough)
// -Smooths the Vortex lines with an EMA
// -Adds Take Profit and Stop Loss selection
// -Adds the possibility to go Long only, Short only or both of them
// ! notice that it uses 10% position size and 0.04% trade fee, found on some crypto exchanges futures contracts
// Allows testing leverage with position size moddification (values above 100%, to be done with caution)
// Not an investment advice
//@version=4
strategy(title="%-[Guz] Vortex Indicator Custom", shorttitle="%-[Guz] Vortex Indicator Custom", overlay=true)
period_ = input(300, title="Length", minval=2)
VMP = sum( abs( high - low[1]), period_ )
VMM = sum( abs( low - high[1]), period_ )
STR = sum( atr(1), period_ )
ema_len = input(title="EMA Length", defval=7)
tresh= input(title="Threshold", defval=16.2, step=0.1)
VIP = ema(VMP / STR,ema_len)
VIM = ema(VMM / STR,ema_len)
//plot(VIP, title="VI +", color=#2962FF)
//plot(VIM, title="VI -", color=#E91E63)
condition_long = crossover(VIP-VIM, tresh/100)
condition_close = cross(VIP-VIM,0)
condition_short = crossunder(VIP-VIM, -tresh/100)
is_short=input(true,title="Do Short?")
is_long=input(true,title="Do Long?")
if (condition_long and is_long)
strategy.entry("VortexLE", strategy.long, comment="Long Algo")
if (condition_short and is_short)
strategy.entry("VortexSE", strategy.short, comment="Short Algo")
if (condition_close)
strategy.close_all()
//plot(strategy.equity, title="equity", color=color.red, linewidth=2, style=plot.style_areabr)
stop_loss_long_percent = input(2.5, title="Stop Loss Long", minval=0.1, step=0.1)
stop_loss_long = (1-stop_loss_long_percent/100)*strategy.position_avg_price
take_profit_long_percent = input(1.5, title="Take Profit Long", minval=0.1, step=0.1)
take_profit_long = (1+take_profit_long_percent/100)*strategy.position_avg_price
stop_loss_short_percent = input(2.5,title="Stop Loss Short", minval=0.1, step=0.1)
stop_loss_short = (1+stop_loss_short_percent/100)*strategy.position_avg_price
take_profit_short_percent = input(1.7,title="Take Profit Short", minval=0.1, step=0.1)
take_profit_short = (1-take_profit_short_percent/100)*strategy.position_avg_price
strategy.exit("TP-SL Long", "VortexLE", limit = take_profit_long , stop = stop_loss_long) //, trail_price = trail_price_long , trail_offset = trail_offset_long) //, trail_offset=tsl_offset_tick, trail_price=tsl_offset_tick)
strategy.exit("TP-SL Short", "VortexSE", limit = take_profit_short , stop = stop_loss_short)