Scripting Pine脚本设置上一季度的时间戳不工作

Scripting Pine脚本设置上一季度的时间戳不工作,scripting,pine-script,binance,Scripting,Pine Script,Binance,我用pine scrip编写了一个简单的策略,它基于两个不同SMA的交叉/交叉。 对我来说,在一些时间框架内测试我的策略是很重要的,尤其是在最后一个季度。它不起作用。我只得到了一些结果。当SMAs交叉时,我应该得到整个周期的结果(绿色)。 当我不使用时间范围或将dateCond设置为true值时,我的脚本工作得非常好。 下面我介绍源代码: //@version=4 strategy("Moving Average Cross 1", initial_capital=1000

我用pine scrip编写了一个简单的策略,它基于两个不同SMA的交叉/交叉。 对我来说,在一些时间框架内测试我的策略是很重要的,尤其是在最后一个季度。它不起作用。我只得到了一些结果。当SMAs交叉时,我应该得到整个周期的结果(绿色)。

当我不使用时间范围或将dateCond设置为true值时,我的脚本工作得非常好。 下面我介绍源代码:

//@version=4
strategy("Moving Average Cross 1", initial_capital=1000, overlay=true)

start = timestamp(syminfo.timezone, 2021, 1, 1, 0, 0)
end = timestamp(syminfo.timezone, 2021, 4, 1, 0, 0)

fastSMA = sma(close, 9)
slowSMA = sma(close, 50) 

long = crossover(fastSMA, slowSMA)
short = crossunder(fastSMA, slowSMA)

orderSize = floor(strategy.equity / close)

plot(fastSMA, title="20", color=#00ffaa, linewidth=3)
plot(slowSMA, title="50", color=#FFC1CC, linewidth=2)

dateCond = time > start
// dateCond = true

bgcolor(dateCond ? #00ffaa : na)

if dateCond
    strategy.entry("long", strategy.long, qty=orderSize, when = long)
    strategy.entry("short", strategy.short, qty=orderSize, when = short)
strategy.close("long", when = short)
strategy.close("short", when = long)
我尝试了不同的时间范围(当我将开始日期设置为2020年1月1日时,效果非常好)。我另外给背景上色来检查条件,但上色也很有效。我不知道为什么上个季度它不能正常工作。我将感谢任何帮助


我主要针对ETH/USDT(Binance)对脚本进行了测试。

在这里,我们在进入新的ETH/USDT对之前使用了更大的资本和平仓。这样,在打开新位置之前,整个位置将关闭:

//@version=4
strategy("Moving Average Cross 1", initial_capital=100000, overlay=true)

start = timestamp(syminfo.timezone, 2021, 1, 1, 0, 0)
end = timestamp(syminfo.timezone, 2021, 4, 1, 0, 0)

fastSMA = sma(close, 9)
slowSMA = sma(close, 50) 

long = crossover(fastSMA, slowSMA)
short = crossunder(fastSMA, slowSMA)

orderSize = floor(strategy.equity / close)

plot(fastSMA, title="20", color=#00ffaa, linewidth=3)
plot(slowSMA, title="50", color=#FFC1CC, linewidth=2)

dateCond = time > start
// dateCond = true

bgcolor(dateCond ? #00ffaa : na)

strategy.close("long", when = short)
strategy.close("short", when = long)
if dateCond
    strategy.entry("long", strategy.long, qty=orderSize, when = long)
    strategy.entry("short", strategy.short, qty=orderSize, when = short)