
A estratégia usa uma combinação de três indicadores CCI, ADX e AO para gerar um julgamento sobre o espaço livre e sinais de negociação. Dentre eles, o CCI é usado para determinar se o mercado está sobrecomprado, o ADX é usado para determinar a direção da tendência e o AO é usado para auxiliar na determinação de mercados turbulentos. A combinação de vários indicadores pode aumentar a estabilidade e a eficiência do sistema de negociação.
O indicador CCI é usado para determinar se o mercado está sobrecomprando ou sobrevendendo. Quando o CCI está abaixo de -100, é sobrevendido, e acima de 100 é sobrecomprado. Esta estratégia é feita quando o CCI é menor que 0.
O indicador ADX julga a força da tendência. DI+ representa a força da tendência ascendente, DI- representa a força da tendência descendente. ADX representa a força da tendência média. Esta estratégia é mais usada quando o DI+ está abaixo de 25.
O indicador AO determina a energia aerodinâmica. O AO é formado por SMA rápido menos SMA lento. O aumento do AO representa o aumento da força aerodinâmica atual e o declínio do AO representa o aumento da força aerodinâmica. Esta estratégia faz mais quando o AO está abaixo de 0.
Combinando vários indicadores acima, a estratégia de negociação é: fazer mais quando o CCI < 0 e o DI + < 25 e o AO < 0; quando o DI + > 25 e o equilíbrio.
Calculação dinâmica do número de pedidos dividido pelo preço de fechamento e correção de juros da conta, permitindo que o número de pedidos seja ajustado à variação de juros da conta.
Use estratégia. entrada para emitir sinais múltiplos, estratégia. fechar para emitir sinais de equilíbrio.
Usando o CCI para avaliar a situação de sobrevenda e sobrecompra, pode-se filtrar de forma eficaz os falsos sinais gerados pela situação de choque.
O indicador ADX avalia a existência e a intensidade de uma tendência, captando os sinais de tendência mais fortes.
Os indicadores AO ajudam a avaliar a intensidade e a dinâmica da tendência, evitando a negociação em situações de turbulência.
A combinação de múltiplos indicadores pode verificar os sinais entre si, aumentar a confiabilidade dos sinais e efetivamente reduzir os sinais falsos.
O número de pedidos calculado dinamicamente pode ajustar o tamanho da posição com a mudança de direitos e interesses da conta, com uma maior consciência de gerenciamento de fundos.
A lógica da estratégia é clara, simples, fácil de entender e acompanhar.
O indicador CCI tem uma fraca capacidade de reconhecimento de movimentos de vibração da VSDK, o que pode gerar um sinal de erro.
O ADX está atrasado e pode ter perdido o ponto de viragem.
O indicador AO não é muito eficaz no julgamento de curvatura.
Embora a combinação de vários indicadores possa melhorar a confiabilidade do sinal, a configuração inadequada do indicador também pode causar filtragem excessiva que pode levar a oportunidades de negociação erradas.
DYNAMICAOR está relacionado com a volatilidade do mercado, e os parâmetros precisam ser ajustados de acordo com diferentes variedades e condições de mercado.
A estratégia de retirada pode ser grande e requer uma gestão rigorosa dos fundos para controlar os riscos.
Optimizar os parâmetros do CCI para identificar áreas de sobrecompra e sobrevenda em diferentes mercados.
Optimizar os parâmetros do ADX para capturar a mudança de tendência em diferentes variedades e ambientes de mercado.
Ajustar os parâmetros AO para identificar tendências reais em diferentes ambientes de flutuação.
Teste diferentes combinações de pesos de indicadores para encontrar o parâmetro ideal.
Aumentar a estratégia de stop loss para controlar a retirada.
Combinado com indicadores de volume de transação para evitar falsas rupturas.
Ajustar posições fixas de acordo com as características das diferentes variedades.
Esta estratégia, através da combinação de três indicadores CCI, ADX e AO, forma um sinal de multitarefa mais confiável. Ao mesmo tempo, combinado com o cálculo dinâmico do número de ordens e gerenciamento de posições, pode controlar eficazmente o risco. A estratégia é simples, clara e fácil de entender, adequada para os iniciantes.
/*backtest
start: 2022-10-19 00:00:00
end: 2023-10-25 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
strategy("Strategy Niel", shorttitle="Strategy Niel", max_bars_back=2000, initial_capital=1000)
//Input variables
buywhenadxabove = input(25)
buywhendiplusbelow = input(10)
buywhenccibelow = input(0)
buywhenawesomeoscillatorbelow = input(0)
sellwhendiplusabove = input(25)
//CCI script
numberofbarsforcci = input(20)
CCI = cci(close,numberofbarsforcci)
//+DI and ADX
adxlen = input(14, title="ADX Smoothing")
dilen = input(14, title="DI Length")
dirmov(len) =>
up = change(high)
down = -change(low)
truerange = rma(tr, len)
plus = fixnan(100 * rma(up > down and up > 0 ? up : 0, len) / truerange)
minus = fixnan(100 * rma(down > up and down > 0 ? down : 0, len) / truerange)
[plus, minus]
adx(dilen, adxlen) =>
[plus, minus] = dirmov(dilen)
sum = plus + minus
adx = 100 * rma(abs(plus - minus) / (sum == 0 ? 1 : sum), adxlen)
[adx, plus, minus]
[sig, up, down] = adx(dilen, adxlen)
//plot(sig, color=red, title="ADX")
//plot(up, color=blue, title="+DI")
//plot(down, color=orange, title="-DI")
//Awesome Oscillator
nLengthSlow = input(34, minval=1, title="Length Slow")
nLengthFast = input(5, minval=1, title="Length Fast")
xSMA1_hl2 = sma(hl2, nLengthFast)
xSMA2_hl2 = sma(hl2, nLengthSlow)
xSMA1_SMA2 = xSMA1_hl2 - xSMA2_hl2
cClr = xSMA1_SMA2 > xSMA1_SMA2[1] ? blue : red
//plot(xSMA1_SMA2, style=histogram, linewidth=1, color=cClr)
buy = sig > buywhenadxabove and up < buywhendiplusbelow and CCI < buywhenccibelow and xSMA1_SMA2 < buywhenawesomeoscillatorbelow
ordersize=floor(strategy.equity/close) // Floor returns largest integer, strategy.equity gives total equity remaining - allows to dynamically calculate the order size as the account equity increases or decreases.
strategy.entry("long",strategy.long,ordersize,when= buy) //strategy.entry let's you enter the market variables id ("long"), strategy.long (long position entry), size of the order and when the order should happen
bought = strategy.position_size[0] > strategy.position_size[1]
entry_price = valuewhen(bought, open, 0)
sell = up > sellwhendiplusabove
strategy.close("long", when=sell ) //strategy.close let's you close your position with variables id ('long') and when this should happen