
Esta estratégia é um sistema de negociação quantitativa baseado no Ichimoku Cloud. Essa estratégia usa principalmente os sinais de cruzamento do Leading Span A e do Leading Span B para determinar a direção da tendência do mercado e gerar sinais de negociação. A estratégia adota um método de julgamento dinâmico de faixa de preço, combinado com o princípio de cálculo do Canal Donchian, que pode capturar efetivamente os pontos de inflexão das tendências de mercado.
A lógica central da estratégia é baseada nos seguintes componentes principais:
As condições de ativação dos sinais de negociação são as seguintes:
Esta estratégia é um sistema de negociação quantitativa que combina ferramentas clássicas de análise técnica para capturar oportunidades de mercado por meio de análise de tendências multidimensionais. Embora haja um certo atraso, ele tem boa confiabilidade e adaptabilidade no geral. Por meio de otimização e melhoria contínuas, espera-se que essa estratégia mantenha um desempenho estável em diferentes ambientes de mercado.
/*backtest
start: 2019-12-23 08:00:00
end: 2024-12-25 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © mrbakipinarli
//@version=6
strategy(title="Ichimoku Cloud Strategy", shorttitle="Ichimoku Strategy", overlay=true)
// Inputs for Ichimoku Cloud
conversionPeriods = input.int(9, minval=1, title="Conversion Line Length")
basePeriods = input.int(26, minval=1, title="Base Line Length")
laggingSpan2Periods = input.int(52, minval=1, title="Leading Span B Length")
displacement = input.int(26, minval=1, title="Lagging Span")
// Functions
donchian(len) => math.avg(ta.lowest(len), ta.highest(len))
// Ichimoku Components
conversionLine = donchian(conversionPeriods)
baseLine = donchian(basePeriods)
leadLine1 = math.avg(conversionLine, baseLine)
leadLine2 = donchian(laggingSpan2Periods)
// Plotting Ichimoku Components
plot(conversionLine, color=color.new(#2962FF, 0), title="Conversion Line")
plot(baseLine, color=color.new(#B71C1C, 0), title="Base Line")
plot(close, offset = -displacement + 1, color=color.new(#43A047, 0), title="Lagging Span")
p1 = plot(leadLine1, offset = displacement - 1, color=color.new(#A5D6A7, 0), title="Leading Span A")
p2 = plot(leadLine2, offset = displacement - 1, color=color.new(#EF9A9A, 0), title="Leading Span B")
// Kumo Cloud
plot(leadLine1 > leadLine2 ? leadLine1 : leadLine2, offset = displacement - 1, title = "Kumo Cloud Upper Line", display = display.none)
plot(leadLine1 < leadLine2 ? leadLine1 : leadLine2, offset = displacement - 1, title = "Kumo Cloud Lower Line", display = display.none)
fill(p1, p2, color = leadLine1 > leadLine2 ? color.rgb(67, 160, 71, 90) : color.rgb(244, 67, 54, 90))
// Trading Logic
longCondition = ta.crossover(leadLine1, leadLine2)
shortCondition = ta.crossunder(leadLine1, leadLine2)
if (longCondition)
strategy.entry("Long", strategy.long)
if (shortCondition)
strategy.entry("Short", strategy.short)