试图出售时出现脚本策略错误
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了试图出售时出现脚本策略错误相关的知识,希望对你有一定的参考价值。
正如您在下面的代码快照中看到的那样,我有一个买卖信号。我正尝试将其添加到图表中以进行回测,并且它会进行初始购买,但之后将永远不会出售。我不确定为什么,因为我有一个类似的脚本在做同样的事情,但是在进行反向测试时,它来回卖得很好。我已经测试了我的卖出信号买入,看是否应该在图表上弹出一条线,并且这样做了,所以我的代码可以正常工作。靠背部分出了点问题。任何帮助表示赞赏,谢谢。
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)
答案
候选代码中的问题(假设为v4):
1)根据参考手册(https://www.tradingview.com/pine-script-reference/v4),您需要将要关闭的未平仓交易的相同ID通知strategy.close
,在这种情况下,将其称为“买入”,如下所示:
strategy.close("buy", when = window() and sell)
2)如果上述方法不能解决问题,请在为when
和strategy.entry
调用之前,先对strategy.close
条件的表达式求值,然后将结果分配给变量,然后在when
参数中引用此变量。
以上是关于试图出售时出现脚本策略错误的主要内容,如果未能解决你的问题,请参考以下文章
尝试使用导入的 js 函数启动 html 页面时出现“CORS 策略已阻止从源‘null’访问脚本”错误