Autora:ChaoZhang, Data: 23 de janeiro de 2024 11:05:50
Tags:

img

Resumo

Princípio da estratégia

A estratégia baseia-se principalmente em duas SMAs, a linha de 3 dias e a linha de 5 dias. Entre elas, a linha de 3 dias representa a tendência de curto prazo e a linha de 5 dias representa a tendência de médio prazo mais longo. Quando o curto prazo sobe rapidamente, ou seja, quando a linha de 3 dias cruza acima da linha de 5 dias, isso indica que o mercado atual está em uma tendência de alta. Neste momento, vá longo. Pelo contrário, quando o curto prazo cai rapidamente, ou seja, quando a linha de 3 dias cruza abaixo da linha de 5 dias, isso indica que o mercado atual está em uma tendência de queda. Neste momento, vá curto. Ao capturar a cruzamento das mudanças de preço entre os dois ciclos de curto e médio prazo, o mercado pode ser melhor julgado e a probabilidade de entrada bem sucedida pode ser melhorada.

Análise das vantagens

A estratégia apresenta as seguintes vantagens:

  1. A lógica estratégica é simples e clara, fácil de compreender e implementar.
  2. A estratégia de cruzamento da média móvel faz julgamentos relativamente precisos sobre a tendência global do mercado com uma alta probabilidade de entrada bem sucedida.
  3. A selecção de médias móveis de dois ciclos diferentes permite compreender melhor as alterações do mercado.
  4. A implementação de mecanismos de captação de lucro e stop loss controla efetivamente as perdas.

Análise de riscos

A estratégia apresenta também alguns riscos:

  1. Devido à utilização de ciclos de médias móveis mais curtos, é suscetível de ser afectado por flutuações de curto prazo do mercado, o que pode aumentar a probabilidade de um stop loss.
  2. A estratégia é relativamente mecanizada e não pode adaptar-se às condições especiais do mercado.
  3. Não considera o julgamento das tendências de longo prazo, que podem fazer com que a estratégia sofra perdas maiores numa recessão de longo prazo do mercado.

Orientações de otimização

A estratégia pode ser otimizada nos seguintes aspectos:

  1. Aumentar a quantidade de médias móveis de diferentes ciclos para formar um rastreamento a vários níveis, a fim de melhorar a estabilidade da estratégia.
  2. Adicionar julgamentos de outros indicadores técnicos, tais como MACD, RSI, etc., para facilitar a entrada.
  3. Adicionar julgamentos sobre tendências de longo prazo para evitar ir longo em tendências de baixa de longo prazo.
  4. Otimizar os pontos de take profit e stop loss para melhor se adaptar às flutuações reais do mercado.

Resumo


/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 5h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy(title="Revolut v1.0", overlay=true)

// === GENERAL INPUTS ===
ATR = atr(3)
ema3 = ema(close, 3)
ema5 = ema(close, 5)

// === INPUT BACKTEST RANGE ===
FromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
FromDay   = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
FromYear  = input(defval = 2018, title = "From Year", minval = 2017)
ToMonth   = input(defval = 1, title = "To Month", minval = 1, maxval = 12)
ToDay     = input(defval = 1, title = "To Day", minval = 1, maxval = 31)
ToYear    = input(defval = 9999, title = "To Year", minval = 2017)

// === 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"


// === PLOTTING ===
plot(ema3, title="Ema 3", color = white, linewidth = 2, transp=0)
plot(ema5, title="Ema 5", color = aqua, linewidth = 2, transp=0)



// === ENTRY POSITION LOGIC ===
entryCondition = crossover(ema(close, 3), ema(close, 5))
if (entryCondition)
    strategy.entry("ENTRY", strategy.long, when=window())
    

// === EXIT POSTION LOGIC ===
//strategy.exit("Take Profit", "ENTRY", profit=6, loss=5, when=window())
strategy.exit("Take Profi Or STOP", "ENTRY", profit = 6, loss = 5, when=window())
  

// #####################################
// We can start to incorperate this into the script later
// We can program a emergency exit price
//strategy.close_all()

// You can use this if you want another exit
//strategy.exit("2nd Exit", "ENTRY", profit=1500, stop=500, when=window())




Mais.