A estratégia de cruzamento de linha de equilíbrio é uma estratégia de negociação mais comum. A estratégia usa o princípio de um forco de ouro e um forco de morte da linha de equilíbrio, combinando o indicador de gráficos da nuvem de Ichimoku com a linha de equilíbrio móvel da SMA, formando um sistema de negociação mais completo. A estratégia pode realizar operações de abertura de posição de estoque automaticamente.
A estratégia é baseada na comparação de linhas de inversão e linhas de referência no Índice de Ichimoku, bem como no cruzamento das linhas médias móveis de SMA de curto e longo prazo para determinar a compra e venda de ações.
Em particular, o código define a linha de conversão do Índice de Ichimoku (conversionLine), a linha de base (baseLine), a linha de liderança 1 (leadLine1) e a linha de liderança 2 (leadLine2). Além disso, define a linha de média móvel de SMA de longo prazo (ma1) e a linha de média móvel de SMA de curto prazo (ma2).
Ao avaliar a compra, deve-se simultaneamente satisfazer a condição de que a linha de giro esteja abaixo da linha de referência e a média de curto prazo esteja abaixo da média de longo prazo, ou seja, ocorra um forquete de linha de ouro.
A venda deve ocorrer simultaneamente quando a linha de giro for superior à linha de referência e a média de curto prazo for superior à média de longo prazo.
Além disso, o código também define algumas condições auxiliares, como o julgamento do preço de fechamento superior ao do dia anterior, e o uso de valores da linha média para diferenciar e dividir por um valor para julgar a inclinação da linha média. Isso pode determinar a força e a direção do cruzamento da linha média.
A estratégia reúne os benefícios de vários indicadores técnicos para melhor avaliar as tendências do mercado, com as seguintes vantagens:
O gráfico de nuvens de Ichimoku, por si só, contém um julgamento de tendência, combinado com a linha média SMA, pode formar um julgamento de tendência mais forte.
A SMA pode determinar a tendência e a intensidade do preço, enquanto a média rápida cruza a média lenta para determinar o ponto de compra e venda.
Aumentar o julgamento do preço de fechamento pode evitar a repetição desnecessária de posições vazias.
O cálculo da inclinação da linha média aumenta o julgamento da força de interseção da linha média, podendo filtrar os falsos cruzes.
Em geral, a estratégia é mais precisa para avaliar as tendências, reduzindo transações desnecessárias e com um certo espaço para otimização.
A estratégia também apresenta alguns riscos:
A linha Ichimoku e a linha SMA podem estar atrasadas e não refletir as mudanças de preço em tempo hábil.
A combinação de vários critérios aumenta a complexidade da estratégia e a probabilidade de erros.
A estratégia baseia-se apenas em indicadores técnicos e não pode avaliar o impacto de uma notícia importante.
A estratégia não estabelece um limite de perda, existindo o risco de expansão de perdas.
A estratégia não tem em conta situações especiais, como a consolidação.
A configuração errada dos parâmetros também pode afetar a eficácia da estratégia.
A estratégia também pode ser melhorada nos seguintes aspectos:
A configuração de stop-loss pode ser automática quando os prejuízos aumentam.
Aumentar o discernimento sobre as notícias importantes, evitando o impacto das notícias importantes.
Aumentar o julgamento de situações especiais, como aumentar o intervalo de negociação ou ajustar os parâmetros.
Teste e otimize combinações de parâmetros, procurando o parâmetro ideal.
Aumentar os algoritmos de aprendizagem de máquina, utilizando a IA para otimização de parâmetros e julgamento de mercado.
Aumentar a quantidade pode ser um indicador de julgamento, evitando falsos avanços.
A taxa de desemprego é mais elevada do que a taxa de desemprego, mas a taxa de desemprego é mais elevada do que a média nacional.
Em suma, a estratégia de cruzamento de linha de equilíbrio integra os benefícios do Índice de Ichimoku e da linha de equilíbrio móvel SMA, formando um conjunto mais completo de estratégias de negociação de ações. A estratégia tem uma forte capacidade de discernimento de tendências e pode efetivamente capturar oportunidades de tendências. Mas também há alguns problemas, como atraso, complexidade grande, falta de stop loss, etc.
/*backtest
start: 2023-09-15 00:00:00
end: 2023-10-15 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
// strategy("Ichimoku+SMAsmoothed", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100, calc_on_order_fills= true, calc_on_every_tick=true, pyramiding=0)
//
conversionPeriods = input(9, minval=1, title="Conversion Line Periods"),
basePeriods = input(26, minval=1, title="Base Line Periods")
laggingSpan2Periods = input(52, minval=1, title="Lagging Span 2 Periods"),
displacement = input(26, minval=1, title="Displacement")
SMA1=input(title="SMA LONG",defval=21)
SMA2=input(title="SMA SHORT",defval=19)
p=ohlc4[1]
donchian(len) => avg(lowest(len), highest(len))
conversionLine = donchian(conversionPeriods)
baseLine = donchian(basePeriods)
leadLine1 = avg(conversionLine, baseLine)
leadLine2 = donchian(laggingSpan2Periods)
//plot(conversionLine, color=#0496ff, title="Conversion Line")
//plot(baseLine, color=#991515, title="Base Line")
//plot(close, offset = -displacement, color=#459915, title="Lagging Span")
//p1 = plot(leadLine1, offset = displacement, color=green,
// title="Lead 1")
//p2 = plot(leadLine2, offset = displacement, color=red,
// title="Lead 2")
//fill(p1, p2, color = leadLine1 > leadLine2 ? green : red)
ma1=sma(p, SMA1)
ma2=sma(p, SMA2)
p_a = ma1*2
p_b = ma1
p_c = p_a - p_b
p_d = p_c/24
p_e = ma2*2
p_f = ma2
p_g = p_e - p_f
p_h = p_g/24
closelong = ohlc4<ohlc4[SMA1] and ohlc4<ohlc4[1]// and leadLine1<leadLine2 and p_h<p_d
if (closelong)
strategy.close("Long")
closeshort = ohlc4>ohlc4[SMA1] and ohlc4>ohlc4[1]// and leadLine1>leadLine2 and p_h>p_d
if (closeshort)
strategy.close("Short")
longCondition = ohlc4>ohlc4[1] and leadLine1>leadLine2 and p_h>p_d
if (longCondition)
strategy.entry("Long",strategy.long)
shortCondition = ohlc4<ohlc4[1] and leadLine1<leadLine2 and p_h<p_d
if (shortCondition)
strategy.entry("Short",strategy.short)