O recurso está a ser carregado... Carregamento...

Oscillador estocástico combinado e 123 Estratégia de reversão

Autora:ChaoZhang, Data: 2023-10-26 17:00:27
Tags:

img

Resumo

Esta estratégia combina o padrão de reversão 123 e o oscilador estocástico para gerar sinais de compra quando o preço mostra reversão inferior e o oscilador estocástico também reverteu a partir do fundo.

Estratégia lógica

  1. 123 Estratégia de reversão

    • O sinal de compra é gerado se o preço de fechamento for superior ao preço de fechamento dos 2 dias anteriores e a linha rápida estocástica de 9 dias estiver abaixo da linha lenta e abaixo de 50.

    • O sinal de venda é gerado se o preço de fechamento for inferior ao preço de fechamento dos 2 dias anteriores e a linha rápida estocástica de 9 dias estiver acima da linha lenta e acima de 50.

  2. Estratégia de oscilador estocástico

    • O sinal de compra é gerado se a linha estocástica % K cruzar acima da faixa superior (padrão 20).

    • O sinal de venda é gerado se a linha %K estocástica for cruzada abaixo da faixa inferior (padrão 80).

  3. Confirmação dupla

    O sinal de compra só é gerado quando ambas as estratégias 123 reversão e estocástica dão sinal de compra.

Vantagens

  1. A confirmação dupla filtra o ruído e melhora a precisão do sinal.

  2. 123 reversão capta reversões de baixo e de cima.

  3. Stochastic identifica sobrecompra e sobrevenda de forma eficaz, grande correspondência com 123 reversão.

  4. Alta flexibilidade de otimização com ajuste de parâmetros.

  5. Lógica simples, fácil de entender, boa para iniciantes.

Riscos

  1. A confirmação dupla pode perder algumas oportunidades e reduzir a frequência de negociação.

  2. O estocástico pode gerar sinais falsos, precisa de um exame cuidadoso.

  3. É necessário ajustar os parâmetros adequadamente, configurações inadequadas afetam o desempenho.

  4. Só funciona para mercados com padrões de reversão, não para tendências persistentes.

  5. Siga estritamente os sinais estratégicos, evite preconceitos de seu próprio julgamento.

Soluções de riscos: Otimizar parâmetros, seguir rigorosamente os sinais, ajustar as condições de mercado aplicáveis.

Orientações de otimização

  1. Otimize os parâmetros estocásticos para maior estabilidade.

  2. Adicione estratégia de stop loss.

  3. Adicionar filtros como confirmação de volume para melhorar a qualidade do sinal.

  4. Teste combinações de diferentes estratégias de reversão e estocástico.

  5. Utilize o aprendizado de máquina para treinar e otimizar parâmetros.

  6. Aplicar estratégias em diferentes mercados para testar a robustez.

  7. Explorar combinações com outros indicadores.

Conclusão

Esta estratégia combina oscilador estocástico e padrão de reversão 123, que capta efetivamente oportunidades de reversão inferior. Em comparação com um único indicador, a combinação de múltiplos indicadores melhora significativamente a qualidade do sinal e a taxa de vitória. Embora ainda haja espaço para melhoria, a lógica geral é simples e fácil de entender, tornando-a ideal para a prática de negociação ao vivo dos iniciantes. Com testes e otimização repetidos, os parâmetros podem se tornar mais robustos para resultados positivos consistentes.


/*backtest
start: 2023-09-25 00:00:00
end: 2023-10-25 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 07/07/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 back testing strategy generates a long trade at the Open of the following 
// bar when the %K line crosses up UpBand line.
// It generates a short trade at the Open of the following bar when the %K line 
// crosses down DownBand line.
//
// 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


Stochastic(Length,DLength,UpBand,DownBand) =>
    pos = 0.0
    vFast = stoch(close, high, low, Length)
    vSlow = sma(vFast, DLength)
    pos := iff(vFast > UpBand, 1,
	         iff(vFast < DownBand, -1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & Stochastic", 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)
//-------------------------
line2 = input(true, "---- Stochastic ----")
LengthS = input(7, minval=1)
DLengthS = input(3, minval=1)
UpBand = input(20, minval=1)
DownBand = input(80, minval=1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posStochastic = Stochastic(LengthS,DLengthS,UpBand,DownBand)
pos = iff(posReversal123 == 1 and posStochastic == 1 , 1,
	   iff(posReversal123 == -1 and posStochastic == -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 )

Mais.