Pine script 用EMAs进行Pinescript回溯测试

Pine script 用EMAs进行Pinescript回溯测试,pine-script,Pine Script,这个脚本有什么问题 这是我想要的 当5个均线在10个均线以下交叉,10个均线在150个均线以下交叉时,做空我的仓位 当5个均线跨越10个均线时覆盖 请说明我遗漏了什么 谢谢 ema5 = ema(close, 5) ema10 = ema(close, 10) ema150 = ema(close, 150) plot (ema5, title ="EMA5", color = color.green, linewidth = 2) plot (ema10, title

这个脚本有什么问题

这是我想要的

  • 当5个均线在10个均线以下交叉,10个均线在150个均线以下交叉时,做空我的仓位
  • 当5个均线跨越10个均线时覆盖
  • 请说明我遗漏了什么

    谢谢

    
    ema5 = ema(close, 5)
    ema10 = ema(close, 10)
    ema150 = ema(close, 150)
    
    plot (ema5, title ="EMA5", color = color.green, linewidth = 2)
    plot (ema10, title ="EMA10", color = color.red, linewidth = 2)
    plot (ema150, title ="EMA150", color = color.black, linewidth = 2)
    
    _5CrossesUnder10 = crossunder(ema5, ema10)
    _10CrossesUnder150 = crossunder(ema10, ema150)
    ShortCondition = _5CrossesUnder10 and _10CrossesUnder150
    
    _5CrossesAbove10 = crossover(ema5, ema10)
    
    // plot(close)
    
    strategy.entry("Short", strategy.short, 1, when= ShortCondition)
    strategy.close("Cover", when= _5CrossesAbove10)```
    

    术语
    Short
    是您交易的
    ID

    您必须使用相同的
    ID
    来关闭它。
    您正试图用
    ID
    Cover
    完成一笔从未打开的交易。
    请参见函数定义

    这应该起作用:

    //@version=4
    strategy("My Strategy", overlay=true)
    ema5 = ema(close, 5)
    ema10 = ema(close, 10)
    ema150 = ema(close, 150)
    
    plot (ema5, title ="EMA5", color = color.green, linewidth = 2)
    plot (ema10, title ="EMA10", color = color.red, linewidth = 2)
    plot (ema150, title ="EMA150", color = color.black, linewidth = 2)
    
    _5CrossesUnder10 = crossunder(ema5, ema10)
    _10CrossesUnder150 = crossunder(ema10, ema150)
    ShortCondition = _5CrossesUnder10 and _10CrossesUnder150
    
    _5CrossesAbove10 = crossover(ema5, ema10)
    
    // plot(close)
    
    strategy.entry("Short", strategy.short, 1, when= ShortCondition)
    strategy.close("Short", when= _5CrossesAbove10)
    

    啊。。非常感谢,我真的很感激