Esta estratégia identifica a tendência a curto prazo com base em indicadores técnicos e assume uma posição curta quando detecta N barras consecutivas fechando abaixo do preço de abertura.
A estratégia usa uma variável nCounter para contar o número de barras consecutivas com fechamento abaixo de aberto. Quando o preço de fechamento é menor que o preço de abertura, o nCounter aumenta em 1. Quando o preço de fechamento é maior que o preço de abertura, o nCounter é reiniciado para 0. Quando o nCounter atinge o parâmetro de entrada nLength, ele indica N barras consecutivas fechando abaixo do preço de abertura e o sinal C2 se torna 1.
Após o sinal, se não houver posição, uma ordem curta será enviada. Se já estiver em posição curta, mantenha a posição. Após a posição de abertura, o postprice registra o preço de entrada. O lucro e a perda de parada são definidos com base no preço de entrada: se o preço atingir o ponto de lucro (entrada + entrada takeprofit), feche a posição e reinicie; se o preço atingir o ponto de perda de parada (entrada - entrada stopploss), feche a posição e reinicie.
As principais vantagens desta estratégia:
Os principais riscos desta estratégia:
A estratégia pode ser melhorada pelos seguintes aspectos:
Adicione o filtro de tendência para evitar uma avaliação errada das correções de curto prazo no mercado lateral.
Adicione confirmação de volume. O volume crescente pode confirmar melhor a reversão da tendência.
Otimizar o take profit e o stop loss, como usar o trailing stop loss, o stop loss percentual para fazer saídas mais inteligentes.
Utilize modelos de aprendizagem de máquina para ajustar dinamicamente parâmetros como nLength de acordo com mudanças de mercado em tempo real.
Esta estratégia identifica a tendência de curto prazo simplesmente com base na relação entre o preço de fechamento e o preço de abertura. Os sinais de negociação são gerados ao detectar N barras consecutivas fechando abaixo do preço de abertura. A estratégia é intuitiva, personalizável e equipada com gerenciamento de risco eficaz. No entanto, existe certo nível de falsos sinais. Recomenda-se combinar filtros adicionais para otimização. Com ajuste de parâmetros, gerenciamento de risco e aprimoramento do modelo, isso pode ser uma ferramenta muito prática para negociação de curto prazo.
/*backtest start: 2023-12-18 00:00:00 end: 2023-12-25 00:00:00 period: 30m basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 //////////////////////////////////////////////////////////// // Copyright by HPotter v1.0 05/02/2020 // Evaluates for n number of consecutive lower closes. Returns a value // of 1 when the condition is true or 0 when false. // // WARNING: // - For purpose educate only // - This script to change bars colors. //////////////////////////////////////////////////////////// strategy(title="N Bars Down", shorttitle="NBD Backtest", overlay = false) nLength = input(4, minval=1) input_takeprofit = input(20, title="Take Profit pip", step=0.01) input_stoploss = input(10, title="Stop Loss pip", step=0.01) nCounter = 0 nCounter := iff(close[1] <= open[1], nz(nCounter[1],0)+1, iff(close[1] > open[1], 0, nCounter)) C2 = iff(nCounter >= nLength, 1, 0) posprice = 0.0 pos = 0 barcolor(nz(pos[1], 0) == -1 ? color.red: nz(pos[1], 0) == 1 ? color.green : color.blue ) posprice := iff(C2== 1, close, nz(posprice[1], 0)) pos := iff(posprice > 0, -1, 0) if (pos == 0) strategy.close_all() if (pos == -1) strategy.entry("Short", strategy.short) posprice := iff(low <= posprice - input_takeprofit and posprice > 0, 0 , nz(posprice, 0)) posprice := iff(high >= posprice + input_stoploss and posprice > 0, 0 , nz(posprice, 0)) plot(C2, title='NBD', color=color.red)