O recurso está a ser carregado... Carregamento...

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

EMA Cloud Intraday Strategy


/*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)



Relacionado

Mais informações