Esta estratégia é uma estratégia de negociação de bitcoin projetada com base no indicador de nuvem de Ichimoku.
A estratégia usa o indicador de nuvem Ichimoku.
Lmax = preço mais elevado durante o período_max
Smax = preço mais baixo durante o período_max
Lmed = preço mais elevado durante o período_med
Smed = preço mais baixo durante o período_med
Lmin = preço mais elevado ao longo do período_min
Smin = preço mais baixo ao longo do período_min
HL1 = (Lmax + Smax + Lmed + Smed)/4
HL2 = (Lmed + Smed + Lmin + Smin)/4
Ele calcula os preços de equilíbrio para a linha de longo prazo HL1 e linha de curto prazo HL2.
As vantagens desta estratégia incluem:
Há também alguns riscos:
Estes riscos podem ser reduzidos através da otimização de parâmetros ou da incorporação de outros indicadores.
A estratégia pode ser otimizada nos seguintes aspectos:
Esta estratégia gera sinais quando a linha de equilíbrio de curto prazo cruza a linha de longo prazo baseada na nuvem Ichimoku. Em comparação com indicadores únicos, ela efetivamente filtra sinais falsos.
/*backtest start: 2023-12-31 00:00:00 end: 2024-01-30 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © Alferow //@version=4 strategy("BTC_ISHIMOKU", overlay=true) period_max = input(20, minval = 1) period_med = input(10, minval = 1) period_min = input(16, minval = 1) Lmax = highest(high, period_max) Smax = lowest(low, period_max) Lmed = highest(high, period_med) Smed = lowest(low, period_med) Lmin = highest(high, period_min) Smin = lowest(low, period_min) HL1 = (Lmax + Smax + Lmed + Smed)/4 HL2 = (Lmed + Smed + Lmin + Smin)/4 p1 = plot(HL1, color = color.red, linewidth = 2) p2 = plot(HL2, color = color.green, linewidth = 2) fill(p1, p2, color = HL1 < HL2 ? color.green : color.red, transp = 90) start = timestamp(input(2020, minval=1), 01, 01, 00, 00) finish = timestamp(input(2025, minval=1),01, 01, 00, 00) trig = time > start and time < finish ? true : false strategy.entry("Long", true, when = crossover(HL2, HL1) and trig) // strategy.entry("Short", false, when = crossunder(HL2, HL1) and trig) strategy.close("Long", when = crossunder(HL2, HL1) and trig)