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

已执行及平仓交易背景色标注异常问题咨询

问题分析与解决方案

核心问题排查

1. 盈亏判断逻辑错误

原代码用strategy.netprofit > 0判断当前交易盈亏,这是账户累计净利润,不是单笔交易的实际盈亏:

  • 你遇到的1a问题:之前交易累计亏损,当前单笔盈利后累计净利润仍为负,strategy.netprofit>0返回false,误标红色
  • 1b问题:之前交易累计盈利,当前单笔亏损后累计净利润仍为正,strategy.netprofit>0返回true,误标绿色
    另外,strategy.position_size > 1会漏掉持仓量为1的多头持仓,应该改成strategy.position_size > 0。

2. 透明度参数使用错误

color.new()的第二个参数是透明度百分比,范围是0(完全不透明)~100(完全透明),你写的5几乎等于不透明,所以看起来没生效。


修正后的完整代码

// 多头持仓判断(覆盖所有多头持仓场景)
longExists = strategy.position_size > 0

// 持仓期间:判断当前持仓的浮动盈亏
isPositionProfitable = strategy.openprofit > 0

// 平仓K线:判断最新平仓交易的实际盈亏
isClosedTradeProfitable = strategy.closedtrades.profit(strategy.closedtrades - 1) > 0 
isClosedTradeBar = strategy.closedtrades.entry_bar_index(strategy.closedtrades - 1) == bar_index[1]

// 颜色设置(调整透明度为80,既明显又不遮挡K线)
profitColor = color.new(color.green, 80)
lossColor = color.new(color.red, 80)

// 背景色逻辑:持仓时用浮动盈亏,平仓K线用实际盈亏
bgcolor(longExists ? isPositionProfitable ? profitColor : lossColor : na)
bgcolor(isClosedTradeBar ? isClosedTradeProfitable ? profitColor : lossColor : na)

代码说明

  1. 持仓期间:用strategy.openprofit > 0判断当前持仓的浮动盈亏,实时显示背景色
  2. 平仓K线:用strategy.closedtrades.profit()获取最新平仓交易的实际盈亏,精准标记平仓时的交易结果
  3. 透明度:把参数调到80,背景色既清晰可见又不会遮挡K线
  4. 持仓判断:改成strategy.position_size > 0,覆盖所有多头持仓场景

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 07:41:30