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

如何根据syminfo.ticker动态设置订单数量(qty)?代码异常求助

动态设置订单数量失效的解决方案

问题根源分析

你的代码逻辑本身无语法错误,但订单数量始终为1,大概率是以下两个原因:

  • syminfo.ticker的实际返回值和你代码里写的"OANDA:XAUUSD"这类字符串不匹配,导致所有条件都不触发,最终qtyValue返回na,而strategy.entry遇到na时会自动使用默认订单数量1。
  • 最后一个分支用na作为 fallback,未指定明确默认数量,触发了策略的默认行为。

修复步骤

1. 验证syminfo.ticker的实际值

先添加调试代码,确认当前图表的ticker格式:

label.new(bar_index, high, syminfo.ticker, color=color.blue, textcolor=color.white)

切换不同图表后,查看标签显示的内容——比如实际返回的可能是不带经纪商前缀的"XAUUSD",而非"OANDA:XAUUSD"。

2. 修正qtyValue的匹配逻辑和默认值

根据验证结果调整匹配字符串,同时把最后的na改为明确的默认数量:

// 示例:若验证后syminfo.ticker返回不带前缀的格式
qtyValue = syminfo.ticker == "XAUUSD" ? 7 : 
           syminfo.ticker == "XAGUSD" ? 550 : 
           syminfo.ticker == "EURUSD" ? 225000 : 
           syminfo.ticker == "GBPUSD" ? 39000 : 
           1 // 明确默认数量,避免返回na

如果验证后确实是带OANDA:前缀,保留原匹配字符串,仅将na替换为默认数值即可。

3. 确认策略设置

检查策略设置面板,确保未手动设置“默认订单数量”(即便删除了default_qty_value参数,面板设置仍可能产生影响)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 13:02:10