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.
A estratégia apresenta as seguintes vantagens:
A estratégia apresenta também alguns riscos:
A estratégia pode ser otimizada nos seguintes aspectos:
/*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())