
A estratégia de cruzamento de linhas médias Ichimoku é uma estratégia de longo e longo prazo que combina vários indicadores técnicos, é sólida e confiável e é adequada para operações de linhas médias e longas.
A estratégia de cruzamento de equilíbrio de Ichimoku usa um sistema de indicadores especializado composto por 5 equilíbrios. Concretamente, contém a linha de troca, a linha de referência, a linha de antecedência 1, a linha de antecedência 2 e a linha de atraso.
O conjunto de estratégias de cruzamento de equilíbrio de Ichimoku combina vários indicadores técnicos. Ele combina várias ideias de estratégias, como médias móveis, canais de preço e confirmação de preço, formando um sistema metodológico sistemático. Isso garante a precisão e a direcionalidade dos sinais de negociação. Comparado à estratégia de um único indicador, a estratégia pode reduzir drasticamente a probabilidade de falsos sinais e aumentar o fator de lucro.
A estratégia de cruzamento de linha de equilíbrio Ichimoku é uma estratégia de acompanhamento de tendências, cujo intervalo de negociação é longo. Isso significa que a estratégia não consegue capturar oscilações de preços de curto prazo. Além disso, o indicador de linha de equilíbrio é invalido quando o preço das ações oscila fortemente.
A estratégia de cruzamento de linha média de Ichimoku pode ser otimizada: 1) ajustar os parâmetros da linha média para diferentes períodos e variedades; 2) combinar indicadores de energia, confirmando a relação entre preço e volume de transação; 3) introduzir modelos de aprendizado de máquina, melhorando o julgamento de sinais; 4) adicionar mais condições e filtros, reduzindo a probabilidade de ocorrência de transações erradas.
A estratégia de cruzamento equilíneo de Ichimoku é estável e confiável, é adequada para ser usada como estratégia central e em combinação com outros algoritmos. Ela fornece uma direção clara de negociação de tendências, enquanto o ajuste de parâmetros e a otimização de múltiplos indicadores tornam a estratégia mais inteligente e flexível.
/*backtest
start: 2023-11-18 00:00:00
end: 2023-12-18 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//Noro
//2018
//@version=3
strategy(title = "Noro's Ichimoku Strategy v1.0", shorttitle = "Ichimoku str 1.0", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 0)
//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")
conversionPeriods = input(9, minval = 1, title = "Conversion Periods")
basePeriods = input(26, minval = 1, title = "Base Periods")
laggingSpan2Periods = input(52, minval = 1, title = "Lagging Span")
usebf = input(true, defval = true, title = "Use body filter")
usecf = input(true, defval = true, title = "Use color filter")
fromyear = input(1900, defval = 1900, minval = 1900, maxval = 2100, title = "From Year")
toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year")
frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month")
tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month")
fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From day")
today = input(31, defval = 31, minval = 01, maxval = 31, title = "To day")
//Ichimoku
donchian(len) => avg(lowest(len), highest(len))
conversionLine = donchian(conversionPeriods)
baseLine = donchian(basePeriods)
leadLine1 = avg(conversionLine, baseLine)
leadLine2 = donchian(laggingSpan2Periods)
//Lines
plot(conversionLine, color=red, title="Conversion Line")
plot(baseLine, color=blue, title="Base Line")
plot(close, offset = -basePeriods, color=green, title="Lagging Span")
p1 = plot(leadLine1, offset = basePeriods, color=green, title="Lead 1")
p2 = plot(leadLine2, offset = basePeriods, color=red, title="Lead 2")
fill(p1, p2)
//Body Filter
nbody = abs(close - open)
abody = sma(nbody, 10)
body = nbody > abody / 3 or usebf == false
//Color Filter
bar = close > open ? 1 : close < open ? -1 : 0
gb = bar == 1 or usecf == false
rb = bar == -1 or usecf == false
//Signals
up = low > baseLine and rb and body
dn = high < baseLine and gb and body
//Trading
if up
//if strategy.position_size < 0
// strategy.close_all()
strategy.entry("Long", strategy.long, needlong == false ? 0 : na, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)))
if dn
//if strategy.position_size > 0
// strategy.close_all()
strategy.entry("Short", strategy.short, needshort == false ? 0 : na, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)))
if time > timestamp(toyear, tomonth, today, 23, 59)
strategy.close_all()