
A estratégia da nuvem de cores é uma estratégia de negociação quantitativa que integra um gráfico de nuvem, MACD, índice de fluxo de capitais (CMF) e índice de força real (TSI) de vários indicadores técnicos. A estratégia visa explorar oportunidades de negociação de linha média e longa no mercado.
A ideia central da estratégia do Cloud Cloud é combinar o sinal de espaço amplo do gráfico de nuvens, o indicador de espaço amplo do MACD, o indicador de fluxo de capital do CMF e o índice de força do TSI para determinar a tendência do mercado e as áreas de sobrevenda e sobrevenda. Um gráfico de nuvem pode determinar claramente a direção da tendência e a resistência de suporte fundamental; O MACD reflete o contraste entre as forças de compra e venda do mercado e os supervenda e supervenda.
Em particular, a estratégia é baseada nos seguintes indicadores:
Quando os 5 itens acima são criados simultaneamente, um sinal múltiplo é gerado; Quando um mapa de nuvem atravessa a linha de apoio da nuvem abaixo da linha kan, um sinal de vazio é gerado quando as condições são invertidas.
Esta estratégia compreende julgar a situação de vazio de vários indicadores, evitando assim o ruído causado por julgamento de um único indicador. Ao mesmo tempo, usar um gráfico de nuvem para julgar as principais áreas de suporte e resistência, e combinar a direção da entidade da linha de atraso para julgar a direção do fluxo de capital real, para que possa entrar na fase de tendência para trás e sair antes do ponto-chave, para obter maiores lucros.
A maior vantagem da estratégia da nuvem de cores reside no uso integrado de vários indicadores para determinar o fenômeno de sobrecompra e sobrevenda do mercado, para determinar com precisão o ponto de compra e venda. As vantagens específicas são as seguintes:
Avaliação integrada de múltiplos indicadores para aumentar a precisão do sinalUm único indicador pode produzir um sinal errado, e esta estratégia pode filtrar o ruído e melhorar a confiabilidade do sinal, integrando indicadores como o mapa da nuvem, MACD, CMF e TSI.
Um mapa de nuvem para determinar as áreas de resistência de suporte chaveUm gráfico de nuvem pode mostrar claramente as posições de suporte e resistência chave, e a estratégia pode implantar pontos de compra e venda nessas posições, permitindo a entrada no mercado após a tendência.
O atraso da linha de sombra no julgamento do fluxo de fundos。 A linha de sombra de atraso pode mostrar o desvio da entidade, determinar o fluxo de entrada e saída de dinheiro real e evitar o engano do falso movimento de arbitragem。
O MACD mostra que há um excesso de compra e vendaO MACD é mais rápido em mostrar a tendência de compra e venda de ações, combinado com a localização de um gráfico de nuvem para capturar pontos de compra e venda com precisão.
CMF mostra fluxo de fundosO CMFIndicator reflete o fluxo de grandes capitais através da variação do volume de transações, evitando a desinformação de pequenos fluxos de capital arbitralizados.
A TSI mostra fraqueza de vendasO TSI é capaz de excluir a amplitude da variação dos preços e mostrar com precisão a força e a fraqueza da verdadeira força de compra e venda, para determinar o momento em que a reversão do fundo e a queda do topo.
Apesar das vantagens da estratégia de nuvem de cores, há alguns riscos a serem considerados. Os principais riscos e direções de otimização são os seguintes:
Otimização de parâmetros indicadoresOs parâmetros existentes podem não ser a combinação ideal de parâmetros, podendo ser encontrados melhores parâmetros por meio de métodos de otimização mais sistemáticos para obter ganhos mais estáveis.
A falta de uma estratégia de stop lossNão existe um mecanismo de parada de prejuízos atualmente, e não é possível controlar efetivamente os prejuízos em situações de reversão acentuada. Pode-se definir um stop móvel ou um stop pendente razoável.
Frequência de transações excessivaA combinação de vários indicadores pode levar a um excesso de frequência de negociação. Os parâmetros podem ser ajustados adequadamente para controlar razoavelmente a frequência de negociação.
Os efeitos variam muito.A combinação de múltiplos indicadores pode criar uma força de efeito, e a eficácia da estratégia pode ter uma maior flutuação em determinadas situações. Pode-se introduzir métodos de combinação de modelos para configurar diferentes indicadores de peso.
Indicadores de risco dispersoSe os diferentes indicadores apresentam sinais discordantes, será difícil determinar a admissão final. Esta situação requer a análise de revisão da experiência manual.
A estratégia de nuvem de cores é uma estratégia de negociação quantitativa de integração de vários indicadores. Ela aproveita ao máximo as vantagens complementares de indicadores como um gráfico de nuvem, MACD, CMF e TSI, e tem vantagens únicas para determinar o momento de compra e venda.
/*backtest
start: 2023-10-22 00:00:00
end: 2023-11-21 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("Ichimoku with MACD/ CMF/ TSI ", overlay=true)
//Inputs
ts_bars = input(10, minval=1, title="Tenkan-Sen Bars")
ks_bars = input(30, minval=1, title="Kijun-Sen Bars")
ssb_bars = input(52, minval=1, title="Senkou-Span B Bars")
cs_offset = input(26, minval=1, title="Chikou-Span Offset")
ss_offset = input(26, minval=1, title="Senkou-Span Offset")
long_entry = input(true, title="Long Entry")
short_entry = input(true, title="Short Entry")
middle(len) => avg(lowest(len), highest(len))
// Ichimoku Components
tenkan = middle(ts_bars)
kijun = middle(ks_bars)
senkouA = avg(tenkan, kijun)
senkouB = middle(ssb_bars)
// Plot Ichimoku Kinko Hyo
plot(tenkan, color=#0496ff, title="Tenkan-Sen")
plot(kijun, color=#991515, title="Kijun-Sen")
plot(close, offset=-cs_offset+1, color=#459915, title="Chikou-Span")
sa=plot(senkouA, offset=ss_offset-1, color=color.green, title="Senkou-Span A")
sb=plot(senkouB, offset=ss_offset-1, color=color.red, title="Senkou-Span B")
fill(sa, sb, color = senkouA > senkouB ? color.green : color.red, title="Cloud color")
ss_high = max(senkouA[ss_offset-1], senkouB[ss_offset-1])
ss_low = min(senkouA[ss_offset-1], senkouB[ss_offset-1])
// Entry/Exit Signals
fast_length = input(title="Fast Length", type=input.integer, defval=12)
slow_length = input(title="Slow Length", type=input.integer, defval=26)
src = input(title="Source", type=input.source, defval=hl2)
signal_length = input(title="Signal Smoothing", type=input.integer, minval = 1, maxval = 50, defval = 9)
sma_source = input(title="Simple MA(Oscillator)", type=input.bool, defval=true)
sma_signal = input(title="Simple MA(Signal Line)", type=input.bool, defval=false)
// Plot colors
col_grow_above = #26A69A
col_grow_below = #FFCDD2
col_fall_above = #B2DFDB
col_fall_below = #EF5350
col_macd = #0094ff
col_signal = #ff6a00
// Calculating
fast_ma = sma_source ? sma(src, fast_length) : ema(src, fast_length)
slow_ma = sma_source ? sma(src, slow_length) : ema(src, slow_length)
macd = fast_ma - slow_ma
signal = sma_signal ? sma(macd, signal_length) : ema(macd, signal_length)
hist = macd - signal
tk_cross_bull = tenkan > kijun
tk_cross_bear = tenkan < kijun
cs_cross_bull = mom(close, cs_offset-1) > 0
cs_cross_bear = mom(close, cs_offset-1) < 0
price_above_kumo = close > ss_high
price_below_kumo = close < ss_low
//CMF
lengthA = input(10, minval=1, title="CMF Length")
ad = close==high and close==low or high==low ? 0 : ((2*close-low-high)/(high-low))*volume
mf = sum(ad, lengthA) / sum(volume, lengthA)
//TSI
long = input(title="Long Length", type=input.integer, defval=20)
short = input(title="Short Length", type=input.integer, defval=20)
price = close
double_smooth(src, long, short) =>
fist_smooth = ema(src, long)
ema(fist_smooth, short)
pc = change(price)
double_smoothed_pc = double_smooth(pc, long, short)
double_smoothed_abs_pc = double_smooth(abs(pc), long, short)
tsi_value = 100 * (double_smoothed_pc / double_smoothed_abs_pc)
bullish = tk_cross_bull and cs_cross_bull and price_above_kumo and hist > 0 and mf > 0.1 and tsi_value > 0
bearish = tk_cross_bear and cs_cross_bear and price_below_kumo and hist < 0 and mf < -0.1 and tsi_value < 0
strategy.entry("Long", strategy.long, when=bullish and long_entry)
strategy.entry("Short", strategy.short, when=bearish and short_entry)
strategy.close("Long", when=bearish and not short_entry)
strategy.close("Short", when=bullish and not long_entry)