首页 > 解决方案 > 找不到函数或函数引用“ema”

问题描述

我收到错误第 13 行:找不到函数或函数引用“ema”。当我知道 ema 是一个函数时。

我正在尝试做一个简单的策略,如果价格高于 200 DEMA,则进入多头交易,并且 SuperTrend 指标发出“买入”信号。如果 SuperTrend 指标给出“卖出”信号,我想卖出。我的代码是否朝着正确的方向发展?真的很感激一些帮助!

//@version=5
strategy("DEMA and SuperTrend", overlay=true)

// SuperTrend
atrPeriod = input(12, "ATR Length")
factor = input.float(3.0, "Factor", step = 0.01)

[_, direction] = ta.supertrend(factor, atrPeriod)

// DEMA
demaLength = input(200)
src = input(close, title="Source")
e1 = ema(src, demaLength)
e2 = ema(e1, demaLength)
dema = 2 * e1 - e2

if ta.change(direction) < 0 and close > dema
    strategy.entry("long", strategy.long)
    
if ta.change(direction) > 0
    strategy.close("long", strategy.close)

标签: pine-scriptalgorithmic-tradingtradingindicator

解决方案


v5 pine 中有新的命名空间。例如ema()现在是ta.ema() https://www.tradingview.com/pine-script-reference/v5/#fun_ta{dot}ema


推荐阅读