在某些交易对上传递小于 1 的浮动时出现错误 "passed value is 0.000000"
Getting error "passed value is 0.000000" when passing float less than 1 on some trading pairs
我在 pine 脚本中有以下代码:
strategy.entry("REV", strategy.long, comment="REV", qty=0.9)
运行 它与 FTX 交易所的股票代码 SHITPERP
给出了错误:
“入场或下单数量必须为小于等于1000000000.000000的正数,传入值为0.000000”
qty
值似乎四舍五入为零。如果我将其更改为 1.9 那么它可以工作,但结果头寸大小为 1
这些订单在交易所本身工作得很好,不会四舍五入到最接近的整数。
使用 strategy.entry 或 strategy.order 时是否有某种最小订单大小限制?是否有我可以检查或计算的变量,以使这样的订单不会抛出错误?我 运行 在不同资产上使用各种脚本解决了这个问题
我也查了syminfo.mintick
和syminfo.pointvalue
看有没有什么线索,分别是0.1和1
我唯一能想到的可能是某种货币转换,但我没有在策略上设置货币,资产的基础对是美元稳定币。即使我将货币设置为美元,也会出现同样的问题。
如有任何帮助,我们将不胜感激
在交易视图聊天中得到@Pinecoders 的回答。资产似乎有一个步长值,对于 SHITPERP
之类的资产,它似乎尚未定义。在这种情况下,它默认为 1,这意味着部分订单将向下舍入到最接近的整数。
感谢您的回答!
自从他们升级到 Pine 4.0 以来,这个错误困扰着我
现在我知道在哪里修复它了:)
简单的解决方案;放一些if来检查变量是否小于1,然后给它赋值1。
unit_size = ( result of position size calculation )
if (unit_size < 1)
unit_size := 1
strategy.entry("REV", strategy.long, comment="REV", qty=unit_size)
或者您可以将 unit_size 更改为 -1,然后在 strategy.entry 命令
之前使用 "if" 检查
if (unit_size < 1)
unit_size := -1
if (unit_size > 0 )
strategy.entry("REV", strategy.long, comment="REV", qty=unit_size)
避免头寸规模超过您的初始资金。
我在 pine 脚本中有以下代码:
strategy.entry("REV", strategy.long, comment="REV", qty=0.9)
运行 它与 FTX 交易所的股票代码 SHITPERP
给出了错误:
“入场或下单数量必须为小于等于1000000000.000000的正数,传入值为0.000000”
qty
值似乎四舍五入为零。如果我将其更改为 1.9 那么它可以工作,但结果头寸大小为 1
这些订单在交易所本身工作得很好,不会四舍五入到最接近的整数。
使用 strategy.entry 或 strategy.order 时是否有某种最小订单大小限制?是否有我可以检查或计算的变量,以使这样的订单不会抛出错误?我 运行 在不同资产上使用各种脚本解决了这个问题
我也查了syminfo.mintick
和syminfo.pointvalue
看有没有什么线索,分别是0.1和1
我唯一能想到的可能是某种货币转换,但我没有在策略上设置货币,资产的基础对是美元稳定币。即使我将货币设置为美元,也会出现同样的问题。
如有任何帮助,我们将不胜感激
在交易视图聊天中得到@Pinecoders 的回答。资产似乎有一个步长值,对于 SHITPERP
之类的资产,它似乎尚未定义。在这种情况下,它默认为 1,这意味着部分订单将向下舍入到最接近的整数。
感谢您的回答! 自从他们升级到 Pine 4.0 以来,这个错误困扰着我 现在我知道在哪里修复它了:)
简单的解决方案;放一些if来检查变量是否小于1,然后给它赋值1。
unit_size = ( result of position size calculation )
if (unit_size < 1)
unit_size := 1
strategy.entry("REV", strategy.long, comment="REV", qty=unit_size)
或者您可以将 unit_size 更改为 -1,然后在 strategy.entry 命令
之前使用 "if" 检查if (unit_size < 1)
unit_size := -1
if (unit_size > 0 )
strategy.entry("REV", strategy.long, comment="REV", qty=unit_size)
避免头寸规模超过您的初始资金。