Estratégia quantitativa de reversão de lucro de clique duplo


Data de criação: 2023-11-22 10:03:04 última modificação: 2023-11-22 10:03:04
cópia: 0 Cliques: 610
1
focar em
1617
Seguidores

Estratégia quantitativa de reversão de lucro de clique duplo

Visão geral

Esta estratégia utiliza primeiro a forma 123 para julgar o sinal de reversão, e depois combina o oscilador quantitativo de Klinger como filtro, para alcançar uma estratégia quantitativa de dupla vantagem que capta eficientemente a oportunidade de reversão.

Princípio da estratégia

A estratégia é composta por duas partes:

  1. A parte do sinal de inversão de julgamento de forma 123: quando o preço de fechamento encerra o terceiro dia após 2 dias consecutivos de queda, e o indicador de stoch é baixo para o topo; quando o preço de fechamento encerra o terceiro dia após 2 dias consecutivos de alta, e o indicador de stoch é alto para o topo.

  2. A parte do oscilador quantitativo de Klinger: o oscilador quantitativo de Klinger combina a amplitude de flutuação dos preços e a mudança no volume de transações para determinar o fluxo de entrada e saída de fundos. Quando o oscilador quantitativo atravessa sua média, é um sinal de múltiplas cabeças; Quando atravessa sua média, é um sinal de cabeças vazias.

Por fim, a estratégia combinou os dois sinais acima mencionados, e a dupla vantagem determinou a entrada final.

Análise de vantagens

A maior vantagem da estratégia é que a combinação de reversão de forma e quantidade de energia indicadores, pode efetivamente capturar a oportunidade de reversão. Além disso, usando o indicador de toque para evitar falsas rupturas, e oscilador de quantificação de Klinger para julgar o fluxo de capital real, pode garantir a precisão do tempo de entrada.

Análise de Riscos

O principal risco desta estratégia reside no julgamento da forma invertida e no problema de configuração de parâmetros. Como há um certo atraso no sinal de reversão, é necessário garantir que a configuração de parâmetros seja razoável e evitar que se perca o melhor momento de reversão. Além disso, a forma de reversão em si também pode ter falhas.

Para reduzir o risco, os parâmetros podem ser apropriadamente otimizados, tornando o sinal de reversão mais sensível e oportuno. Também podem ser adicionadas outras condições de filtragem, garantindo o número e a amplitude suficientes de reversões, evitando a ampliação da reversão.

Direção de otimização

A estratégia pode ser usada para otimizar o espaço para ajustes de parâmetros e adicionar outros julgamentos auxiliares. Em particular, pode ser apropriadamente reduzido o parâmetro do indicador de toque, otimizando a sensibilidade para julgamentos de forma 123. Também pode ser usado para combinar os principais indicadores e formas atuais, como adicionar o MACD Gold Fork Dead Fork, ou julgamentos de duplo top / bottom.

Além disso, pode-se considerar o ajuste dinâmico das condições de stop loss e stop loss, para que a estratégia seja mais adaptada às mudanças do mercado. Também pode-se combinar o aprendizado de máquina para otimizar os parâmetros em tempo real.

Resumir

Esta estratégia combina a teoria clássica de reversão com indicadores de tecnologia de energia quântica para capturar eficientemente as oportunidades de reversão. O espaço de otimização é grande e tem potencial para aumentar ainda mais o efeito, vale a pena testar em campo e otimizar continuamente.

Código-fonte da estratégia
/*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/12/2020
// 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
// The Klinger Oscillator (KO) was developed by Stephen J. Klinger. Learning 
// from prior research on volume by such well-known technicians as Joseph Granville, 
// Larry Williams, and Marc Chaikin, Mr. Klinger set out to develop a volume-based 
// indicator to help in both short- and long-term analysis.
// The KO was developed with two seemingly opposite goals in mind: to be sensitive 
// enough to signal short-term tops and bottoms, yet accurate enough to reflect the 
// long-term flow of money into and out of a security.
// The KO is based on the following tenets:
// Price range (i.e. High - Low) is a measure of movement and volume is the force behind 
// the movement. The sum of High + Low + Close defines a trend. Accumulation occurs when 
// today's sum is greater than the previous day's. Conversely, distribution occurs when 
// today's sum is less than the previous day's. When the sums are equal, the existing trend 
// is maintained.
// Volume produces continuous intra-day changes in price reflecting buying and selling pressure. 
// The KO quantifies the difference between the number of shares being accumulated and distributed 
// each day as "volume force". A strong, rising volume force should accompany an uptrend and then 
// gradually contract over time during the latter stages of the uptrend and the early stages of 
// the following downtrend. This should be followed by a rising volume force reflecting some 
// accumulation before a bottom develops.
//
// 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

KVO(TrigLen,FastX,SlowX) =>
    pos = 0.0
    xTrend = iff(hlc3 > hlc3[1], volume * 100, -volume * 100)
    xFast = ema(xTrend, FastX)
    xSlow = ema(xTrend, SlowX)
    xKVO = xFast - xSlow
    xTrigger = ema(xKVO, TrigLen)
    pos := iff(xKVO > xTrigger, 1,
    	     iff(xKVO < xTrigger, -1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & Klinger Volume Oscillator", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
TrigLen = input(13, minval=1)
FastX = input(34, minval=1)
SlowX = input(55, minval=1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posKVO = KVO(TrigLen,FastX,SlowX)
pos = iff(posReversal123 == 1 and posKVO == 1 , 1,
	   iff(posReversal123 == -1 and posKVO == -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 )