Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Debugging 尝试销售时出现Pinescript策略错误_Debugging_Pine Script_Algorithmic Trading - Fatal编程技术网

Debugging 尝试销售时出现Pinescript策略错误

Debugging 尝试销售时出现Pinescript策略错误,debugging,pine-script,algorithmic-trading,Debugging,Pine Script,Algorithmic Trading,正如你在我下面的代码快照中看到的,我有一个买入卖出信号。我正试图把它添加到我的图表中进行回溯测试,它完成了我最初的购买,但它永远不会卖出。我不知道为什么,因为我有一个类似的脚本做同样的事情,但它在回测时前后销售良好。我已经测试了我的卖出信号买入,看一条线是否会在应该的时候出现在图上,我的代码运行良好。但靠背部分有点问题。谢谢你的帮助 buy = (crossover(z100,c100) and z100>f100 and trend>reg or crossover(z100,f1

正如你在我下面的代码快照中看到的,我有一个买入卖出信号。我正试图把它添加到我的图表中进行回溯测试,它完成了我最初的购买,但它永远不会卖出。我不知道为什么,因为我有一个类似的脚本做同样的事情,但它在回测时前后销售良好。我已经测试了我的卖出信号买入,看一条线是否会在应该的时候出现在图上,我的代码运行良好。但靠背部分有点问题。谢谢你的帮助

buy = (crossover(z100,c100) and z100>f100 and trend>reg or crossover(z100,f100) and z100>c100 and trend>reg) ? 50 : 7.5
plot(buy, title="buy", color=color.blue)
sell = (crossunder(z100,c100) and z100<f100 or crossunder(z100,f100) and z100<c100) ? 50 : 7.5
plot(sell, title="sell", color=color.red)
shares = 10000/close
// === INPUT BACKTEST RANGE ===
FromMonth = input(defval = 10, title = "From Month", minval = 1, maxval = 12)
FromDay   = input(defval = 24, title = "From Day", minval = 1, maxval = 31)
FromYear  = input(defval = 2019, title = "From Year", minval = 2017)
ToMonth   = input(defval = 12, title = "To Month", minval = 1, maxval = 12)
ToDay     = input(defval = 25, title = "To Day", minval = 1, maxval = 31)
ToYear    = input(defval = 9999, title = "To Year", minval = 2017)

// === FUNCTION EXAMPLE ===
start     = timestamp(FromYear, FromMonth, FromDay, 00, 00)  // backtest start window
finish    = timestamp(ToYear, ToMonth, ToDay, 23, 59)        // backtest finish window
window()  => time >= start and time <= finish ? true : false // create function "within window of time"
strategy.entry("buy", shares, when = window() and buy)  // buy long when "within window of time" AND crossover
strategy.close("sell", when = window() and sell) 
buy=(交叉(z100,c100)和z100>f100和趋势>注册或交叉(z100,f100)和z100>c100和趋势>注册)?50 : 7.5
绘图(购买,title=“购买”,color=color.blue)

sell=(crossunder(z100,c100)和z100=开始和时间代码中出现问题的候选项(假设为v4):

1) 根据参考手册(),您需要通知
策略。关闭
与您试图关闭的未平仓交易相同的ID,在本例中为“买入”,如下所示:

strategy.close("buy", when = window() and sell)

2) 如果上述方法无法解决此问题,请尝试在调用
策略之前计算
when
条件的表达式。输入
一个
策略。关闭
,将结果分配给一个变量,然后在
when
参数中引用此变量。

代码中出现问题的候选变量(假设为v4):

1) 根据参考手册(),您需要通知
策略。关闭
与您试图关闭的未平仓交易相同的ID,在本例中为“买入”,如下所示:

strategy.close("buy", when = window() and sell)

2) 如果上述方法无法解决问题,请在调用
策略之前尝试计算
when
条件的表达式。输入
一个
策略。关闭
,将结果分配给一个变量,然后在
when
参数中引用该变量。

这是正确的!谢谢,这就解决了。然而,它现在在每一家时间酒吧都有购买。你有没有可能知道它为什么这么做?我的图表中有一个小尖峰,显示了我的代码实际希望它在哪里买卖,但无论出于什么原因,它在每个时段都在买卖。你的“买”和“卖”变量总是50或7.5。因此,它们总是被认为是正确的。如果您的Windows()也给出了一个TRUE,那么事实上,每个bart都会出现一个条目和一个结束,这是正确的!谢谢,这就解决了。然而,它现在在每一家时间酒吧都有购买。你有没有可能知道它为什么这么做?我的图表中有一个小尖峰,显示了我的代码实际希望它在哪里买卖,但无论出于什么原因,它在每个时段都在买卖。你的“买”和“卖”变量总是50或7.5。因此,它们总是被认为是正确的。如果您的窗口()也给出了一个TRUE,那么实际上每个条上都会出现一个条目和一个结束