Esta estratégia é chamada
Esta estratégia utiliza tanto o indicador de vórtice duplo como o índice de força real (TSI). O indicador de vórtice duplo consiste em linhas VI+ e VI-, refletindo a magnitude do ímpeto ascendente e descendente, respectivamente.
Quando o VI+ sobe e o VI- desce, indicando o fortalecimento da tendência de alta e o enfraquecimento do ímpeto da tendência de baixa, o indicador de vórtice duplo gera um sinal longo. Se, ao mesmo tempo, a linha azul da TSI cruzar acima da linha vermelha, a TSI também emite um sinal longo. A estratégia abrirá uma posição longa quando ambos os indicadores emitirem sinais longos simultaneamente.
Por outro lado, quando o VI+ cai e o VI- sobe, sinalizando o enfraquecimento do momentum ascendente e o fortalecimento do momentum descendente, o vórtice duplo emite um sinal curto.
Ao combinar sinais de ambos os indicadores desta forma, a estratégia é capaz de identificar e rastrear tendências nascentes de médio a longo prazo.
As principais vantagens desta estratégia incluem:
Existem também alguns riscos:
Algumas maneiras de otimizar a estratégia incluem:
Em resumo, esta estratégia é uma excelente abordagem de seguimento de tendências de médio a longo prazo. Ao alavancar as técnicas do indicador de vórtice duplo e TSI, ele pode reconhecer as tendências emergentes de médio a longo prazo de forma confiável. Com o ajuste adequado dos parâmetros, os riscos por negociação podem ser gerenciados. Outras otimizações incorporando mais indicadores e técnicas de controle de risco levarão a um melhor desempenho. Ele é adequado para investidores interessados em negociação de tendências de médio a longo prazo.
/*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")