
Esta estratégia é usada para avaliar a tendência do mercado e capturar a chance de uma reversão da tendência, calculando o grau de desvio do preço em relação à média móvel plana. Pertence a uma estratégia de acompanhamento de tendências, cuja ideia principal é comprar ou vender quando a média móvel plana é quebrada.
Calcule a média móvel ponderada de 3 períodos do preço FPrice, como uma média móvel lisa.
Calcule o diferencial padrão de FPrice nos últimos 17 dias, stdev, e a média móvel simples em 2 no dia 17.
Calcule o grau de desvio do preço em relação à média Rate1=(FPrice-ema2) /stdev。
Quando o Rate1<-1 e começa a subir, é considerado uma ruptura da média de baixa, gerando um sinal de compra.
Quando o Rate1>1 começa a cair, é considerado uma ruptura da média ascendente, gerando um sinal de venda.
Abrir ou fechar posições de acordo com o sinal.
A estratégia usa o intervalo de desvio padrão de um preço que quebra a média para julgar a reversão de tendência e se adapta à volatilidade do mercado ajustando dinamicamente o intervalo de referência. Quando o preço quebra mais de um desvio padrão do lado da média, gera um sinal de negociação.
A utilização de intervalos de referência dinâmicos permite uma adaptação automática à volatilidade do mercado.
A média móvel lisa filtra eficazmente o ruído de curta duração.
A definição de um limite razoável de ruptura para evitar transações frequentes.
Utilize a dinâmica do preço em direção à média como filtro para evitar falsas rupturas.
A lógica da estratégia é simples, clara, fácil de entender e de implementar.
Pode ser ajustado de acordo com os parâmetros do mercado, e aplica-se a diferentes variedades de negociação.
Pode ser usado em combinação com outros indicadores para melhorar a eficácia da estratégia.
Quando o mercado está em baixa volatilidade por um longo período, a oportunidade de negociação pode ser menor.
Se o parâmetro de desvio padrão for muito grande ou muito pequeno, perderá melhores oportunidades ou produzirá muitos sinais falsos.
Quando os preços flutuam fortemente, a diferença padrão perde o seu efeito, resultando em sinais errados.
No período anterior à mudança de tendência, há mais sinais de ruptura falsa.
O sistema de média não é sensível a ajustes de curto prazo e pode perder oportunidades de curta linha.
Os parâmetros e as condições de filtragem devem ser razoavelmente personalizados para se adaptarem a um determinado ambiente de mercado.
Otimizar o número de dias e o tipo de média móvel para as diferentes variedades.
Ajustar o parâmetro do múltiplo da diferença padrão para encontrar o melhor intervalo de negociação de referência.
Aumentar as condições de filtragem, como indicadores de dinâmica de preços, para reduzir os sinais de falsa ruptura.
Combinado com o indicador de volatilidade, os parâmetros são ajustados dinamicamente de acordo com as flutuações do mercado.
A combinação com outras estratégias de ruptura semelhantes aumenta a taxa de vitória.
Considere reduzir o risco de gestão de posições antes da mudança de tendência.
Adicionar estratégias de stop loss para controlar as perdas individuais.
A estratégia tem uma visão geral clara, pode identificar efetivamente os pontos de reversão da tendência de preços, pode ser adaptada a diferentes ambientes de mercado através da otimização e combinação de parâmetros. Mas é necessário ter cuidado para controlar o risco e evitar sinais errados em situações de forte volatilidade. Se otimizado adequadamente, é uma estratégia de acompanhamento de tendências simples e prática.
/*backtest
start: 2023-09-22 00:00:00
end: 2023-10-22 00:00:00
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Mustafaozver
//@version=4
strategy("Escaping of Rate from Avarage By Mustafa OZVER", "EoRfA", overlay=false)
//strategy("Escaping of Rate from Avarage By Mustafa OZVER", "EoRfA", overlay=false)
src = input(ohlc4,"Source")
FPrice = wma(src,3)
len = input(17,"Length")
stdev = stdev(FPrice,len)
ema2 = ema(FPrice,len)
Rate1 = (FPrice - ema2) / stdev
//bgcolor(color=((stdev/ema)>0.0015)?color.green:#00000000,transp=80)
colorG = color.lime
colorR = color.red
hline(0,linestyle=hline.style_solid,editable=false)
hline1=hline(1,linestyle=hline.style_dotted,editable=false)
hlinen1=hline(-1,linestyle=hline.style_dotted,editable=false)
fill(hline1,hlinen1,color=color.silver,transp=85,editable=true)
//plot(Rate,color=(Rate>0?colorG:colorR),transp=75,style=plot.style_area,editable=false)
plot(Rate1,title="ESC1",color=(Rate1>0?colorG:colorR),style=plot.style_line,linewidth=1,editable=true)
BUYSIGNAL = Rate1 < -1 and change(Rate1) > 0
SELLSIGNAL = Rate1 > 1 and change(Rate1) < 0
if (BUYSIGNAL)
strategy.order("LONG1",true)
//strategy.close("SHORT1")
if (SELLSIGNAL)
// strategy.order("SHORT1",false)
strategy.close("LONG1")