MA CROSSOVER

Autora:ChaoZhang, Data: 2023-09-04 15:55:46
Tags:

A estratégia MA Crossover é uma estratégia técnica de negociação que utiliza a média móvel crossover para identificar oportunidades de negociação.

A estratégia funciona identificando cruzes entre as médias rápidas e lentas. Quando a média rápida cruza acima da média lenta, um sinal de compra é gerado. Quando a média rápida cruza abaixo da média lenta, um sinal de venda é gerado.

A estratégia MA Crossover é uma estratégia relativamente simples de utilizar, mas pode ser muito eficaz.

A seguir apresentamos alguns dos benefícios da utilização da estratégia MA Crossover:

É uma estratégia simples de usar, tornando-a acessível a comerciantes de todos os níveis de experiência. Baseia-se em princípios técnicos sólidos, o que significa que tem uma elevada probabilidade de êxito. Trata-se de uma estratégia que segue tendências, o que significa que pode ajudar os traders a acompanhar as tendências. Pode ser usado para negociar posições longas e curtas, tornando-se uma estratégia versátil. A seguir apresentam-se alguns dos riscos associados à utilização da estratégia MA Crossover:

A estratégia baseia-se em dados históricos de preços e não há garantia de que seja rentável no futuro. A estratégia pode ser suscetível a um "whipsaw", que é quando o preço de um ativo se move rapidamente em ambas as direções. A estratégia pode ser volátil, o que significa que existe o risco de grandes perdas. Em geral, a estratégia MA Crossover é uma estratégia de negociação relativamente simples e eficaz que pode ser usada por traders de todos os níveis de experiência.

Aqui estão algumas coisas adicionais a ter em mente ao utilizar a estratégia MA Crossover:

O comprimento das médias móveis pode ser ajustado de acordo com o seu estilo de negociação e tolerância ao risco. Você também pode usar várias médias móveis para criar uma estratégia mais complexa. É importante testar a estratégia com base em dados históricos para garantir que seja rentável antes de a utilizar para negociação ao vivo. Você também deve usar um stop loss para limitar suas perdas. Espero que este artigo seja útil e informativo.


/*backtest
start: 2022-08-28 00:00:00
end: 2023-02-10 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT","balance":10000}]
*/

//@version=5
strategy("EMA-Cross-JC Intraday with Trailing SL", overlay=true)

// emabasel = input(100, "Base Length")
emaslen = input(15, "Slow Length")
emaflen = input(9, "Fast Length")
intra =input(true, title = "Intraday?")
sq_time_hr = input(15, title="Exit Hr")
sq_time_min = input(20, title="Exit Min")

emaslow = ta.ema(close, emaslen)
emafast = ta.ema(close, emaflen)
// emabase = ta.ema(close, emabasel)

emaup = ta.crossover(emafast, emaslow)
emadown = ta.crossunder(emafast, emaslow)

tsival = ta.tsi(close, 13, 55)

plot(emaslow, title="Slow EMA", color=color.yellow, linewidth=1)
plot(emafast, title="Fast EMA", color=color.green, linewidth=1)
// plot(emabase, title="Base EMA", color=color.white, linewidth=3)

takeProfitPoints = input(200, title="Take Profit")
// tp_off = input(4000, title="Keep trailing")
stopLossPoints = input(100, title="Stop Loss")

// Define the time to square off positions
squareOffTime = timestamp(year, month, dayofmonth, sq_time_hr, sq_time_min)

var float trailingStop = na

if emaup and barstate.isconfirmed and time < squareOffTime //and tsival >=0
    strategy.entry("Buy", strategy.long)
    strategy.exit("Sell", "Buy", stop=close - stopLossPoints, limit=close + takeProfitPoints)
    // trailingStop := emabase - stopLossPoints
    strategy.exit("Trailing Stop", "Buy", stop=trailingStop)

if emadown and barstate.isconfirmed and time < squareOffTime //and tsival <=0
    strategy.entry("Sell", strategy.short)
    strategy.exit("Cover", "Sell", stop=close + stopLossPoints, limit=close - takeProfitPoints)
    // trailingStop := emabase + stopLossPoints
    strategy.exit("Trailing Stop", "Sell", stop=trailingStop)

// Close any open positions before the end of the trading day
if ta.barssince(strategy.opentrades) == 0 and time >= squareOffTime and intra == true
    strategy.close_all()

// plot(tsival, title = "TSI Value")
plotshape(emaup and barstate.isconfirmed, title="Crossover", style = shape.triangleup , size=size.small,color = color.green, location = location.belowbar)
plotshape(emadown and barstate.isconfirmed, title="Crossunder",style = shape.triangledown, size=size.small,color = color.red, location = location.abovebar)


Mais.