使用 EMA 进行 Pinescript 回测
Pinescript Backtesting with EMAs
这个脚本有什么问题
这就是我想要的
- 当 5 EMA 低于 10 EMA 和 10 EMA 低于 150 EMA 时做空我的头寸
- 当 5 EMA 超过 10EMA 时平仓
请指出我遗漏了什么
谢谢
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
的交易。
请参阅 strategy.close() 函数定义。
这应该有效:
//@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)
这个脚本有什么问题
这就是我想要的
- 当 5 EMA 低于 10 EMA 和 10 EMA 低于 150 EMA 时做空我的头寸
- 当 5 EMA 超过 10EMA 时平仓
请指出我遗漏了什么
谢谢
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
的交易。
请参阅 strategy.close() 函数定义。
这应该有效:
//@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)