Chiến lược này được gọi là
Chiến lược này sử dụng cả chỉ số xoáy kép và chỉ số sức mạnh thực (TSI). Chỉ số xoáy kép bao gồm các đường VI + và VI-, phản ánh cường độ động lực tăng và giảm tương ứng. TSI có các đường màu đỏ và xanh để đo sức mạnh và hướng thay đổi giá.
Khi VI + tăng và VI - giảm, cho thấy động lực xu hướng tăng và suy yếu xu hướng giảm, chỉ số xoáy kép tạo ra tín hiệu dài. Nếu cùng một lúc, đường màu xanh TSI vượt qua đường màu đỏ, TSI cũng phát ra tín hiệu dài. Chiến lược sẽ mở một vị trí dài khi cả hai chỉ số phát ra tín hiệu dài đồng thời.
Ngược lại, khi VI + giảm và VI - tăng, báo hiệu suy yếu động lượng tăng và tăng động lượng giảm, xoáy kép phát ra tín hiệu ngắn. Nếu đường xanh TSI vượt qua dưới đường đỏ, TSI cũng tạo ra tín hiệu ngắn. Chiến lược sau đó mở một vị trí ngắn khi nhận được tín hiệu ngắn sắp xếp.
Bằng cách kết hợp các tín hiệu từ cả hai chỉ số theo cách này, chiến lược có thể xác định và theo dõi các xu hướng trung bình đến dài hạn đang phát triển.
Những lợi thế chính của chiến lược này bao gồm:
Một số rủi ro cũng tồn tại:
Một số cách để tối ưu hóa chiến lược bao gồm:
Tóm lại, chiến lược này là một cách tiếp cận theo xu hướng trung hạn và dài hạn tuyệt vời. Bằng cách tận dụng các kỹ thuật của chỉ số xoáy kép và TSI, nó có thể nhận ra các xu hướng trung hạn và dài hạn mới nổi một cách đáng tin cậy. Với điều chỉnh tham số thích hợp, rủi ro cho mỗi giao dịch có thể được quản lý. Tăng cường thêm bằng cách kết hợp nhiều chỉ số và kỹ thuật kiểm soát rủi ro sẽ dẫn đến hiệu suất cải thiện. Nó phù hợp với các nhà đầu tư quan tâm đến giao dịch xu hướng trung hạn và dài hạn.
/*backtest start: 2023-11-11 00:00:00 end: 2023-12-11 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © hydrelev //@version=4 strategy("Vortex TSI strategy", overlay=false) ///////////////////INDICATOR TSI long = input(title="Long Length", type=input.integer, defval=25) short = input(title="Short Length", type=input.integer, defval=13) signal = input(title="Signal Length", type=input.integer, defval=13) price = close double_smooth(src, long, short) => fist_smooth = ema(src, long) ema(fist_smooth, short) pc = change(price) double_smoothed_pc = double_smooth(pc, long, short) double_smoothed_abs_pc = double_smooth(abs(pc), long, short) tsi_blue = 100 * (double_smoothed_pc / double_smoothed_abs_pc) tsi_red = ema(tsi_blue, signal) // plot(tsi_blue, color=#3BB3E4) // plot(tsi_red, color=#FF006E) // hline(0, title="Zero") /////////////////INDICATOR VI period_ = input(14, title="Period", minval=2) VMP = sum( abs( high - low[1]), period_ ) VMM = sum( abs( low - high[1]), period_ ) STR = sum( atr(1), period_ ) VIP_blue = VMP / STR VIM_red = VMM / STR // plot(VIP_blue, title="VI +", color=#3BB3E4) // plot(VIM_red, title="VI -", color=#FF006E) ////////////////////STRATEGY bar=input(1, title="Close after x bar", minval=1, maxval=50) tsi_long = crossover(tsi_blue, tsi_red) tsi_short = crossunder(tsi_blue, tsi_red) vi_long = crossover(VIP_blue, VIM_red) vi_short = crossunder(VIP_blue, VIM_red) LongConditionOpen = tsi_long and vi_long ? true : false LongConditionClose = tsi_long[bar] and vi_long[bar] ? true : false ShortConditionOpen = tsi_short and vi_short ? true : false ShortConditionClose = tsi_short[bar] and vi_short[bar] ? true : false if (LongConditionOpen) strategy.entry("Long Entry", strategy.long) if (LongConditionClose) strategy.close("Long Entry") if (ShortConditionOpen) strategy.entry("Short Entry", strategy.short) if (ShortConditionClose) strategy.close("Short Entry")