
A estratégia combina a inversão de forma 123 e a estratégia de fácil movimentação, com o objetivo de negociar capturando os pontos de inflexão dos preços. A estratégia de inversão de forma 123 gera sinais quando os preços das ações formam um modelo específico por três dias consecutivos. A estratégia de fácil movimentação (EOM) usa a mudança de preço e volume de transação para determinar a dinâmica do mercado.
A estratégia consiste em duas partes:
A combinação de dois sinais, quando o Easy of Movement e a forma 123 fazem simultaneamente sinais múltiplos, abrem posições múltiplas; quando o Easy of Movement e a forma 123 fazem simultaneamente sinais vazios, abrem posições vazias.
A estratégia tem as seguintes vantagens:
Combinação de cenários tecnológicos e dinâmicas de mercado para melhorar a precisão do sinal
123 forma de captura de inversão de pontos de inflexão, fácil de mover para avaliar a dinâmica da tendência, os dois complementam-se
Indicador Stoch evita reiteradas posições em equilíbrio
A lógica de transação é simples, clara e fácil de implementar.
Parâmetros personalizáveis para diferentes cenários de mercado
A estratégia também apresenta alguns riscos:
Excesso de dependência de configurações de parâmetros, os parâmetros errados podem levar a transações frequentes ou a fugas de formulários
A combinação de várias condições de filtragem pode gerar uma frequência de sinal muito baixa.
Indicadores móveis sensíveis às flutuações do mercado, que podem provocar falsos sinais
O mercado de ações está em baixa, mas é preciso controlar a posição.
Aplica-se apenas a ações de tendência, não é adequado para a liquidação
A estratégia pode ser otimizada de várias formas:
Parâmetros de otimização, ajustando a rigidez das condições de filtragem, equilibrando a frequência de negociação e a qualidade do sinal
Adesão a estratégias de stop loss e controle rigoroso de perdas individuais
Combinação de filtros de tendência para evitar negociações adversas
Adição de módulo de gestão de fundos para ajustar posições de forma dinâmica com base na volatilidade
Otimizar parâmetros usando métodos de aprendizagem de máquina para adaptá-los dinamicamente ao mercado
A estratégia integra indicadores técnicos de preços e indicadores de dinâmica de mercado, confirmando a qualidade da tendência ao capturar os pontos de inflexão, com alto valor de combate. Mas também é necessário ter em conta o risco de controlar a frequência de negociação, perdas individuais e operações de contraste.
/*backtest
start: 2023-10-15 00:00:00
end: 2023-11-14 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
////////////////////////////////////////////////////////////
// Copyright by HPotter v1.0 14/04/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
// This indicator gauges the magnitude of price and volume movement.
// The indicator returns both positive and negative values where a
// positive value means the market has moved up from yesterday's value
// and a negative value means the market has moved down. A large positive
// or large negative value indicates a large move in price and/or lighter
// volume. A small positive or small negative value indicates a small move
// in price and/or heavier volume.
// A positive or negative numeric value. A positive value means the market
// has moved up from yesterday's value, whereas, a negative value means the
// market has moved down.
//
// 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
EOM(BuyZone, SellZone) =>
pos = 0
xHigh = high
xLow = low
xVolume = volume
xHalfRange = (xHigh - xLow) * 0.5
xMidpointMove = mom(xHalfRange, 1)
xBoxRatio = iff((xHigh - xLow) != 0, xVolume / (xHigh - xLow), 0)
nRes = iff(xBoxRatio != 0, 1000000 * ((xMidpointMove - xMidpointMove[1]) / xBoxRatio), 0)
pos := iff(nRes > BuyZone, 1,
iff(nRes < SellZone, -1, nz(pos[1], 0)))
pos
strategy(title="Combo Backtest 123 Reversal & Ease of Movement (EOM)", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
BuyZone = input(4000, minval=1)
SellZone = input(-4000)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posEOM = EOM(BuyZone, SellZone)
pos = iff(posReversal123 == 1 and posEOM == 1 , 1,
iff(posReversal123 == -1 and posEOM == -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 )