Estratégia de avanço de momentum de múltiplos indicadores técnicos


Data de criação: 2023-11-22 15:56:43 última modificação: 2023-11-22 15:56:43
cópia: 0 Cliques: 629
1
focar em
1617
Seguidores

Estratégia de avanço de momentum de múltiplos indicadores técnicos

Visão geral

Esta estratégia integra vários indicadores técnicos e executa uma operação de compra quando o mercado tem uma forte dinâmica múltipla. Concretamente, a estratégia considera simultaneamente os 5 indicadores MACD, RSI, ADX, Stochastic e Brin, gerando um sinal de compra quando esses indicadores atendam simultaneamente a condições de múltiplos.

Princípio da estratégia

A lógica central dessa estratégia é comprar depois de julgar que o mercado tem uma forte dinâmica de múltiplos pontos. As regras de julgamento específicas são as seguintes:

  1. Os pilares atuais do MACD de 5 minutos, 15 minutos e 60 minutos estão em alta
  2. RSI maior que 60
  3. ADX maior que 12
  4. Stochastic %K atravessa a linha %D
  5. Brin, com o seu carro na pista.

Quando as 5 condições acima são simultaneamente estabelecidas, considera-se que o mercado é muito dinâmico e que a operação de compra e venda é feita neste momento.

A regra de saída do negócio é sair da posição atual quando a EMA de 5 minutos for quebrada abaixo do preço de fechamento de 5 minutos.

Análise de vantagens

A estratégia tem as seguintes vantagens:

  1. Integrar vários indicadores para avaliar as tendências globais do mercado e evitar ser enganado por um único indicador
  2. Utilizando uma combinação de indicadores de alta e baixa linha do tempo para avaliar a continuidade da dinâmica do mercado
  3. O mecanismo de saída é rigoroso para evitar a expansão dos prejuízos
  4. Frequência de transação moderada, não muito intensa

Em geral, a estratégia é acertada, com um bom controle de risco, e é adequada para capturar situações em que as linhas curtas são mais complexas.

Análise de Riscos

A estratégia também apresenta alguns riscos:

  1. A combinação de vários indicadores aumenta a probabilidade de erros de depósito
  2. O mecanismo de saída pode ser muito rígido e pode levar a uma saída prematura de um negócio correto.
  3. Frequência de transação elevada, com o aumento da carga de comissões

Em geral, os riscos desta estratégia são principalmente de erros de entrada e saídas prematuras, que precisam ser mitigados por otimização de parâmetros e ajustes de regras.

Direção de otimização

A estratégia pode ser otimizada de várias maneiras:

  1. Optimizar os parâmetros MACD para encontrar combinações de parâmetros mais compatíveis com as leis do mercado
  2. Ajustar os parâmetros do RSI em busca de um melhor intervalo de sobrevenda
  3. Optimizar os parâmetros do Stochastic para encontrar melhores combinações de cruzamentos
  4. Ajustar os parâmetros das faixas de Brin para melhor refletir a volatilidade do mercado
  5. Optimizar ou substituir regras de mecanismos de saída para reduzir a probabilidade de saídas erradas

Otimizando os parâmetros e as regras, é possível aumentar ainda mais o nível de lucro e a capacidade de controlar o risco desta estratégia.

Resumir

Esta estratégia compreensível considera vários indicadores para determinar a tendência de mercado de vários lados, o mecanismo de saída é mais rigoroso. A estratégia de julgamento é precisa, pode capturar a curta linha de movimento, o controle de risco também é melhor.

Código-fonte da estratégia
/*backtest
start: 2022-11-15 00:00:00
end: 2023-11-21 00:00:00
period: 1d
basePeriod: 1h
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/
// © makarandpatil

// This strategy is for Bank Nifty instrument and for intraday purpose only
// It checks for various indicators and gives a buy signal when all conditions are met 
// Bank Nifty when in momentum gives 100-200 points in spot in 5-15 min which is how long the trade duration should be
// Issues - The custom script as per TradingView Pinescripting has an issue of repaint
// More information on repainting issue in this link - https://www.tradingview.com/pine-script-docs/en/v5/concepts/Repainting.html
// Use the script alert only to get notified, however check all the parameters individually before taking the trade
// Also, please perform a backtesting and deep backtesting of this strategy to see if the strategy gave correct buy signals in the past
// The script is made for testing purposes only and is in beta mode. Please use at own risk.

//@version=5
strategy("BankNifty_Bullish_Intraday", overlay=true, margin_long = 100, margin_short = 100)

// Variables
StochLength = input(14, title="Stochastic Length")
smoothK = input(3, title="%K Smoothing")
smoothD = input(3, title="%D Smoothing")
 
 
//INDICATOR CALCULATIONS
 
// 1. MACD
[macdLine, signalLine, histLine] = ta.macd(close[0],12,26,9)
 
macd5 = request.security(syminfo.tickerid, "5", macdLine)
macd15 = request.security(syminfo.tickerid,"15",macdLine)
macd60 = request.security(syminfo.tickerid,"60",macdLine)
 
// 2. RSI Calculation
xRSI = ta.rsi(close, 14)
 
// 3. ADX calculation
[diplus, diminus, adx] = ta.dmi(14,14)
// plot(adx,color = color.black)
 
// 4. Stochastic Calculation
k = ta.sma(ta.stoch(close, high, low, StochLength), smoothK)
d = ta.sma(k, smoothD)
 
// 5. Bollinger Band calculation
[middle, upper, lower] = ta.bb(close, 20, 2)
 
 
//CONDITIONS
 
// 1. Conditions for MACD
macd5Uptick = macd5[0] > macd5[1]
macd15Uptick = macd15[0] > macd15[1]
macd60Uptick = macd60[0] >= macd60[1]
 
// 2. Condition for xRSI
RSIStrong = xRSI > 60
 
// 3. Condition for ADX
ADXUngali = adx >= 12
 
// 4. Condition for Stochastic
StochPCO = k > d
 
// 5. Condition for Bollinger Band
BBCU = upper > upper [1]
 
//Evaluate the long condition
// longCondition = macd5Uptick and macd15Uptick and RSIStrong and ADXUngali and StochPCO and BBCU
longCondition = macd5Uptick and macd15Uptick and macd60Uptick and RSIStrong and ADXUngali and StochPCO and BBCU
// longCondition = macd5Uptick and macd15Uptick and RSIStrong and ADXUngali and StochPCO and BBCU

if (longCondition)
    strategy.entry("Buy", strategy.long,alert_message = "BankNifty_Buy_Momentum")

shortCondition = close < ta.ema(close,5)
if (shortCondition)
    strategy.entry("BuySquareoff", strategy.short, alert_message = "BankNifty_Closed_Below_5EMA")