Estratégia intradiária de nuvem da EMA

Autora:ChaoZhang, Data: 2022-05-17 16:30:12
Tags:EMA

Esta estratégia utiliza as médias móveis exponenciais de 9 e 20 períodos para criar uma nuvem colorida entre semelhante ao que é visto na Nuvem Ichimoku. A estratégia fecha todos os negócios até o final do dia de negociação. A entrada é quando o preço fecha acima de uma nuvem verde (9 EMA acima de 20 EMA) ou abaixo de uma nuvem vermelha (9 EMA abaixo de 20 EMA). A saída é quando o preço fecha contra a 9 EMA ou no final do dia de negociação. A execução do testador de estratégia em diferentes prazos intradiários mostrará o melhor período de tempo para um determinado símbolo. Por exemplo, descobri que os melhores resultados são retornados por esta estratégia para SPY no período de 30 minutos.

backtest

img


/*backtest
start: 2022-04-16 00:00:00
end: 2022-05-15 23:59:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © rwestbrookjr

//@version=5
strategy("EMA Cloud Intraday Strategy", overlay=true, margin_long=100, margin_short=100, process_orders_on_close=true)

i_trdQty = input.int(10, "Trade Quantity", minval = 1)




fastLen = input(title = "Fast EMA Length", defval = 7)
slowLen = input(title = "Slow EMA Length", defval = 20)

fastEMA = ta.ema(close, fastLen)
slowEMA = ta.ema(close, slowLen)

fema = plot(fastEMA, title = "FastEMA", color = color.green, linewidth = 1, style = plot.style_line)
sema = plot(slowEMA, title = "SlowEMA", color = color.red, linewidth = 1, style = plot.style_line)

fill(fema, sema, color = fastEMA > slowEMA ? color.new(#417505, 50) : color.new(#890101, 50), title = "Cloud")

longCondition = (close > fastEMA and fastEMA > slowEMA)

if (longCondition)
    strategy.entry("Long_Entry", strategy.long)
longExit = close[1] < fastEMA
if (longExit)
    strategy.close("Long_Entry",when=longExit)
    //strategy.exit("exit", "My Long Entry Id", trail_points=1.5, trail_offset=0)

shortCondition = (close < fastEMA and fastEMA < slowEMA)
if (shortCondition)
    strategy.entry("Short_Entry", strategy.short)
shortExit = close[1] > fastEMA
if (shortExit)
    strategy.close("Short_Entry",when=shortExit)
    //strategy.exit("exit", "My Short Entry Id", trail_points=1.5, trail_offset=0)



Relacionados

Mais.