Esta é uma estratégia de negociação intradiária que utiliza indicadores de impulso e níveis de suporte / resistência chave para negociação de ruptura.
A estratégia usa o índice de Choppiness para identificar tendências.
Para os sinais de entrada, ele calcula os principais níveis de suporte/resistência intradiários, incluindo H4, H5 etc. Vai longo quando o preço fecha acima de H4 e vai curto quando o preço fecha abaixo de L4.
Em especial, calcula os seguintes níveis intradiários:
Depois de calcular estes níveis, ele usa H4 e L4 como os níveis de ruptura chave.
Quando o preço quebra acima do H4, ele sinaliza um crescente impulso de alta e a estratégia vai longo.
As vantagens desta estratégia incluem:
Usar Choppiness para identificar tendências claras evita problemas na consolidação.
Os níveis de suporte/resistência calculados são geralmente significativos.
Os intervalos de negociação de H4 e L4 que se encontram próximos do preço de fechamento captam intervalos intradiários importantes.
Os sinais de ruptura têm uma taxa de vitória muito alta.
Lógica simples e clara, fácil de entender e implementar para iniciantes.
Os riscos desta estratégia incluem:
Confiar no Choppiness para a identificação de tendências pode falhar e interpretar erroneamente as tendências.
Os níveis calculados podem não se manter e o preço pode romper, causando paradas.
Os sinais de fuga podem ser falsos com inversões rápidas.
Sem considerar a tendência geral, as perdas podem acumular-se em mercados agitados.
Sem stop loss significa que uma grande perda de comércio único é possível em movimentos extremos.
Soluções:
Adicionar outros indicadores para confirmação cruzada e melhorar a precisão.
Implementar movimentos de stop loss para controlar a perda de uma única transação.
Incorporar um filtro de tendência de longo prazo para evitar transações contra-tendência.
Adicione um sinal de reentrada para evitar perseguir falsas fuga.
Esta estratégia pode ser melhorada através de:
Otimizar parâmetros de Choppiness para encontrar melhores valores.
Testando diferentes níveis de fuga como H3 e L3 para melhor eficiência.
Adicionar stop loss móvel para proteção de lucros e controlo de riscos.
Adicionando sinal de reentrada para evitar perdas por falsas fuga.
Incorporar um filtro de tendência de longo prazo para evitar operações contrárias à tendência.
Otimizar os tempos de negociação, como apenas as sessões de negociação dos EUA ou da Europa.
Adicionar regras de dimensionamento de posição como quantidade fixa ou percentagem fixa.
Analisando dados de backtest para ajuste de parâmetros.
Em resumo, a ideia central é negociar breakouts depois de identificar a tendência. Ele tem lógica simples e probabilidades de vitória decentes. Mas existem riscos e são necessários mais refinamentos para controlar os riscos e melhorar a lucratividade. Com ajuste de parâmetros, stop loss, filtro de tendência, etc. pode se tornar um sistema de breakout intradiário muito prático. Ele fornece uma estrutura de breakout de impulso que é uma estratégia de negociação intradiária eficaz.
/*backtest start: 2023-09-08 00:00:00 end: 2023-10-08 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 //Created by AS strategy(title="ASH1Strategy", shorttitle="AS_H1_Strategy", overlay=true) //sd = input(true, title="Show Daily Pivots?") EMA = ema(close,3) pivot = (high + low + close ) / 3.0 range = high - low h5 = (high/low) * close h4 = close + (high - low) * 1.1 / 2.0 h3 = close + (high - low) * 1.1 / 4.0 h2 = close + (high - low) * 1.1 / 6.0 h1 = close + (high - low) * 1.1 / 12.0 l1 = close - (high - low) * 1.1 / 12.0 l2 = close - (high - low) * 1.1 / 6.0 l3 = close - (high - low) * 1.1 / 4.0 l4 = close - (high - low) * 1.1 / 2.0 h6 = h5 + 1.168 * (h5 - h4) l5 = close - (h5 - close) l6 = close - (h6 - close) // Daily line breaks //sopen = request.security(syminfo.tickerid, "D", open [1]) //shigh = request.security(syminfo.tickerid, "D", high [1]) //slow = request.security(syminfo.tickerid, "D", low [1]) //sclose = request.security(syminfo.tickerid, "D", close [1]) // // Color //dcolor=sopen != sopen[1] ? na : black //dcolor1=sopen != sopen[1] ? na : red //dcolor2=sopen != sopen[1] ? na : green //Daily Pivots dtime_pivot = request.security(syminfo.tickerid, 'D', pivot[1]) dtime_h6 = request.security(syminfo.tickerid, 'D', h6[1]) dtime_h5 = request.security(syminfo.tickerid, 'D', h5[1]) dtime_h4 = request.security(syminfo.tickerid, 'D', h4[1]) dtime_h3 = request.security(syminfo.tickerid, 'D', h3[1]) dtime_h2 = request.security(syminfo.tickerid, 'D', h2[1]) dtime_h1 = request.security(syminfo.tickerid, 'D', h1[1]) dtime_l1 = request.security(syminfo.tickerid, 'D', l1[1]) dtime_l2 = request.security(syminfo.tickerid, 'D', l2[1]) dtime_l3 = request.security(syminfo.tickerid, 'D', l3[1]) dtime_l4 = request.security(syminfo.tickerid, 'D', l4[1]) dtime_l5 = request.security(syminfo.tickerid, 'D', l5[1]) dtime_l6 = request.security(syminfo.tickerid, 'D', l6[1]) //offs_daily = 0 //plot(sd and dtime_pivot ? dtime_pivot : na, title="Daily Pivot",color=dcolor, linewidth=2) //plot(sd and dtime_h6 ? dtime_h6 : na, title="Daily H6", color=dcolor2, linewidth=2) //plot(sd and dtime_h5 ? dtime_h5 : na, title="Daily H5",color=dcolor2, linewidth=2) //plot(sd and dtime_h4 ? dtime_h4 : na, title="Daily H4",color=dcolor2, linewidth=2) //plot(sd and dtime_h3 ? dtime_h3 : na, title="Daily H3",color=dcolor1, linewidth=3) //plot(sd and dtime_h2 ? dtime_h2 : na, title="Daily H2",color=dcolor2, linewidth=2) //plot(sd and dtime_h1 ? dtime_h1 : na, title="Daily H1",color=dcolor2, linewidth=2) //plot(sd and dtime_l1 ? dtime_l1 : na, title="Daily L1",color=dcolor2, linewidth=2) //plot(sd and dtime_l2 ? dtime_l2 : na, title="Daily L2",color=dcolor2, linewidth=2) //plot(sd and dtime_l3 ? dtime_l3 : na, title="Daily L3",color=dcolor1, linewidth=3) //plot(sd and dtime_l4 ? dtime_l4 : na, title="Daily L4",color=dcolor2, linewidth=2) //plot(sd and dtime_l5 ? dtime_l5 : na, title="Daily L5",color=dcolor2, linewidth=2) //plot(sd and dtime_l6 ? dtime_l6 : na, title="Daily L6",color=dcolor2, linewidth=2) longCondition = close >dtime_h4 if (longCondition) strategy.entry("My Long Entry Id", strategy.long) shortCondition = close <dtime_l4 if (shortCondition) strategy.entry("My Short Entry Id", strategy.short)