Esta estratégia realiza decisões de negociação mais estáveis e eficientes através da integração de sinais de negociação duplos. Um é a estratégia de reversão combinando sinais de reversão de preço e indicadores estocásticos, e o outro é a estratégia de ruptura da linha central e do canal de preço. Os sinais de negociação das duas estratégias serão logicamente ANDed, ou seja, a posição será aberta apenas quando as duas estratégias emitirem sinais na mesma direção ao mesmo tempo. Este tipo de integração multi-estratégia pode filtrar alguns sinais inválidos e alcançar decisões de negociação mais confiáveis.
A parte da estratégia de reversão gera sinais de negociação quando o preço mostra um padrão de reversão por dois dias de negociação consecutivos e o indicador estocástico entrou na área de sobrecompra ou sobrevenda. Isso permite o uso de sinais de reversão de preço e sinais de sobrecompra / sobrevenda para confirmação dupla. A parte do centro de gravidade constrói canais superiores e inferiores ao redor da linha central de regressão linear do preço para gerar sinais de negociação quando o canal é quebrado. Os sinais de ruptura de canal também implicam que os preços estão começando a experimentar movimentos de tendência direcional.
As duas estratégias capturam oportunidades de valor e tendência, respectivamente. Ao ANDar logicamente os sinais da estratégia, a posição só é aberta quando as duas estratégias emitem sinais na mesma direção ao mesmo tempo. Isso pode efetivamente filtrar alguns sinais inválidos e tornar a estratégia final mais confiável.
A maior vantagem desta estratégia é a estabilidade e confiabilidade dos sinais. A combinação de estratégias de reversão e tendência capta oportunidades de negociação de reversão e tendência ao mesmo tempo, sem perder nenhum movimento importante. Enquanto isso, a operação AND lógica filtra alguns sinais inválidos, tornando a estratégia final mais confiável e evita ser enganada pelo ruído.
Além disso, a combinação de estratégias de reversão e tendência também alcança operações estáveis em vários prazos. A estratégia de reversão utiliza sinais de sobrecompra / sobrevenda de curto prazo, enquanto o centro de gravidade da estratégia é baseado em médias móveis de médio e longo prazo. Os prazos complementares podem gerar oportunidades de negociação sustentadas e estáveis.
O maior risco desta estratégia é a falha na correspondência de sinais das estratégias duais, o que leva a sinais de negociação insuficientes. Isso pode acontecer quando o preço está limitado e consolidando-se sem uma tendência direcional clara.
Além disso, a operação lógica AND das estratégias duais também pode perder algumas oportunidades de uma única estratégia.
Para mitigar os riscos, os parâmetros poderiam ser moderadamente relaxados para facilitar a correspondência e a abertura de posições com os sinais de estratégia.
Existem duas dimensões principais em que esta estratégia pode ser otimizada:
O primeiro é a otimização de parâmetros. Os parâmetros, incluindo os indicadores de Stoch e os canais de linha central, podem ser testados e otimizados para obter sinais mais alinhados. Isso pode ser alcançado através de mais backtests.
O segundo é introduzir mecanismos semelhantes às operações de seleção de ações. Porque esta estratégia é mais adequada para ações com tendências claras. Portanto, se as ações que atendem a certas condições podem ser selecionadas para negociação com base em indicadores específicos, isso melhoraria significativamente o desempenho geral da estratégia. Isso requer o projeto de um módulo de seleção de ações combinado com tendências de rotação da indústria, sistemas de média móvel, etc.
Esta estratégia atinge a dupla confirmação e a correspondência de decisões de negociação em vários prazos, integrando estratégias de reversão e tendência, ao mesmo tempo em que enfrenta o problema de oportunidades de negociação reduzidas devido à dificuldade na correspondência de sinais.
/*backtest start: 2023-12-03 00:00:00 end: 2024-01-02 00:00:00 period: 3h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 //////////////////////////////////////////////////////////// // Copyright by HPotter v1.0 18/07/2019 // 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 indicator is based on moving averages. On the basis of these, the // "center" of the price is calculated, and price channels are also constructed, // which act as corridors for the asset quotations. // // 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 CenterOfGravity(Length, m,Percent, SignalLine) => pos = 0 xLG = linreg(close, Length, m) xLG1r = xLG + ((close * Percent) / 100) xLG1s = xLG - ((close * Percent) / 100) xLG2r = xLG + ((close * Percent) / 100) * 2 xLG2s = xLG - ((close * Percent) / 100) * 2 xSignalR = iff(SignalLine == 1, xLG1r, xLG2r) xSignalS = iff(SignalLine == 1, xLG1s, xLG2s) pos := iff(close > xSignalR, 1, iff(close < xSignalS, -1, nz(pos[1], 0))) pos strategy(title="Combo Backtest 123 Reversal & Center Of Gravity", shorttitle="Combo", overlay = true) Length = input(14, minval=1) KSmoothing = input(1, minval=1) DLength = input(3, minval=1) Level = input(50, minval=1) //------------------------- LengthCoF = input(20, minval=1) m = input(5, minval=0) Percent = input(1, minval=0) SignalLine = input(1, minval=1, maxval = 2, title = "Trade from line (1 or 2)") reverse = input(false, title="Trade reverse") posReversal123 = Reversal123(LengthCoF, KSmoothing, DLength, Level) posCenterOfGravity = CenterOfGravity(Length, m,Percent, SignalLine) pos = iff(posReversal123 == 1 and posCenterOfGravity == 1 , 1, iff(posReversal123 == -1 and posCenterOfGravity == -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 )