
A estratégia de negociação de cruzamento de duas equações é uma estratégia de acompanhamento de tendências. Utiliza o cruzamento da média móvel rápida (MACD) e da média móvel lenta como um sinal de compra e venda. Um sinal de compra é gerado quando a média móvel rápida varre a média móvel lenta de baixo para cima; um sinal de venda é gerado quando a média móvel rápida varre a média móvel lenta de cima para baixo.
A estratégia baseia-se no MACD. O MACD é o diferencial entre duas médias móveis de dois parâmetros diferentes, que refletem a variação dinâmica do preço. Concretamente, é o diferencial obtido da média móvel rápida (parâmetro padrão é a linha de 12 dias) menos a média móvel lenta (parâmetro padrão é a linha de 26 dias), conhecida como coluna MACD.
Quando a coluna MACD de baixo para cima quebra a linha DEA e entra na área de valor positivo, indica que a média curta de curta duração sobre a média de longo prazo, indica que a tendência do preço da ação se transforma em alta, produzindo um sinal de compra. Quando o MACD de cima para baixo quebra a linha DEA e entra na área de valor negativo, indica que a média curta de curta duração sobre a média de longo prazo, a tendência do preço da ação se transforma em baixa, produzindo um sinal de venda.
A estratégia é usar o cruzamento das linhas MACD e DEA para determinar o momento de compra e venda. Quando a coluna MACD varre as linhas DEA, compra-se; quando varre-se, vende-se.
A estratégia tem as seguintes vantagens:
A estratégia também apresenta alguns riscos:
Para reduzir o risco, os parâmetros podem ser adequadamente ajustados ou usados em combinação com outros indicadores, como indicadores de quantidade de preço, indicadores de volatilidade, etc. Além disso, uma estratégia razoável de stop loss e stop loss também é importante.
A estratégia pode ser melhorada em vários aspectos:
Optimização de parâmetros. Você pode testar diferentes combinações de parâmetros para encontrar o melhor. Mas tenha cuidado para evitar otimização excessiva.
Combinação com outros indicadores. Pode-se introduzir indicadores de quantidade, indicadores de taxa de flutuação, etc., formando uma estratégia de combinação mais forte.
Estratégia de Stop Loss Stop. Defina um ponto de parada razoável para controlar o risco de forma eficaz.
Optimização de adaptabilidade. A estratégia pode ser aplicada em diferentes mercados e períodos de tempo, podendo ser adaptada de acordo com as circunstâncias reais.
A estratégia de cruzamento de dupla equilíbrio capta as mudanças na tendência dos preços, permitindo o acompanhamento de tendências de baixo custo. É simples, prático e fácil de implementar. É uma estratégia de entrada adequada para iniciantes.
/*backtest
start: 2022-12-29 00:00:00
end: 2024-01-04 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
strategy("MACD Strategy by Forbes",default_qty_type=strategy.percent_of_equity, default_qty_value=100, overlay=false)
fastLength = input(20)
slowlength = input(40)
MACDLength = input(4)
// === INPUT BACKTEST RANGE ===
FromYear = input(defval = 2011, title = "From Year", minval = 2009)
FromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
FromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
ToYear = input(defval = 9999, title = "To Year", minval = 2009)
ToMonth = input(defval = 12, title = "To Month", minval = 1, maxval = 12)
ToDay = input(defval = 31, title = "To Day", minval = 1, maxval = 31)
// === FUNCTION EXAMPLE ===
start = timestamp(FromYear, FromMonth, FromDay, 00, 00) // backtest start window
finish = timestamp(ToYear, ToMonth, ToDay, 23, 59) // backtest finish window
window() => true // create function "within window of time"
MACD = ema(close, fastLength) - ema(close, slowlength)
aMACD = ema(MACD, MACDLength)
delta = MACD - aMACD
// Plot colors
col_grow_above = #26A69A
col_grow_below = #FFCDD2
col_fall_above = #B2DFDB
col_fall_below = #EF5350
f1 = plot(MACD,color=red)
s1 = plot(aMACD,color=blue)
plotColor = if delta > 0
delta > delta[1] ? lime : green
else
delta < delta[1] ? maroon : red
plot(delta, color=plotColor, style=columns)
if (crossover(delta, 0))
strategy.entry("Buy", true, when=window(), comment="Buy")
if (crossunder(delta, 0))
strategy.close_all(when=window())
//plot(strategy.equity, title="equity", color=red, linewidth=2, style=areabr)