123 Estratégia combinada de inversão e de bandas STARC

Autora:ChaoZhang, Data: 2023-12-04 13:38:30
Tags:

img

Resumo

Esta estratégia gera sinais de negociação mais precisos, combinando a estratégia 123 Reversal e a estratégia STARC Bands. A estratégia 123 Reversal julga as oportunidades de rebote inferior através de padrões de reversão de linha K. A estratégia STARC Bands usa quebras de preços de bandas para determinar a direção da tendência. Usando ambas as estratégias pode tornar os sinais de negociação mais confiáveis, ao mesmo tempo em que utiliza as vantagens de cada estratégia.

Estratégia lógica

123 Estratégia de reversão

Esta estratégia se originou na página 183 do livro How I Tripled My Money in The Futures Market de Ulf Jensen. A ideia de negociação é tomar posições longas quando os preços mostram reversões para baixo como oportunidades para rebotes inferiores, e tomar posições curtas quando os preços mostram reversões para cima como oportunidades para reversões de tendência. As regras específicas são:

Quando o preço de fechamento for superior ao preço de fechamento do dia anterior por dois dias consecutivos, e a média móvel de 9 dias da linha lenta K estiver abaixo de 50, vá longo.

Quando o preço de fechamento for inferior ao preço de fechamento do dia anterior por dois dias consecutivos, e a média móvel de 9 dias da linha rápida K for superior a 50, vá para curto.

Estratégia das Bandas STARC

Esta estratégia julga a direção da tendência traçando bandas em torno de uma média móvel simples de curto prazo do preço. A banda superior é construída adicionando a faixa média verdadeira (ATR) acima da média móvel. A banda inferior é construída subtraindo ATR da média móvel.

STARC significa Stoller Average Range Channels. O indicador recebeu o nome de seu criador, Manning Stoller.

Análise das vantagens

O uso de ambas as estratégias de 123 Reversal e STARC Bands melhora a precisão dos sinais de negociação. A estratégia de 123 Reversal capta oportunidades de reversão. A estratégia de STARC Bands julga a direção da tendência. As duas estratégias se complementam para reduzir os falsos sinais e melhorar a taxa de vitória.

Além disso, a estratégia 123 Reversal ajuda a evitar perseguir novos altos ou baixos após a ruptura do mercado.

Análise de riscos

O maior risco desta estratégia é a incapacidade de evitar completamente a perda de negócios e perdas consecutivas. Embora a combinação das duas estratégias possa reduzir sinais falsos, julgamentos incorretos ainda podem ocorrer sob certas condições de mercado.

Outro risco está nas configurações inadequadas de parâmetros que podem levar a um desempenho estratégico deficiente.

Orientações de otimização

A estratégia pode ser melhorada:

  1. Adicionar estratégias de stop loss, como paradas de preço ou paradas de indicador para evitar grandes operações perdedoras;

  2. Adicionar condições de entrada, como a confirmação de preços, para evitar preços de entrada desfavoráveis;

  3. Realizar a otimização dos parâmetros para encontrar as combinações de parâmetros mais adequadas para o produto e para o período;

  4. Adicionar ideias dinâmicas de saída para ajustar posições com base nas alterações do mercado.

Resumo

Esta estratégia combina as estratégias 123 Reversal e STARC Bands, utilizando as vantagens de ambas as estratégias na avaliação de inversões de tendência e direção. Pode efetivamente reduzir sinais falsos e melhorar a eficiência da negociação. Também otimiza problemas existentes no uso de qualquer estratégia sozinha. Através da otimização contínua, esta estratégia pode se tornar uma estratégia de negociação quantitativa estável e confiável.


/*backtest
start: 2023-11-26 00:00:00
end: 2023-12-03 00:00:00
period: 45m
basePeriod: 5m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 28/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
// A type of technical indicator that is created by plotting two bands around 
// a short-term simple moving average (SMA) of an underlying asset's price. 
// The upper band is created by adding a value of the average true range 
// (ATR) - a popular indicator used by technical traders - to the moving average. 
// The lower band is created by subtracting a value of the ATR from the SMA.
// STARC is an acronym for Stoller Average Range Channels. The indicator is 
// named after its creator, Manning Stoller.
//
// 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


STARC(LengthMA,LengthATR,K) =>
    pos = 0.0
    xMA = sma(close, LengthMA)
    xATR = atr(LengthATR)
    xSTARCBandUp = xMA + xATR * K
    xSTARCBandDn = xMA - xATR * K
    pos := iff(close > xSTARCBandUp, 1,
             iff(close < xSTARCBandDn, -1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & STARC Bands", 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, "---- STARC Bands ----")
LengthMA = input(5, minval=1)
LengthATR = input(15, minval=1)
K = input(1.33, minval=0.01, step = 0.01)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posSTARC = STARC(LengthMA,LengthATR,K)
pos = iff(posReversal123 == 1 and posSTARC == 1 , 1,
	   iff(posReversal123 == -1 and posSTARC == -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.