Esta estratégia calcula a acumulação de mudanças positivas e negativas, para julgar a continuidade da tendência atual, para decidir qual é a direção do câmbio. Quando a acumulação de mudanças positivas e negativas é maior que a acumulação de mudanças negativas, julgue a continuação da tendência ascendente, faça mais; Quando a acumulação de mudanças negativas e a acumulação de mudanças positivas são maiores que a acumulação da tendência descendente, faça o câmbio.
Calcule a variação do preço de fechamento do ciclo atual em relação ao ciclo anterior xChange.
Classifique xChange, com a mudança positiva marcada como xPlusChange e a mudança negativa como xMinusChange.
Defina a acumulação positiva e negativa e a variável xPlusCF, xMinusCF, respectivamente, para a acumulação de mudanças positivas e negativas.
Calcule a variação positiva e negativa do ciclo:
xPlus = xPlusChange - xMinusCF
xMinus = xMinusChange - xPlusCF
xPlusTCF = sum(xPlus, Length)
xMinusTCF = sum(xMinus, Length)
if xPlusTCF > xMinusTCF
Faça mais.
else if xPlusTCF < xMinusTCF
Esvaziar.
A estratégia gera sinais de negociação ao seguir a tendência acumulada de mudanças positivas e negativas, comparando as maiores das forças de alta e baixa atuais, para determinar a direção possível do movimento futuro dos preços.
O uso de indicadores de dinâmica permite a captura de mudanças de tendência mais cedo do que os indicadores de preços.
Usando acumulação positiva e negativa e comparando, filtrando o ruído do mercado para determinar a direção das principais tendências.
O parâmetro customizável Length ajusta a sensibilidade, reduzindo o falso sinal.
Adição de um interruptor de negociação reversa, que pode ser adaptado de forma flexível a diferentes cenários de mercado.
A combinação com o uso de indicadores de tendência pode ser uma estratégia de combinação.
É fácil de entender, apropriado para aprendizagem e prática de iniciantes.
O comprimento ou a curta duração do parâmetro Length pode afetar o resultado.
A tendência é de que os sinais errados sejam produzidos perto de um ponto de reversão.
A estratégia não é apropriada, pois os sinais são frequentes em mercados de tendência e oscilação.
O uso de um interruptor de reversão pode ter efeitos psicológicos.
Filtragem com testes e validações apropriados, ou com combinação de outros indicadores.
Não é possível garantir que todos os sinais de negociação sejam lucrativos, portanto, é necessário estabelecer um limite de perda apropriado.
Pode ser combinado com outros indicadores de tendência auxiliares, como EMA, MACD, etc.
A adição de um parâmetro pode ser personalizado para calcular a variação positiva ou negativa.
Optimizar a escolha do parâmetro Length para que ele se adapte às mudanças.
Adição de um mecanismo de stop loss para controlar a perda individual.
Construir um sistema completo de negociação automática e fazer otimizar o feedback.
Tentar métodos de aprendizagem de máquina para treinar parâmetros e regras de negociação.
Esta estratégia foi concebida para ser um modelo básico de estratégia de negociação de tendências, com um conjunto de métodos de seguimento de tendências mais simples e fáceis de implementar. No entanto, na prática, é necessário prestar atenção ao ajuste de parâmetros e verificar o efeito.
/*backtest
start: 2022-10-01 00:00:00
end: 2023-10-07 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
////////////////////////////////////////////////////////////
// Copyright by HPotter v1.0 04/01/2018
// Trend continuation factor, by M.H. Pee
// The related article is copyrighted material from Stocks & Commodities.
//
//You can change long to short in the Input Settings
//WARNING:
//- For purpose educate only
//- This script to change bars colors.
////////////////////////////////////////////////////////////
strategy(title="Trend continuation factor")
Length = input(35, minval=1)
reverse = input(false, title="Trade reverse")
hline(0, color=green, linestyle=line)
xChange = mom(close, 1)
xPlusChange = iff(xChange > 0, xChange, 0)
xMinusChange = iff(xChange < 0, (xChange * -1), 0)
xPlusCF = iff(xPlusChange == 0, 0, xPlusChange + nz(xPlusCF[1], 1))
xMinusCF = iff(xMinusChange == 0, 0, xMinusChange + nz(xMinusCF[1], 1))
xPlus = xPlusChange - xMinusCF
xMinus = xMinusChange - xPlusCF
xPlusTCF = sum(xPlus, Length)
xMinusTCF = sum(xMinus, Length)
pos = iff(xPlusTCF > xMinusTCF, 1,
iff(xPlusTCF < xMinusTCF, -1, nz(pos[1], 0)))
possig = iff(reverse and pos == 1, -1,
iff(reverse and pos == -1, 1, pos))
if (possig == 1)
strategy.entry("Long", strategy.long)
if (possig == -1)
strategy.entry("Short", strategy.short)
barcolor(possig == -1 ? red: possig == 1 ? green : blue )
plot(xPlusTCF, color=blue, title="Plus TCF")
plot(xMinusTCF, color=red, title="Minus TCF")