- Quadrado
- VWAP e RSI Dynamic Bollinger Bands Take Profit and Stop Loss estratégia
VWAP e RSI Dynamic Bollinger Bands Take Profit and Stop Loss estratégia
Autora:
ChaoZhang, Data: 2024-06-14 15:18:39
Tags:
VWAPRSIBBATR
Resumo
Esta estratégia combina três indicadores técnicos: VWAP (Volume Weighted Average Price), RSI (Relative Strength Index) e Bollinger Bands, para implementar uma estratégia de negociação quantitativa simples e fácil de usar com take profit e stop loss dinâmicos. A ideia principal da estratégia é usar o indicador VWAP para determinar a tendência de preços em um período passado, enquanto usa os indicadores RSI e Bollinger Bands para determinar se o preço está no intervalo de sobrecompra ou sobrevenda, determinando assim o sinal de negociação. Uma vez que um sinal de negociação é determinado, a estratégia calcula níveis dinâmicos de take profit e stop loss com base no indicador ATR (Average True Range) para controlar o risco e bloquear os lucros.
Princípio da estratégia
- Calcular os valores dos indicadores técnicos VWAP, RSI e Bollinger Bands.
- Determine se a tendência do preço é ascendente, descendente ou lateral julgando a relação entre o preço de fechamento e o VWAP nos últimos 15 velas.
- Se o preço estiver abaixo da faixa de Bollinger inferior, o RSI é inferior a 45 e o sinal VWAP mostra uma tendência descendente, é gerado um sinal longo; se o preço estiver acima da faixa de Bollinger superior, o RSI é maior que 55 e o sinal VWAP mostra uma tendência ascendente, é gerado um sinal curto.
- Uma vez determinado um sinal de negociação, a estratégia calcula os níveis de take profit e stop loss com base no indicador ATR, com um rácio take profit/stop loss de 1,5:1.
- Se for realizada uma posição longa, quando o RSI for igual ou superior a 90, a estratégia fecha a posição longa; se for realizada uma posição curta, quando o RSI for inferior ou igual a 10, a estratégia fecha a posição curta.
Vantagens da estratégia
- Ao combinar vários indicadores técnicos, a fiabilidade dos sinais de negociação é melhorada.
- O uso de take profit dinâmico e stop loss pode controlar eficazmente o risco e bloquear os lucros.
- A estrutura do código é clara e fácil de compreender e otimizar.
- Aplicável a vários ambientes de mercado, incluindo mercados de tendências e mercados laterais.
Riscos estratégicos
- Em épocas de elevada volatilidade do mercado, a troca frequente pode conduzir a elevados custos de transacção.
- Se o mercado experimentar eventos inesperados ou comportamento irracional, a estratégia pode gerar sinais comerciais incorretos.
- As definições dos parâmetros da estratégia poderão ter de ser ajustadas em função dos diferentes ambientes de mercado para garantir a eficácia da estratégia.
Orientações para a otimização da estratégia
- Tente ajustar as configurações dos parâmetros VWAP, RSI e Bollinger Bands para adaptá-los a diferentes ambientes de mercado e instrumentos de negociação.
- Introduzir outros indicadores técnicos, como MACD, KDJ, etc., para melhorar ainda mais a fiabilidade dos sinais de negociação.
- Otimizar o método de cálculo de take profit e stop loss, como o uso de trailing stop loss ou profit protection stop loss, para controlar melhor o risco e bloquear os lucros.
- Combinar análises fundamentais, tais como dados económicos e alterações de políticas, para melhorar o desempenho global da estratégia.
Resumo
Esta estratégia combina três indicadores técnicos: VWAP, RSI e Bollinger Bands, para implementar uma estratégia quantitativa de negociação simples e fácil de usar.
/*backtest
start: 2024-06-06 00:00:00
end: 2024-06-13 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("VWAP and RSI Strategy", overlay=true)
// VWAP calculation
vwap = ta.vwap(close)
// RSI calculation
rsi_length = 16
rsi = ta.rsi(close, rsi_length)
// Bollinger Bands calculation
bb_length = 14
bb_std = 2.0
[bb_middle, bb_upper, bb_lower] = ta.bb(close, bb_length, bb_std)
// Variables for VWAP signal calculation
backcandles = 15
float vwapsignal = na
// Function to check if last 15 candles are above or below VWAP
calc_vwapsignal(backcandles) =>
upt = true
dnt = true
for i = 0 to backcandles - 1
if close[i] < vwap[i]
upt := false
if close[i] > vwap[i]
dnt := false
if upt and dnt
3
else if upt
2
else if dnt
1
else
0
// Calculate VWAP signal for each bar
vwapsignal := calc_vwapsignal(backcandles)
// Calculate total signal
totalsignal = 0
if vwapsignal == 2 and close <= bb_lower and rsi < 45
totalsignal := 2
else if vwapsignal == 1 and close >= bb_upper and rsi > 55
totalsignal := 1
// Define strategy entry and exit conditions
slatr = 1.2 * ta.atr(7)
TPSLRatio = 1.5
if (totalsignal == 2 and strategy.opentrades == 0)
strategy.entry("Long", strategy.long, stop=close - slatr, limit=close + slatr * TPSLRatio)
if (totalsignal == 1 and strategy.opentrades == 0)
strategy.entry("Short", strategy.short, stop=close + slatr, limit=close - slatr * TPSLRatio)
// Additional exit conditions based on RSI
if (strategy.opentrades > 0)
if (strategy.position_size > 0 and rsi >= 90)
strategy.close("Long")
if (strategy.position_size < 0 and rsi <= 10)
strategy.close("Short")
Relacionados
Mais.