
Dual Moving Average Convergence Trend Tracking Strategy: Esta estratégia de acompanhamento de tendências de contração de tendências de contração de tendências de contração de tendências de contração de tendências de contração de tendências de contração de tendências de contração de tendências de contração de tendências de contração de tendências de contração de tendências de contração de tendências de contração de tendências de contração de tendências de contração de tendências de contração de tendências de contração de tendências de contração de tendências de contração de tendências de contração de tendências de contração de tendências de contração de tendências de contração de tendências de contração de tendências de contração de tendências de contração de tendências de contração de tendências de contração de tendências de contração de tendências de contração de tendências de contração de tendências de contração de tendências de contração de tendências de contração de tendências de contração de tendências de contração de tendências de contração de tendências de contração de tendências de contração de tendências de tend
A estratégia primeiro calcula a média móvel rápida de 12 dias, a média móvel lenta de 26 dias e a média móvel ultra-lenta de 200 dias. Quando a média móvel rápida atravessa a média móvel lenta, um cruzamento com ouro indica o início de um mercado de touros; quando a média móvel rápida se move de cima para baixo e quebra a média móvel lenta, um cruzamento de morte indica o início de um mercado de ursos. A estratégia faz mais quando ocorre um cruzamento de ouro e faz espaço quando ocorre um cruzamento de morte.
Ao mesmo tempo, a estratégia combina o indicador MACD para determinar a direção da tendência. O MACD é composto por linhas rápidas, lentas e colunas MACD. Quando a linha rápida atravessa a linha lenta, é um sinal de múltiplas cabeças, e quando a linha rápida atravessa o sinal de cabeças vazias.
A dupla confirmação do MACD e do sistema de linha média lenta evita falsos sinais gerados por um único indicador, garantindo a entrada apenas no início da tendência.
A dupla confirmação do sistema de equilíbrio e do indicador MACD evita falsas rupturas e garante a entrada apenas no início da tendência.
Filtragem de médias móveis de 200 dias para evitar erros de negociação em períodos de turbulência.
Há uma configuração de Stop Loss para limitar a perda máxima.
Os parâmetros podem ser personalizados, como o comprimento da média móvel, o equilíbrio de perda de água, adaptando-se a diferentes variedades.
A estratégia é clara, simples, fácil de entender e de otimizar.
A estratégia de acompanhar tendências a longo prazo não consegue capturar oportunidades a curto prazo.
O efeito do rastreamento depende da configuração dos parâmetros, e os parâmetros errados não poderão capturar a tendência corretamente.
A posição de parada indevidamente definida pode ser muito relaxada ou muito tensa, resultando em expansão de perdas ou parada prematura.
A maior parte das posições são de longo prazo e exigem uma certa pressão financeira.
Optimizar os parâmetros de comprimento da média móvel para encontrar a melhor combinação.
Adicionar outros indicadores como sinais auxiliares de julgamento, como o indicador KDJ.
Optimizar estratégias de stop loss, como redução de stop loss, rastreamento de stop loss, etc.
Ajustar os parâmetros da média móvel de acordo com a variedade e o ciclo de negociação.
A quantidade de ligação pode filtrar falsos sinais, como o volume de transações.
A estratégia de rastreamento de tendências de contração de dupla linha de equilíbrio determina a direção da tendência calculando vários sistemas de equilíbrio e filtrando os sinais com o indicador MACD. Sua vantagem é que a idéia de operação é simples e clara, o risco é controlável e é adequado para rastrear a tendência. A estratégia pode ser melhorada de várias maneiras, como otimização de parâmetros, otimização de estratégias de parada e indicadores auxiliares.
/*backtest
start: 2022-12-21 00:00:00
end: 2023-12-27 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
strategy("Trend Strategy", shorttitle="TSTrend Strategy", overlay=true)
// Trend Strategy
// If the inverse logic is true, the strategy
// goes short. For the worst case there is a
// max intraday equity loss of 50% filter.
// Input
source = input(close)
fastLength = input(12, minval=1, title="MACD fast moving average")
slowLength=input(26,minval=1, title="MACD slow moving average")
signalLength=input(9,minval=1, title="MACD signal line moving average")
veryslowLength=input(200,minval=1, title="Very slow moving average")
switch1=input(true, title="Enable Bar Color?")
switch2=input(true, title="Enable Moving Averages?")
switch3=input(true, title="Enable Background Color?")
// Calculation
fastMA = sma(source, fastLength)
slowMA = sma(source, slowLength)
veryslowMA = sma(source, veryslowLength)
macd = fastMA - slowMA
signal = sma(macd, signalLength)
hist = macd - signal
// Colors
MAtrendcolor = change(veryslowMA) > 0 ? green : red
trendcolor = fastMA > slowMA and change(veryslowMA) > 0 and close > slowMA ? green : fastMA < slowMA and change(veryslowMA) < 0 and close < slowMA ? red : blue
bartrendcolor = close > fastMA and close > slowMA and close > veryslowMA and change(slowMA) > 0 ? green : close < fastMA and close < slowMA and close < veryslowMA and change(slowMA) < 0 ? red : blue
backgroundcolor = slowMA > veryslowMA and crossover(hist, 0) and macd > 0 and fastMA > slowMA and close[slowLength] > veryslowMA ? green : slowMA < veryslowMA and crossunder(hist, 0) and macd < 0 and fastMA < slowMA and close[slowLength] < veryslowMA ? red : na
bgcolor(switch3?backgroundcolor:na,transp=80)
barcolor(switch1?bartrendcolor:na)
// Output
F=plot(switch2?fastMA:na,color=trendcolor)
S=plot(switch2?slowMA:na,color=trendcolor,linewidth=2)
V=plot(switch2?veryslowMA:na,color=MAtrendcolor,linewidth=4)
fill(F,V,color=gray)
// Strategy
buyprice = low
sellprice = high
cancelLong = slowMA < veryslowMA
cancelShort = slowMA > veryslowMA
if (cancelLong)
strategy.cancel("MACDLE")
if crossover(hist, 0) and macd > 0 and fastMA > slowMA and close[slowLength] > veryslowMA
strategy.entry("MACDLE", strategy.long, stop=buyprice, comment="Bullish")
if (cancelShort)
strategy.cancel("MACDSE")
if crossunder(hist, 0) and macd < 0 and fastMA < slowMA and close[slowLength] < veryslowMA
strategy.entry("MACDSE", strategy.short, stop=sellprice, comment="Bearish")
// maxIdLossPcnt = input(50, "Max Intraday Loss(%)", type=float)
// strategy.risk.max_intraday_loss(maxIdLossPcnt, strategy.percent_of_equity)
//plot(strategy.equity, title="equity", color=red, linewidth=2, style=areabr)