A estratégia combina os dois indicadores VSTOP e RSI, permitindo que você faça mais operações de shorting quando o RSI está superando o overbought, enquanto usa o VSTOP para determinar a direção da tendência e parar o prejuízo quando a tendência se inverte.
Calcule o valor do indicador RSI, definindo as linhas de sobrecompra e de sobrevenda. Quando o RSI for maior do que a linha de sobrecompra, faça mais; Quando o RSI for menor do que a linha de sobrevenda, faça um curto.
Calcule o VSTOP, que é uma linha de parada definida de acordo com a amplitude de flutuação do preço. Os passos específicos para o cálculo são os seguintes:
Calcular o indicador ATR e definir o coeficiente de ATR
Registre o valor máximo e mínimo
Calcule a linha de parada de perda atual = is_uptrend ? max - mult * ATR: min + mult * ATR
Atualização da linha de stop loss: vstop1 = is_uptrend ? max ((vstop_prev, stop): min ((vstop_prev, stop)
Quando a tendência se inverter, reinicie a linha de stop vstop
Quando o RSI está acima de venda, se o preço atravessar o VSTOP, faça um curto; quando o RSI está acima de compra, faça mais.
A combinação de indicadores de tendência e indicadores de sobrecompra e sobrevenda permite capturar oportunidades de reversão em situações de tendência.
Usando o VSTOP para definir o stop loss, pode-se controlar o risco de forma eficaz.
A configuração dos parâmetros do RSI é flexível e pode ser otimizada para diferentes variedades.
O VSTOP é um sistema de rastreamento de perdas sem a necessidade de intervenção humana.
Se os parâmetros do ATR forem muito grandes ou pequenos, a linha de parada perderá o sentido. Pode-se testar diferentes parâmetros do ATR, ou pode-se combinar a média do ATR para definir.
Em situações de equilíbrio, o RSI pode desencadear sinais de negociação com frequência, aumentando a frequência de negociação e os custos de deslizamento. Os parâmetros do RSI podem ser ajustados de forma apropriada ou os requisitos de filtragem podem ser adicionados para reduzir os sinais inativos.
O fracasso do reverso é o principal risco desta estratégia, e os comerciantes precisam prestar atenção ao nível mais amplo da direção da tendência, evitando operações de contra-balanço. A direção da tendência pode ser julgada por combinação com a linha média de longo prazo.
Pode-se considerar a eliminação de sinais de invalidez em combinação com outros indicadores, como o indicador de energia quântica, o canal de Tongji, etc.
Os parâmetros podem ser otimizados com base nos resultados da retrospectiva para encontrar a melhor combinação de parâmetros.
O estudo de como o coeficiente ATR pode ser ajustado de forma dinâmica para se adaptar a diferentes cenários de mercado.
Pode-se explorar a estratégia de fechar em determinados períodos de tempo para evitar períodos de alto risco.
A estratégia integra o julgamento de tendências e o julgamento de overbought e oversold, permitindo capturar oportunidades de reversão em situações de tendência. O VSTOP é um sistema de gestão de stop loss que ajuda no controle de risco. Otimizar os parâmetros e combinar outros indicadores pode aumentar ainda mais a eficácia da estratégia.
/*backtest
start: 2022-10-02 00:00:00
end: 2023-10-08 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
strategy("Vstop and RSI", overlay=true)
//RSI Section
length = input(2, "RSI Period")
overSold = input(30, "Oversold Level")
overBought = input(70, "Overbought Level")
price = close
vrsi = rsi (price, length)
//VSTOP Section
vlength = input(2, "Vstop Length")
mult = input(2, "Vstop Mult")
atr_ = atr(vlength)
max1=0.0
min1=0.0
is_uptrend_prev = false
stop=0.0
vstop_prev=0.0
vstop1=0.0
is_uptrend=false
is_trend_changed=false
max_ = 0.0
min_ = 0.0
vstop=0.0
max1 := max(nz(max_[1]), close)
min1 := min(nz(min_[1]), close)
is_uptrend_prev := nz(is_uptrend[1], true)
stop := is_uptrend_prev ? max1 - mult * atr_ : min1 + mult * atr_
vstop_prev := nz(vstop[1])
vstop1 := is_uptrend_prev ? max(vstop_prev, stop) : min(vstop_prev, stop)
is_uptrend := close - vstop1 >= 0
is_trend_changed := is_uptrend != is_uptrend_prev
max_ := is_trend_changed ? close : max1
min_ := is_trend_changed ? close : min1
vstop := is_trend_changed ? is_uptrend ? max_ - mult * atr_ : min_ + mult * atr_ : vstop1
plot(vstop, color = is_uptrend ? green : red, style=cross, linewidth=2)
if vrsi > overBought
strategy.entry("Buy", strategy.long, comment="Buy")
if vrsi < overSold and vstop > price
strategy.entry("Sell", strategy.short, comment="Sell")