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

Pine Script 5如何获取最后平仓仓位收盘价并设置开仓条件

Pine Script 5 获取最后平仓收盘价并实现仓位触发条件控制

核心思路

Pine Script 5没有直接提供获取最后平仓仓位收盘价的内置函数,但可以通过strategy.closedtrades系列函数访问已平仓交易的历史数据,提取最后一次平仓的价格。在此基础上,叠加价格幅度条件过滤基础多空信号,实现你需要的触发逻辑。

代码实现

//@version=5
strategy("Last Close Price Trigger Strategy", overlay=true, initial_capital=10000, default_qty_type=strategy.cash, default_qty_value=1000)

// 1. 定义基础多空信号(示例用MA金叉死叉,可替换为你的策略信号)
fastMA = ta.sma(close, 5)
slowMA = ta.sma(close, 20)
baseLongSignal = ta.crossover(fastMA, slowMA)
baseShortSignal = ta.crossunder(fastMA, slowMA)

// 2. 获取最后一次平仓的价格
float lastExitPrice = na
if strategy.closedtrades > 0
    // 取最后一笔已平仓交易的平仓价格
    lastExitPrice := strategy.closedtrades.exit_price(strategy.closedtrades - 1)

// 3. 叠加价格幅度条件,生成最终触发信号
// 做多:基础信号触发 + (首次交易 或 价格较最后平仓价下跌≥0.2%)
finalLongSignal = baseLongSignal and (na(lastExitPrice) or close <= lastExitPrice * 0.998)
// 做空:基础信号触发 + (首次交易 或 价格较最后平仓价上涨≥0.2%)
finalShortSignal = baseShortSignal and (na(lastExitPrice) or close >= lastExitPrice * 1.002)

// 4. 执行交易
if finalLongSignal
    strategy.entry("Long", strategy.long)

if finalShortSignal
    strategy.entry("Short", strategy.short)

// 示例平仓逻辑(可替换为你的平仓规则)
if strategy.position_size > 0 and ta.barssince(strategy.opentrades.entry_bar_index(0)) >= 5
    strategy.close("Long")
if strategy.position_size < 0 and ta.barssince(strategy.opentrades.entry_bar_index(0)) >= 5
    strategy.close("Short")

// 可视化最后平仓价(可选)
if not na(lastExitPrice)
    line.new(bar_index, lastExitPrice, bar_index + 50, lastExitPrice, color=color.red, width=2, style=line.style_dashed)
    label.new(bar_index, lastExitPrice, str.tostring(lastExitPrice, "%.2f"), color=color.red, textcolor=color.white)

关键细节说明

  • strategy.closedtrades系列函数:
    • strategy.closedtrades返回已平仓交易的总数量
    • strategy.closedtrades.exit_price(index)返回指定索引的已平仓交易的平仓价格,索引从0开始,最后一笔交易的索引为strategy.closedtrades - 1
    • 该方法能覆盖所有平仓场景(止损、止盈、手动平仓等),比手动记录更可靠
  • 初始状态处理:通过na(lastExitPrice)判断是否为首次交易,此时无平仓记录,直接允许基础信号触发
  • 价格幅度计算:下跌0.2%对应lastExitPrice * 0.998,上涨0.2%对应lastExitPrice * 1.002,可根据需求调整幅度数值

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 08:28:31