与strategy.position_size一起使用时的Ta.value



我目前正在尝试编写Pine Script代码,该代码允许在一定数量的小节后关闭一个位置,并且遇到了一些困难。这是我的代码的相关部分:

//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变量确定上一次开盘交易执行时的条形指数,无论是多头还是空头。

我感到困惑的是,为什么当我绘制变量timeindee时,即使代码中明确规定当策略头寸大小不等于0时,即当存在未平仓时,timeindee的值将更改为bar_index-lasttradeindex,变量的值也不会改变(保持为0(。

任何能为我指明正确方向的建议都将不胜感激。

谢谢。

使用v5内置程序,您可以访问交易进入时间及其ID@adolgov在电视上有一个很好的例子,使用这个功能可以根据交易进入时间检查时间,并在窗口外关闭交易:

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))

干杯,祝一切顺利

最新更新