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

如何用Pine Script编写基于前K线高低点的仓位计算指标?

Pine Script 仓位计算指标实现代码及说明

完整实现代码

//@version=5
indicator("仓位大小计算器", overlay=true)

// 输入参数
equity = input.float("账户权益", defval=1000, minval=100, tooltip="输入你的账户总权益")
risk_pct = input.float("风险比例(%)", defval=2, minval=0.1, maxval=10, tooltip="单次交易愿意承担的账户权益比例")

// 计算HC和LC(转换为点数)
hc = (high[1] - close) / syminfo.mintick  // 上一根K线高点与当前价格的点数差
lc = (low[1] - close) / syminfo.mintick   // 上一根K线低点与当前价格的点数差

// 计算仓位大小
risk_amount = equity * risk_pct / 100  // 单次交易风险金额
position_size_hc = risk_amount / hc    // 基于HC的仓位大小
position_size_lc = risk_amount / lc    // 基于LC的仓位大小

// 显示计算结果
var label result_label = label.new(bar_index, high, "", color=color.blue, textcolor=color.white, style=label.style_label_down)
label.set_text(result_label, str.format("HC点数: %.2f\nLC点数: %.2f\n基于HC仓位: %.2f\n基于LC仓位: %.2f", hc, lc, position_size_hc, position_size_lc))

// 可选:在图表上标记上一根K线的高低点
plot(high[1], color=color.red, style=plot.style_circles, title="上一根K线高点")
plot(low[1], color=color.green, style=plot.style_circles, title="上一根K线低点")

关键部分说明

  • 输入参数配置:通过input.float创建了两个可自定义参数,账户权益和风险比例支持在指标面板直接修改,无需改动代码。
  • 点数转换逻辑:用syminfo.mintick(品种最小变动单位)将价格差转换为点数,适配不同交易品种的点值规则,确保计算结果准确。
  • 仓位计算逻辑:完全匹配你给出的公式,先算出单次交易的风险金额,再分别除以HC、LC的点数得到对应仓位大小。
  • 结果可视化:用标签实时展示计算数据,同时标记上一根K线的高低点,方便直观参考。

注意事项

  • 若当前价格高于上一根K线高点/低于低点,HC或LC会出现负数,仓位结果也会为负,实际使用时可根据交易逻辑添加过滤条件(比如仅在HC>0时计算多单仓位)。
  • 部分品种需考虑合约乘数,若需要适配可自行添加对应输入参数。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 20:48:22