You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修改Pine Script代码为盈利持仓延长超时平仓时间?

修改后的Pine Script代码实现盈利持仓超时延长功能

要实现盈利持仓超时后延长一次超时的需求,我们需要新增状态记录来跟踪每个持仓是否已经使用过延长机会,具体修改如下:

//@version=5
strategy("Timeout with Profit Extension", overlay=true)

// 存储每个持仓的延长状态:entry_id -> 是否已延长过
var table extendedPositions = table.new(position.top_right, 1, 0)

closePosition(timeoutS, extendTimeoutS)=>(
    if strategy.opentrades > 0
        for i = 0 to strategy.opentrades-1
            entryId = strategy.opentrades.entry_id(i)
            entryTime = strategy.opentrades.entry_time(i)
            // 计算持仓当前的盈亏状态
            isProfitable = strategy.opentrades.profit(i) > 0
            // 检查该持仓是否已经延长过超时
            hasExtended = table.haskey(extendedPositions, entryId)
            
            // 计算当前应该用的超时时间:未延长用原超时,已延长用延长后的超时
            currentTimeout = hasExtended ? extendTimeoutS : timeoutS
            elapsedTime = time - entryTime
            
            if elapsedTime >= currentTimeout * 1000
                if isProfitable and not hasExtended
                    // 盈利且未延长过,标记该持仓为已延长
                    table.set(extendedPositions, entryId, true)
                    strategy.comment(entryId, str.format("Extended timeout for {0} by {1}s", entryId, extendTimeoutS))
                else
                    // 非盈利或已延长过,执行平仓
                    qty = strategy.opentrades.size(i)
                    strategy.close(entryId, comment = str.format("Close {0}-{2} by timeout {1}s", entryId, currentTimeout, i), qty = qty)
                    // 平仓后移除延长记录
                    table.remove(extendedPositions, entryId)
)

// 调用函数:原超时7200秒,延长超时同样设置为7200秒(可按需调整)
closePosition(7200, 7200)

关键修改说明:

  • 使用var table持久化存储每个持仓的延长状态,确保图表刷新或换周期时记录不丢失
  • 新增extendTimeoutS参数,可单独指定延长的超时时长(示例中与原超时一致,可按需修改)
  • 通过strategy.opentrades.profit(i) > 0判断持仓是否盈利,作为延长超时的前提条件
  • 仅未使用过延长机会的盈利持仓会触发超时延长,延长后标记状态,下次超时直接平仓
  • 持仓平仓后移除对应延长记录,避免无效内存占用

内容的提问来源于stack exchange,提问作者saeed

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 06:47:14