Esta estratégia é chamada de
A estratégia primeiro calcula uma linha de regressão linear de curto e longo prazo. A regressão linear de curto prazo tem um período de 100 dias, e a de longo prazo tem um período de 150 dias. Quando a linha de regressão de curto prazo cruza acima da linha de longo prazo, um sinal de compra é gerado. Quando a linha de curto prazo cruza abaixo da linha de longo prazo, um sinal de venda é gerado.
As linhas de regressão lineares podem refletir a direção da tendência de longo prazo dos preços. A linha de curto prazo com um período menor é mais sensível às mudanças de preço e pode capturar tempos de reversão de curto prazo. A linha de longo prazo com um período maior representa a tendência de equilíbrio de longo prazo dos preços. Quando as duas linhas se cruzam, ela indica que as tendências de curto e longo prazo estão se revertendo, portanto, sinais de negociação podem ser gerados.
A vantagem desta estratégia é utilizar a abordagem clássica de análise técnica de cruzamento de média móvel, com a adição de análise de regressão linear, que pode identificar reversões de preços em ambas as dimensões de tempo de longo prazo e de curto prazo. No entanto, as linhas de regressão linear são suscetíveis a dados atípicos e apresentam algum atraso.
Para filtrar alguns sinais falsos, esta estratégia incorpora limites de condição de tempo, executando transações apenas durante intervalos de datas especificados. Isso pode reduzir as transações ineficazes até certo ponto.
Em conclusão, a estratégia de cruzamento de média móvel dupla combina múltiplas técnicas analíticas e pode capturar oportunidades de negociação complexas.
/*backtest start: 2022-09-12 00:00:00 end: 2023-09-12 00:00:00 period: 2d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 strategy(title="Linear Regression Curve CrossOver Strategy", shorttitle="LRC Crossover", overlay=true) src = close len1 = input(defval=100, minval=1, title="Length") offset = 0 outfast = linreg(src, len1, offset) plot(outfast,color=blue) len2 = input(defval=150, minval=1, title="Length") outslow = linreg(src, len2, offset) plot(outslow,color=red) yearfrom = input(2018) yearuntil =input(2019) monthfrom =input(1) monthuntil =input(12) dayfrom=input(1) dayuntil=input(31) if ( crossover(outfast,outslow)) strategy.entry("BUY", strategy.long, stop=close, oca_name="TREND", comment="BUY") else strategy.cancel(id="BUY") if ( crossover(outslow,outfast) ) strategy.entry("SELL", strategy.short,stop=close, oca_name="TREND", comment="SELL") else strategy.cancel(id="SELL")