Esta estratégia identifica os máximos e mínimos dos preços através do cálculo de médias móveis e variações em diferentes períodos de tempo para determinar a tendência e a volatilidade.
A lógica central desta estratégia é calcular médias móveis e variações em diferentes períodos de tempo recentes. Especificamente, calcula médias móveis de 5 dias, 4 dias e 3 dias (ma, mb, mc) e variações (da, db, dc). Em seguida, compara os tamanhos e seleciona o período com a maior variação para representar a tendência atual. Finalmente, multiplica a variação ao quadrado do período representativo pela sua média móvel para obter a curva final wg.
Assim, quando o preço entra em ascensão ou em descensão, o período representativo e a sua variância mudarão significativamente, fazendo com que o wg mude de forma acentuada, conseguindo a identificação de máximos e mínimos.
Esta ideia de julgar as mudanças de tendência com base em diferentes períodos é eficaz e pode identificar claramente os pontos de inflexão dos preços.
O cálculo da média móvel e da variância também é simples e eficiente.
Os períodos utilizados nesta estratégia são curtos. Para fins de médio a longo prazo, o julgamento pode não ser suficientemente preciso e abrangente. As flutuações de preços a curto prazo podem causar erros de julgamento.
Além disso, a ponderação das médias móveis e das variações afeta os resultados do julgamento.
Poderiam ser adicionados mais períodos de duração diferente para formar uma combinação para tornar a decisão mais abrangente, por exemplo, 10 dias, 20 dias para fins de médio a longo prazo.
Os sistemas de ponderação podem também ser testados para tornar a configuração de ponderação mais flexível.
Além disso, poderão ser incorporados outros indicadores, como o volume anormal de negociação, para evitar ser enganado pela negociação por arbitragem.
A lógica geral desta estratégia é clara e fácil de entender, usando médias móveis e variações para julgar a tendência de preços e a volatilidade, e depois combinando-as para produzir uma curva que possa identificar claramente altos e baixos. Tal julgamento combinado de vários períodos pode capturar efetivamente as características do mercado de curto e longo prazo, melhorando a precisão da detecção de pontos de inflexão.
/*backtest start: 2024-02-12 00:00:00 end: 2024-02-19 00:00:00 period: 12h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 strategy("x²", overlay=false) a1=(close[2]-close[3])/1 a2=(close[1]-close[3])/4 a3=(close[0]-close[3])/9 b1=(close[3]-close[4])/1 b2=(close[2]-close[4])/4 b3=(close[1]-close[4])/9 b4=(close[0]-close[4])/16 c1=(close[4]-close[5])/1 c2=(close[3]-close[5])/4 c3=(close[2]-close[5])/9 c4=(close[1]-close[5])/16 c5=(close[0]-close[5])/25 ma=(a1+a2+a3)/3 da=(a1-ma)*(a1-ma) da:=da+(a2-ma)*(a2-ma) da:=da+(a3-ma)*(a3-ma) da:=sqrt(da) da:=min(2, da) da:=1-da/2 da:=max(0.001, da) mb=(b1+b2+b3+b4)/4 db=(b1-mb)*(b1-mb) db:=db+(b2-mb)*(b2-mb) db:=db+(b3-mb)*(b3-mb) db:=db+(b4-mb)*(b4-mb) db:=sqrt(db) db:=min(2, db) db:=1-db/2 db:=max(0.001, db) mc=(c1+c2+c3+c4+c5)/5 dc=(c1-mc)*(c1-mc) dc:=dc+(c2-mc)*(c2-mc) dc:=dc+(c3-mc)*(c3-mc) dc:=dc+(c4-mc)*(c4-mc) dc:=dc+(c5-mc)*(c5-mc) dc:=sqrt(dc) dc:=min(2, dc) dc:=1-dc/2 dc:=max(0.001, dc) g=close if(da>db and da>dc) g:=da*da*ma else if(db > da and db > dc) g:=db*db*mb else g:=dc*dc*mc wg=wma(g, 2) plot(wg) plot(0, color=black) longCondition = true //crossover(sma(close, 14), sma(close, 28)) if (longCondition) strategy.entry("My Long Entry Id", strategy.long) shortCondition = true //crossunder(sma(close, 14), sma(close, 28)) if (shortCondition) strategy.entry("My Short Entry Id", strategy.short)