
A estratégia baseia-se principalmente no canal de Camaleira e na linha média móvel para julgar os pontos de ruptura do mercado e, em seguida, realizar o acompanhamento de tendências. A estratégia é relativamente simples, mas tem uma forte utilidade.
Calcular as linhas de suporte e resistência do canal da Camaleira. Incluindo as linhas H4, L4 e assim por diante.
Para determinar se o preço atravessou a linha de passagem. Por exemplo, o preço de fechamento atravessou a linha H4 e o preço de abertura foi abaixo da linha H4, sendo considerado um sinal de ruptura.
Adicione a mediana móvel para confirmar ainda mais o sinal de ruptura. Por exemplo, uma EMA abaixo do preço de fechamento é uma ruptura múltipla.
Entrar em posições multi-cabeça, definir condições de stop loss e stop loss, como definir um número fixo de pontos de stop loss, e como rastrear o stop loss.
A mesma lógica de julgamento é aplicada às cabeças vazias.
A estratégia é relativamente simples, intuitiva, fácil de entender e de implementar. Através do rastreamento dinâmico de stop-loss, pode-se manter o lucro até a reversão da tendência.
A estratégia tem as seguintes vantagens:
Com base no canal de Camaleira, é possível localizar com precisão o apoio e a resistência potenciais.
A combinação de filtros uniformes permite uma eficiente distinção entre o verdadeiro e o falso sinal de ruptura.
O método de rastreamento de stop-loss permite obter lucros sustentáveis e evitar a reversão de stop-loss.
Os sinais de estratégia são simples e claros, facilitando o julgamento das operações.
Não há necessidade de ajustar os parâmetros com frequência, para que os parâmetros sejam ajustados automaticamente.
A estratégia também apresenta os seguintes riscos:
O canal Camaleira não consegue avaliar com precisão o ponto de reversão da tendência, o que pode levar a um aumento dos prejuízos.
A configuração imprudente do ponto de parada de rastreamento pode levar à parada prematura ou à expansão dos prejuízos.
O sinal de ruptura pode ser falso.
O mercado de criptomoedas está em uma fase de grande agitação, com várias falsas rupturas.
A estratégia também pode ser melhorada em:
Aumentar os indicadores de filtragem composta, melhorar a precisão de ruptura. Pode considerar KDJ, MACD, etc.
Optimizar as estratégias de stop loss, como a introdução de stop loss dinâmico, a combinação de indicadores ATR, etc.
Otimizar os parâmetros de diferentes variedades para melhorar a estabilidade.
Aumentar o julgamento de tendências de grandes ciclos e evitar negociações adversas.
A combinação com a análise quantitativa do dia, o foco de alta quantidade pode ser alcançado.
Desenvolvimento de programas de otimização automática de parâmetros, otimização de parâmetros em tempo real.
A expansão para estratégias de arbitragem de variedades, aproveitando as diferenças de preço.
A estratégia geral é clara, simples e prática, é uma estratégia típica de rastreamento de ruptura. A determinação da resistência de suporte potencial através do canal Camaleira, em combinação com a filtragem linear para determinar a direção da ruptura. O método de stop loss também é razoável.
/*backtest
start: 2023-09-23 00:00:00
end: 2023-10-23 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
//Created by CristianD
strategy(title="CamarillaStrategyV1", shorttitle="CD_Camarilla_StrategyV1", overlay=true)
//sd = input(true, title="Show Daily Pivots?")
EMA = ema(close,8)
//Camarilla
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 and open < dtime_h4 and EMA < close
if (longCondition)
strategy.entry("Long", strategy.long)
strategy.exit ("Exit Long","Long", trail_points = 140,trail_offset = 1, loss =170)
//trail_points = 40, trail_offset = 3, loss =70 and
shortCondition = close <dtime_l4 and open >dtime_l4 and EMA > close
if (shortCondition)
strategy.entry("Short", strategy.short)
strategy.exit ("Exit Short","Short", trail_points = 110,trail_offset = 1, loss =120)