如何按标的类型(加密货币、股票等)调整策略仓位取值规则?
实现标的类型对应的仓位大小逻辑
针对你的需求,我们可以利用TradingView Pine Script的syminfo.type属性判断标的类型,再对仓位大小做对应处理,完整代码实现如下:
//@version=5 strategy("Custom Position Size Strategy", overlay=true) // 替换为你实际的r(风险金额)和sl(止损幅度)计算逻辑 r = 100 sl = 20 // 计算基础仓位值 basePosSize = r / sl // 根据标的类型处理仓位大小 posSize = if syminfo.type == "crypto" basePosSize // 加密货币直接使用计算值 else // 非加密货币:仓位小于1时向上取整为1,否则保留原数值 math.max(math.ceil(basePosSize), 1) // 执行入场交易 strategy.entry(id="entry", direction=strategy.long, qty=posSize)
关键逻辑说明
- 标的类型判断:通过
syminfo.type == "crypto"识别当前标的是否为加密货币,该属性会返回标的的类型字符串(股票对应"stock"、外汇对应"forex"等) - 非加密货币仓位处理:
math.ceil(basePosSize):对计算出的仓位值向上取整,比如0.6会被转为1,1.3会被转为2math.max(..., 1):兜底确保仓位不会小于1,避免出现无效的小数仓位
内容的提问来源于stack exchange,提问作者candlestickb
相关产品推荐
相关产品推荐

