Esta estratégia combina a estratégia de negociação de reversão 123 proposta por Ulf Jensen em seu livro com o Moving Average Convergence Divergence Oscillator (KST) proposto por Martin Pring para construir uma estratégia quantitativa que gera sinais de negociação utilizando padrões de reversão e indicadores de oscilação de tendência.
A lógica central desta parte da estratégia consiste em monitorizar se o preço de fechamento da ação reverteu nos últimos dois dias, especificamente:
Se os preços de fechamento nos últimos 2 dias estiverem em tendência descendente, ou seja, o preço de fechamento do dia anterior for superior ao anterior; e o preço de fechamento de hoje se recuperar para cima do dia anterior, que é superior ao preço de fechamento do dia anterior, pode ser julgado como uma inversão de fundo e um sinal de compra é gerado.
Em contrapartida, se os preços de encerramento nos últimos dois dias estiverem em tendência ascendente, ou seja, o preço de encerramento do dia anterior for inferior ao anterior; e o preço de encerramento de hoje cair em relação ao dia anterior, que é inferior ao preço de encerramento do dia anterior, pode ser julgado como uma inversão superior e um sinal de venda é gerado.
Esta parte da estratégia também combina o indicador estocástico para determinar se está sobrecomprado ou sobrevendido para filtrar sinais de negociação não reversíveis.
No indicador KST, o ROC representa a taxa de variação do preço, com o cálculo dos ROC de 6 dias, 10 dias, 15 dias e 20 dias, respectivamente, e a realização de uma soma ponderada após a suavização da média móvel de diferentes parâmetros para construir o indicador KST.
Quando a linha rápida cruza acima da linha lenta, é julgada como alta; quando a linha rápida cruza abaixo da linha lenta, é julgada como baixa.
Esta estratégia utiliza o KST>0 para julgar de alta e o KST<0 para julgar de baixa.
Os sinais de julgamento da estratégia de reversão 123 e o indicador KST são combinados:
Pode-se ver que esta estratégia utiliza de forma abrangente dois tipos diferentes de indicadores técnicos, o padrão de reversão e o julgamento do indicador, e combina as suas forças de sinal para conceber uma estratégia de negociação quantitativa mais avançada.
Métodos como ajuste de parâmetros, otimização da lógica de reversão, introdução do mecanismo de stop loss podem ser usados para controlar riscos.
Esta estratégia integra vários tipos diferentes de indicadores técnicos. Através da confirmação dupla e otimização de combinações, ele projetou cientificamente uma estratégia de negociação quantitativa relativamente forte, e é um modelo de combinação de estratégias. Seu desempenho na negociação ao vivo ainda está por ser verificado, mas da perspectiva da conceptualização teórica, considera abrangentemente vários cenários, resolve as limitações de indicadores únicos e vale a pena mais pesquisa e aplicação.
/*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 //////////////////////////////////////////////////////////// // Copyright by HPotter v1.0 23/03/2021 // This is combo strategies for get a cumulative signal. // // 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 indicator really is the KST indicator presented by Martin Pring. // the KST indicator is a weighted summed rate of change oscillator that // is designed to identify meaningful turns. Various smoothed rate of change // indicators can be combined to form different measurements of cycles. // // 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 MROC() => pos = 0.0 xROC6 = sma(roc(close, 6), 10) xROC10 = sma(roc(close, 10), 10) xROC15 = sma(roc(close, 15), 9) xROC20 = sma(roc(close, 20), 15) nRes = xROC6 + (2 * xROC10) + (3 * xROC15) + (4 * xROC20) pos := iff(nRes > 0, 1, iff(nRes < 0, -1, nz(pos[1], 0))) pos strategy(title="Combo Backtest 123 Reversal & MovROC (KST indicator)", shorttitle="Combo", overlay = true) line1 = input(true, "---- 123 Reversal ----") Length = input(14, minval=1) KSmoothing = input(1, minval=1) DLength = input(3, minval=1) Level = input(50, minval=1) //------------------------- reverse = input(false, title="Trade reverse") posReversal123 = Reversal123(Length, KSmoothing, DLength, Level) posMROC = MROC() pos = iff(posReversal123 == 1 and posMROC == 1 , 1, iff(posReversal123 == -1 and posMROC == -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 ? #b50404: possig == 1 ? #079605 : #0536b3 )