
Esta estratégia combina indicadores de dinâmica de diferentes períodos de tempo para determinar a reversão da tendência do mercado em várias escalas de tempo. A estratégia usa o oscilador estocástico para determinar o ponto de reversão da tendência de curto prazo e combina o indicador de preços de alta e baixa / fechamento para determinar a tendência de médio e longo prazo em várias dimensões de tempo.
A estratégia é composta por duas partes:
A estratégia usa o Stochastic para determinar a reversão de tendências de curto prazo. Concretamente, se o preço de fechamento for mais alto do que o preço de fechamento e o Stochastic for mais baixo do que o preço de fechamento e o preço de fechamento for mais baixo do que o preço de fechamento e o preço de fechamento for mais baixo do que o preço de fechamento e o Stochastic for mais rápido do que o preço de fechamento.
O indicador reflete a volatilidade da linha K atual. Se o valor do indicador for maior, o fluxo atual aumentará e poderá ser revertido; se o valor do indicador for menor, o fluxo atual diminuirá e a tendência poderá ser mantida. A estratégia usa o valor do SMA do indicador para determinar a reversão da tendência da linha média.
A combinação de dois indicadores permite avaliar a reversão de tendências em curto e médio prazos, permitindo uma estratégia de negociação em várias escalas de tempo.
A estratégia de usar indicadores de curto e médio prazo simultaneamente pode garantir a confiabilidade do sinal de inversão e evitar falsos sinais causados por um único indicador.
Os parâmetros do oscilador estocástico e do indicador de preços de alta e baixa / fechamento podem ser ajustados de acordo com o mercado, o que torna a estratégia mais flexível.
A estratégia é baseada em Stochastic, auxiliada por tendências de médio e longo prazo, com uma estrutura simples e clara, fácil de entender e modificar.
A estrutura de estratégia é simples e universal, permitindo a introdução de mais indicadores e a construção de modelos multifatores.
A estratégia baseia-se na inversão e pode não funcionar bem em mercados de tendência contínua. Os parâmetros devem ser adequadamente ajustados para se adaptar a mercados de tendência.
Em situações de mercado anormais, Stochastic e (preço mais alto - preço mais baixo) / indicadores de preços de fechamento podem emitir sinais errados, e é necessário evitar o risco de falsos sinais.
Os parâmetros do Stochastic e do indicador (preço máximo - preço mínimo) / preço de fechamento precisam ser otimizados de acordo com a situação do mercado, caso contrário, podem afetar o desempenho da estratégia.
A estratégia é uma estratégia de inversão, onde os ganhos e perdas podem variar muito, e é necessário controlar as posições e os riscos.
Pode-se introduzir mais fatores no quadro existente, como volume de transações, outros indicadores de reversão, etc., para construir modelos multifatores.
Pode-se definir um stop loss móvel ou um stop loss de tempo, para controlar efetivamente os prejuízos de uma única transação.
Os parâmetros podem ser otimizados por meio de métodos mais sistemáticos, como algoritmos genéticos.
A aplicação de algoritmos de aprendizagem de máquina para treinamento de modelos de inversão de tendência pode melhorar ainda mais a precisão.
A introdução da análise emocional de dados não estruturados, como dados sociais, para auxiliar na previsão de pontos de inflexão.
Esta estratégia integra indicadores de duas dimensões de tempo de curto e médio prazo para determinar a reversão de tendências em vários períodos de tempo. É uma excelente estrutura de estratégia de reversão.
//@version=3
////////////////////////////////////////////////////////////
// Copyright by HPotter v1.0 23/05/2019
// This is combo strategies for get
// a cumulative signal. Result signal will return 1 if two strategies
// is long, -1 if all strategies is short and 0 if signals of strategies is not equal.
//
// First strategy
// This System was created from the Book "How I Tripled My Money In The
// Futures Market" by Ulf Jensen, Page 183. This is reverse type of strategies.
// The strategy buys at market, if close price is higher than the previous close
// during 2 days and the meaning of 9-days Stochastic Slow Oscillator is lower than 50.
// The strategy sells at market, if close price is lower than the previous close price
// during 2 days and the meaning of 9-days Stochastic Fast Oscillator is higher than 50.
//
// Second strategy
// This histogram displays (high-low)/close
// Can be applied to any time frame.
//
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
Reversal123(Length, KSmoothing, DLength, Level) =>
vFast = sma(stoch(close, high, low, Length), KSmoothing)
vSlow = sma(vFast, DLength)
pos = 0.0
pos := iff(close[2] < close[1] and close > close[1] and vFast < vSlow and vFast > Level, 1,
iff(close[2] > close[1] and close < close[1] and vFast > vSlow and vFast < Level, -1, nz(pos[1], 0)))
pos
HLCHist(input_barsback, input_percentorprice, input_smalength) =>
xPrice = (high-low)/close
xPriceHL = (high-low)
xPrice1 = iff(input_percentorprice, xPrice * 100, xPriceHL)
xPrice1SMA = sma(abs(xPrice1), input_smalength)
pos = 0.0
pos := iff(xPrice1SMA[input_barsback] > abs(xPrice1), 1,
iff(xPrice1SMA[input_barsback] < abs(xPrice1), -1, nz(pos[1], 0)))
pos
strategy(title="Combo Backtest 123 Reversal & (H-L)/C Histogram", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
input_barsback = input(4, title="Look Back")
input_percentorprice = input(false, title="% change")
input_smalength = input(13, title="SMA Length")
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posHLCHist = HLCHist(input_barsback, input_percentorprice, input_smalength)
pos = iff(posReversal123 == 1 and posHLCHist == 1 , 1,
iff(posReversal123 == -1 and posHLCHist == -1, -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)
if (possig == 0)
strategy.close_all()
barcolor(possig == -1 ? red: possig == 1 ? green : blue )