我目前正在尝试制作松树脚本代码,允许在一定数量的酒吧之后关闭某个位置,并遇到一些困难。下面是我代码的相关部分:
//Time in trade
lasttradeindex=ta.valuewhen(strategy.position_size!=0,bar_index,0)
timeintrade=0
if strategy.position_size!=0
timeintrade:= bar_index-lasttradeindex
lasttradeindex变量确定上一次开盘交易执行时的bar索引,无论涉及开盘多头头寸还是空头头寸。
我感到困惑的是,为什么当我绘制变量时,变量的值不会改变(保持在0),即使代码明确地包含了将时间交易的值更改为bar_index-lasttradeindex时,当策略位置大小不等于0,即当有一个打开的位置时。
任何给我正确方向的建议都将不胜感激。
谢谢。
发布于 2022-04-01 12:35:58
使用v5内置程序,您可以访问交易进入时间以及它们的ID。@ 这里在电视上有一个很好的例子,它使用这个函数来检查交易进入时间和窗口外的交易:
closePositionAfter(timeoutS)=>
if strategy.opentrades > 0
for i = 0 to strategy.opentrades-1
if time - strategy.opentrades.entry_time(i) >= timeoutS*1000
entry = strategy.opentrades.entry_id(i)
strategy.close(entry, comment = str.format("Close \"{0}\" by timeout {1}s", entry, timeoutS))
干杯,万事如意
https://stackoverflow.com/questions/71701895
复制相似问题