Pine script 如何在一天结束时结束交易,或在高于先前高点的X利润时结束交易?

Pine script 如何在一天结束时结束交易,或在高于先前高点的X利润时结束交易?,pine-script,Pine Script,我正在尝试为tradingview编写一个pine脚本,我几乎完成了,但我不确定如何让它在一天结束时(晚上11:59)或当前价格等于前一天烛光高点(高[1]+X点烛光)结束交易 以下是我目前掌握的情况: //@version=2 strategy("Previous Day High and Low Breakout Strategy", overlay=true) D_High = security(tickerid, 'D', high[1]) D_Low = security(ticke

我正在尝试为tradingview编写一个pine脚本,我几乎完成了,但我不确定如何让它在一天结束时(晚上11:59)或当前价格等于前一天烛光高点(高[1]+X点烛光)结束交易

以下是我目前掌握的情况:

//@version=2
strategy("Previous Day High and Low Breakout Strategy", overlay=true)
D_High = security(tickerid, 'D', high[1]) 
D_Low = security(tickerid, 'D', low[1]) 
D_Close =  security(tickerid, 'D', close[1]) 
D_Open =  security(tickerid, 'D', open[1]) 

// Go Long - if prev day high is broken and stop loss prev day low
// Go Short - if prev day low is broken and stop loss prev day high
plot(isintraday ? D_High : na, title="Daily High",style=line, color=blue,linewidth=2) 
plot(isintraday ? D_Low : na, title="Daily Low",style=line, color=red,linewidth=2) 

signal =crossover(high,D_High) ? true : crossover(D_Low,low) ? false : signal[1]

longCondition = signal
if (longCondition)
    strategy.entry("Long", strategy.long)

shortCondition = signal != true
if (shortCondition)
    strategy.entry("Short", strategy.short)

以先前的
高退出
如下所示:

//@version=4
strategy("My Strategy", overlay=true)

DESIRED_PROFIT_TICKS = 5

exitPrice = 0.0
exitPrice := exitPrice[1]

longCondition = crossover(sma(close, 14), sma(close, 28))
if (longCondition)
    strategy.entry("My Long Entry Id", strategy.long)
    exitPrice := (high[1] - close) / syminfo.mintick + DESIRED_PROFIT_TICKS

strategy.exit("ExitId", "My Long Entry Id", profit = exitPrice)

但我怀疑是否有办法在一天结束时退出,因为你不能确定这是最后一笔交易还是相反的交易-我们跳过这些交易,希望在一段时间后退出,但有一个机会,到一天结束时不会有交易。

我想你可以这样做,因为我就是这样做的,无论如何,如果有问题,请评论并让我知道

tomorrow=0
tomorrow:=strategy.opentrades==1 ? time : 0
strategy.close("long", when=tomorrow>0)

欢迎来到堆栈溢出!虽然这段代码可以解决这个问题,但如何以及为什么解决这个问题将真正有助于提高您的帖子质量,并可能导致更多的投票。请记住,你是在将来回答读者的问题,而不仅仅是现在提问的人。请在回答中添加解释,并说明适用的限制和假设。