Loading ...

新手常见问题汇总(持续更新...)

Author: 小小梦, Created: 2018-02-02 10:41:38, Updated: 2019-09-07 14:35:03

新手问题汇总(持续更新…)

量化日记(老帖子)

搜集 日常 新用户 问题,方便查看。

序号 其他
1 托管者运行时,上面的机器人 的运行日志在哪? 在托管者 程序 所在 目录 LOGS 文件夹内的 DB3数据库 -
2 为何GetTicker和GetDepth得到的买一价和卖一价会不同呢? Ticker 和 depth 可能 不同时 获取 有一定 延迟 数据上 就有变化,并且一般来说 可能 ticker 数据更快一点 因为数据比较少 -
3 Python API 参考帖子 (Chart / LogStatus 等函数 API文档(python版本):https://www.fmz.com/bbs-topic/443 -
4 A:创建机器人时,交易所对象配置上为什么只有有限的几种货币对?,实际交易所是支持一些 交易对的。B:我看okex和火币都有usdt的交易,但是导入进来的交易所的货币对并没有,这是怎么回事? 设置交易对的 自定义控件 : https://www.fmz.com/bbs-topic/969 -
5 为什么添加后的交易所 ,在控制中心 下方交易所栏 显示的交易对标签只有几种。 因为有些交易所的 交易对 特别多,所以只显示了几种, 可以用自定义控件 设置https://www.fmz.com/bbs-topic/969 -
6 模板功能在哪里呢?我想把一些函数独立出来放到模板里,其他策略也好引用。 说明帖子:https://www.fmz.com/bbs-topic/483 -
7 两个托管者 同时跑 引用同一个模版 会报错 是正常的吗? 同时引用一个模板 没问题的, 运行的时候都是 加载的副本 互相 没有影响 -
8 FMZ 实盘模拟,只能选BTC_USD? 我怎么自定义ETH_BTC,拿不到数据. 模拟盘暂时 是 只有 这个 BTC_USD 交易对 可用 -
9 Linux 系统 下 ./robot -v 查看托管者支持的交易所, 里面出现的exchange是什么交易所? img exchange 代指的 通用协议 接入的交易所。通用协议详情:https://www.fmz.com/bbs-topic/1052 -
10 exchang.GetOrders()得到的是未成交的挂单。那么已经成交的单子在哪里获取?有没有一个成交单子的列表? 查询订单 还有一个 API 就是 GetOrder , 这个是 根据 ID 查询所有类型的订单, 输入 订单 ID 就查出这个 订单,不区分 成交 与否 等状态。 获取 成交的订单 只有看交易所 有没有提供这个接口了。每个交易所 可能提供的接口 都不一样。 -
11 使用screen 运行 托管者程序 robot 时, 出现 -bash:screen : command not found 运行不起来。 Linux 系统 没有安装screen 软件, 一般安装一下即可, 安装命令 : yum install screen -
12 另外如果在 FMZ 上sell和buy用的是限价下单吧? 是 看参数 的,只有少部分交易所支持 市价单, 市价单 价格是传入 -1, 买入和卖出 量的意义有些不同(第二个参数)价格不是 -1 就是 限价单 -
13 机器人日志上 报错 有些错误码 是什么意思? 各个交易所 API接口 返回的错误码解释需要看下交易所API 文档,这里有汇总贴 : https://www.fmz.com/bbs-topic/597 -
14 OKEX合约交易(交易所名: OK期货)下单量是 什么单位?是币数还是? OKEX合约交易 下单量在 FMZ 下单时 是按 合约张数。exchange.Buy(1000, 1) 就是 下价格 为1000 , 量为 1张合约 的订单。 -
15 环境变量添加了py2.7了,为什么还是这样呢? 提示 找不到环境变量 img windows 系统 初次安装python,设置环境变量后需要重启生效 -
16 部署托管者时 那一串地址 是 我自己唯一的还是 ?rpcs@a.botvs.com:9902/12345678 这个地址 是每个用户自己的地址标识 , 每个用户 后面的 9902/XXXXX , XXXXX 部分的数值 都是唯一的,用来标识 用户的。部署托管者的时候, 从控制中心 -> 点击添加托管者 按钮 -> 添加托管者页面-> 然后就能看到这个地址,直接复制,粘贴就可以使用了。 -
17 回测和实盘时候总是显示Invalid order price / amount 此类问题 是由于 调用下单函数 exchange.Buy 或者 exchange.Sell 时 传入的价格 和 下单量 数值 错误 引起的, 比如 负下单量 、0 等检测错误方法: 可以在 exchange.Buy 或 exchange.Sell 下单前 调用 Log 函数 输出下 即将 传入的 价格参数 或者 数量参数 ,确定下 问题。 -
18 GetOrders: 400: {“code”:-1121,“msg”:“Invalid symbol.”}这是什么错误呀? 这个报错 是 说, 无效的交易对, 您检查下是不是 交易对设置错误了 -
19 为什么 回测的时候 只有几个 交易所, 交易所的 交易对 也只有 有限的几种? 交易所的 交易对 太多了, 所以 在回测系统只选择了几种 有代表性的 交易对 用来 测试 , 可以选择相近的 交易对回测,在实盘的时候是完全 可以 用自定义控件 设置 交易所支持的交易对的。 -
20 GetAccount 这里获取信息会不会因为网络等其他问题 造成获取识别,底层是已经有对识别做处理了,还是用户必须自己处理?为什么官方不做出处理呢?这样用户使用的时候不是更方便吗? 会有失败 ,需要用户 容错处理,FMZ 底层不处理 数据,反馈给用户的是 未加工过的数据 ,具体 容错 方式 或者 逻辑 由策略制定.如果这个 处理 了可能会影响 用户 决策,决策 交给策略 处理,具体是过滤 错误信息 还是 重试 等等 处理方式。 -
21 商品期货的 合约代码 如何书写? 相关帖子: https://www.fmz.com/bbs-topic/1485 -
22 FMZ 模拟盘(实盘仿真) 需要 充钱么?我的实盘仿真账户里面好像没有钱,需要申请吗? 不用申请的,实盘仿真 使用帖子:https://www.fmz.com/bbs-topic/1260 -
23 机器人常见报错信息,交易所API 错误码 https://www.fmz.com/bbs-topic/597 -
24 var records = exchange.GetRecords(PERIOD_D1);代码是获取日K线,如果做期货,在实盘的时候获取的是什么合约的日K线?我想获取特定合约的日K线数据如螺纹或铁矿的K线数据,该怎么写? 商品期货中,在获取 行情前要 先设置 合约类型(起码 程序启动以来 设置过一次), SetContractType(“rb1805”) 这样 之后 在调用 获取行情的 API 就是获取 螺纹钢 1805 合约的数据了。 -
25 FMZ 计费系统、计费机制 升级调整 公告 https://www.fmz.com/bbs-topic/1489 -
26 能不能使用主连合约? 支持 商品期货 主力连续合约 和 指数合约,详见 : https://www.fmz.com/bbs-topic/1497 -
27 机器人 如何微信推送信息? 在Log 函数最后 加上 字符 ‘@’ 即可推送该条 Log 信息,详见 API 文档:https://www.fmz.com/api#Log -
28 回测系统 为什么不支持多些 交易对? https://www.fmz.com/bbs-topic/1156 , 回测系统 暂时 只支持 一些比较大 的交易所的 主流币种, 有些 币种 暂时 还没支持。 如果 需要检验 策略 可以 在实盘下 把下单逻辑换成 模拟的 比如 exchange.Log() 这个函数。或者 回测系统中 用其他币种 代替 测试。 其实 数字货币 用不同币种 测试 除了行情因素 ,对于检验策略 还是 可以的。简单说就是 回测系统 尽量 把 主流交易对 支持。回测 不应当 拟合 具体 某个 品种,就是说 如果策略 有效, 哪怕是一系列有交易规律的随机生成的 行情变动, 或者 是 其它 币种行情,都应该是有 基本上 正向收益的的 表现, 这个就是 策略的 普适性, 如果 只能 拟合一段历史数据 或者 某个品种 表现不错,那这种策略实际上是 有潜藏风险,或者缺陷的。具体的回测行情的数据和 https://quantinfo.com/Tools/View/4/chart.html 一致 -
29 我看API文档,执行BUY只会返回ID的。怎么会返回那么多信息 ? FMZ 的 API 函数 , 可以 产生日志输出的函数 比如 Log, Buy, CancelOrder 等 都可以 在必要 参数 后跟 一些 附带输出 参数,比如: exchange.CancelOrder(orders[i].Id, orders[j]) 这样就是 在取消orders[j] 这个订单时 , 附带输出这个订单信息。
30 在回测结果的行情数据图上绘制直线 怎么弄啊? 回测 时 最终显示的图表分2种:一种是 系统生成的,没法 控制。另一种 策略代码里面 用Chart 画的 ,参看:https://www.fmz.com/api#(画图)Chart
31 img rate limit, 429 Too Many Requests (太多请求) https://www.cnblogs.com/gisblogs/p/7121943.html
32 GetPosition 函数返回的 数据中 Profit 和 算出的浮动盈亏不一样 ? API 文档 https://www.fmz.com/api#GetPosition profit 在CTP 协议中定义为 盯市盈亏, 盯市盈亏代表你当前的仓位相对上一个交易日结算价的盈亏情况。 -
33 请问使用 getorder经常爆出 这个错:GetOrder(455284455): Error: invalid order id or order cancelled. 有可能是什么原因呢 字面意思:订单已经取消 或者 订单ID 无效, 原因:有些交易所 订单取消了 交易所就不在维护这个订单信息了 就清除了,所以 你在 GetOrder 查询这个订单 就报这个错误。或者 本身 查询的这个 ID 就是错误的。 -
34 FMZ 账号 多出来个托管者,不是自己部署的,是正常的么? 新增加了 公共 托管者 , 为新手 增加一个快速 上手的 工具,学习时不用 先折腾托管者了,方便上手。不过 真正实盘测试 还是 使用 私有托管者好,毕竟 公用托管者的硬件资源是共享的。 -
35 BitPie 、 BigOne 配置 API KEY 时的特殊设置问题 img 帖子 https://www.fmz.com/bbs-topic/468 -
36 商品期货 开仓报错 , CTP : 只能平仓 你好,账户显示只可平仓状态的原因有多个,可能是你的账户被冻结了(长时间没有使用,超过1年),也有可能是你登错通道了。处理办法:联系 开户的期货公司 查询账户状态,以便确定问题。 -
37 JavaScript 策略中 $. 开头的函数 是什么意思? $. 开头的 函数是 模板的导出函数,类似 模块的接口函数, 详情:https://www.fmz.com/bbs-topic/483 python版策略的导出函数 开头是以 ext. 声明的 -
38 HITBTC 实盘 时 为什么我设置交易对 为 NEOUSDT 会报错 无效交易对 ? 检查 HITBTC 的API 文档,并且访问了获取所有 可用交易对接口 后,发现 里面有 NEOUSD 的交易对,最后发现 NEOUSD 其实就是 NEOUSDT,所以可以在 设置交易对时尝试设置 NEO_USD,是否能获取到数据。 -
39 请问 获取历史K线数据的时候,获得的K线数量跟什么有关? 在访问GetRecords 接口 获取 K线时, 具体接口返回的K线数量是交易所定的,可能每家交易所的返回的K线数量都不一致(甚至有些交易所没有提供K线接口,此类情况托管者在策略调用GetRecords 的时候会调用获取交易所交易历史数据的接口,根据 交易历史 合成 K线。)托管者接受到的K线 会持续累计在一起。需要 有一定 频率的去访问 GetRecords 接口 , 否则 可能会影响 数据的持续性 数字货币
40 为啥macd跟交易所算出来的值不一样? 对比时需要 注意 是否 K线周期一致 , MACD指标参数是否一致 , 时间段一致, 品种一致, 此外, MACD 的 量柱算法有 多种 , 有的是 DIF - DEA 有的是 2*(DIF -DEA) , DIF 和 DEA 应当是 一致的 -
41 错误 (CTP_T@9999) Error: 140 CTP:首次登录必须修改密码,请修改密码后重新登录,这是修改什么密码,求赐教 FMZ 考虑安全问题 , 没有开通 CTP 密码 修改接口,如果 需要修改密码 可以使用 其他终端 直接 修改,比如 TB ,文华 -
42 报错:400: {“error”:{“message”:“Nonce is not increasing. This nonce: 1523891993165, last nonce: 1523891993165”,“name”:“HTTPError”}} , 如果 是BITMEX 尝试 重新申请 API KEY , 重新配置到FMZ 。 -
43 img Secret key decrypt failed 这个报错是说 API KEY 解析失败,是不是 配置了API KEY 后修改过FMZ密码,尝试在FMZ添加交易所页面,重新配置交易所API KEY -
44 问 FMZ 怎么充值?没找到入口。 img -
45 策略问题,保护个人开发者编写的策略的安全性 https://www.fmz.com/bbs-topic/1657 日常贴
46 编写策略运行实盘时报错:syntax error invalid label 问题根源:function main() {if(1){continue}} // 这样会导致运行时报错 continue 必须用于 循环 !
47 API KEY 安全保障 用户的API KEY是在浏览器端加密上传,FMZ 并不保存用户交易所账户的明文信息,并且使用的是Https协议 -
48 BindingError: Cannot pass non-string to std::string 报错信息 一般为某个属性名(使用未定义的属性) 用错。 -
49 报错:Traceback (most recent call last): File “<string>”, line 1020, in init_botvs File “<string>”, line 40, in <module> File “<string>”, line 8, in main File “<string>”, line 224, in MA File “<string>”, line 178, in _sma File “<string>”, line 91, in _skip UnboundLocalError: local variable ‘O0O’ referenced before assignment FMZ 模拟盘不支持3分钟K线周期 设置为别的周期就不会报错了
50 JS 不支持ES6 语法,例如使用 let 声明变量,导致报错: img 报错信息: unterminated statement , let 声明 改用 var -
51 {“status”:6004,“msg”:“timestamp is out of range”} 服务器时间戳超出范围需要更新服务器时间,不能偏差过大 -
52 timeout 错误 ! 该错误是超时错误,是指访问交易所接口 后超过 一定时间没有得到交易所 接口应答、数据。导致的报错,一般是托管者所在系统 网络访问问题(很多是墙导致的问题)、或者是 交易所服务器问题。 一般解决办法:使用 国外一个网络好一点的服务器
53 img 使用JavaScript 编写策略时,托管者 上的机器人实盘 不支持 ES6, 使用 const { last, } = GetTicker() 就会报错 -
54 BITMEX交易所K线数据时间戳 为什么比其它交易所相同位置的Bar多一个周期时间 ? 原因是BITMEX交易所的K线时间戳是以当前Bar的结束时间作为时间戳的(有些K线周期BITMEX交易所接口没有支持,所以这些周期的时间戳是以Bar起始时间作为时间戳的)。例如右图: img
55 实盘仿真 页面无法进入了。 由于发布 众包功能,原来 实盘仿真 导航块 位置替换为 “服务众包”,需要进入 实盘仿真 页面的需要输入 地址:https://www.fmz.com/m/sandbox 即可跳转到实盘仿真页面。 img
56 ERR_INVALID_POSITION 错误 回测系统报错,一般为策略编写错误,在没有持仓或者持仓数量不足时,尝试下单平仓,会引起该报错。检查是否有未成交订单导致的仓位冻结 -
57 ERR_INVALID_ORDER 错误 回测系统报错,一般为策略编写错误, 注意检查 下单价格(回测系统 数字货币期货暂时不支持市价单),下单量是不是为0 或者负数或者小数(期货合约是合约张数都是整数)。 -
58 OKEX 10004 错误 可以尝试重新申请 API KEY ,重新配置在FMZ 上,参看: https://www.fmz.com/bbs-topic/2270 -
59 回测时,为什么我确定了起始时间之后,再去设定终止时间,起始时间跟着变了? 第一次点 是确定起始时间 , 可以注意 日期上的方块是 左边是 圆角 ,右边是直角。 这个就是确定起始时间。 回测结束时间 确定后显示的 是左边是直角,右边是圆角。 img
60 2016-05-02 13:52:25 BotVS 错误 GetRecords: timeout,模拟盘接口超时报错。 BotVS模拟盘跟其它盘不一样,采用的是事件驱动的方式,GetRecords以后如果与上次GetRecords时的行情一样没变化,会一直pending到有变化才返回,防止无谓的等待.出现这种情况,说明行情变化慢,正常! -
61 ERR_INSUFFICIENT_ASSET 错误 回测系统报错,一般为可用资产数量已经不足当前下单需要的资产数量,简单说就是没有资金下单了。 -
62 看到很多代码里面有些函数是 $. 开头的,不知道这些具体表示什么? 这些 $.开头的是 JavaScript策略编写的模板的导出函数,参看 教程 https://www.fmz.com/bbs-topic/483 章节。 -
63 回测 错误:symbol not set 期货交易所回测,代码中没有设置合约, 参看 exchange.SetContractType 函数 -
64 python 回测卡死! 不能在 try 异常检测里面写 Sleep 函数。如右图的写法就会卡死。 /upload/asset/681fe9b42d71ce056e8c931ac0c12650.png
65 BITMEX 回测1小时 ,获取不到K线是为什么? BITMEX 回测 时使用 K线为1小时 这些BITMEX 原始数据不支持的周期需要注意,底层K线 需要设置 为1分钟,5分钟,1小时,其他设置是没有数据的。 -
67 为什么 指标函数 返回的数据 开始都是 null,null … 举个简单的例子, 比如 您要求 10日均线 MA(10),当K线柱 只有 9根的时候,这9根 K线柱对应的 MA(10) 指标数值都是 ,null,因为 K线柱不足 , 没法算出 10日的 均值,最多 算出 最后一根 也就是 第九根的 MA(9) ,也就是 9日均值,其他指标 同理 img
68 找不到 FMZ API 文档了。 可以直接输入页面地址: www.fmz.com/api ,或者 如右图点击链接 -> img
69 商品期货 平昨 仓问题 CTP 中,只有上期所适用平今 、平昨仓 备注
70 日志信息 比较长被截断了,后面显示 … ,但是需要看 数据的结构,怎么办? 解决办法,使用 控制中心的调试工具 调试工具不截断日志显示 备注
71 麦语言 多周期引用数据,在多周期引用代码块内 #EXPORT TEST … #END 声明好变量后,在策略中引用时,使用了REF,就会按照当前的周期去引用数据,导致和想象中的不一样。 所有需要的多周期数据,在#EXPORT TEST … #END 中处理好,在外部只直接使用。 备注
72 调用 exchange.SetMarginLevel(10); 报错: Futures_OP 0: 403: {“error”:{“message”:“Access Denied”,“name”:“HTTPError”}} 检查是否API 相关权限开启。 备注
73 麦语言 策略运行了 一直不动,就开始更新了一下行情,是什么问题? 检查是不是 使用的 收盘价模型 检查设置,在策略 参数上
74 Futures_Esunny 是什么? 易盛外盘,暂时内测 备注
75 为什么麦语言的ATR (TR)计算出的数值 和 TA / talib库计算出来的有差异 ? 原因是 麦语言指标的计算方式和TA/talib 库底层算法不一致,两者都对,算法不同。类似 MACD 有的用 一倍的DIF-DEA ,有的用两倍的DIF-DEA ,都是对的。 -
76 报错:fatal error : unexpected signal during runtime execution … goroutine 11 [syscall , locked to thread] 检查C++编写的策略有没有使用空指针,建议用容错模式回测检验。 img
77 托管者页面 托管者 无法按列表显示 添加托管者 超过5个 会出现按列表显示的控件。 img
78 C++回测,什么都不显示,也没有报错信息,没有日志。点击按钮后页面没有变化 C++策略一些异常不抛出错误,用排除法逐级检查代码可能的运行时错误,例如: 指标计算时,K线数量不足导致的指标算出NAN,后NAN 和数值类型比较,引起程序崩溃 -
79 linux 服务器 托管者部署 Linux安装托管者步骤: https://www.fmz.com/bbs-topic/2848 -
80 怎么才能让回测自定义画图显示的数据多一点? 自定义图表画图时(Chart 函数),画图在回测时候显示的数据量和回测设置上的“图表”参数有关,控制图表显示最大条数。注意,是否使用了chart.reset 函数,清空了部分旧数据。 -
81 更新托管者是不是必须要停止旧的托管者,然后删除掉robot程序,重新运行? 可以不停止托管者,直接删除旧的 robot 程序文件,然后下载新的压缩包,解压缩出新的robot 程序文件,放在原来的位置。这个时候托管者就更新了,但是运行中的机器人在内存使用的还是旧版本,只有重启机器人的时候才会使用最新的版本,在托管者没有重大功能更新的时候可以使用此方法更新。 -
82 托管者部署的视频在哪儿? 链接 : https://www.fmz.com/bbs-topic/458 章节:1.2.3.3 在海外服务器linux系统上部署托管者 -
83 为什么我注册了 wexApp 模拟交易所登录上去,什么资产都没有,钱包和币币区都没有资产? 注册后需要 验证 邮箱激活账户,在个人中心 激活账户即可。 -
84 BITMEX回测,资金费率是否算入 回测系统生成的盈亏曲线? 资金费率是算入回测系统生成的盈亏曲线的。 -
85 BITMEX 429错误,{“error”:{“message”:“Rate limit exceeded retry in 1 seconds ……”}} 访问交易所接口频率过高。 增加轮询间隔,降低访问接口频率。
86 麦语言,出现 报错:解析错误,并且策略只有简单代码,报错行数为很长的位置,找不到原因。 可能是早期麦语言模板的问题,处理办法,1.导出策略为xml文件。2、创建一个新的空的麦语言策略。3.把xml文件导入到新创建的空策略中。4、创建机器人测试即可。 -
87 麦语言牵涉到周期计算的很隐蔽的问题,计算出的数值可能有N/A的情况,如此范例: img 原因是 计算周期参数超出,数据范围,导致计算出N/A值 处理办法: img
88 调试工具,在托管者上创建的调试线程,会记录状态么? 调试工具执行时,如果第二次什么都没有修改,会保留之前创建的交易所对象,不会释放,所以一些状态会记录,例如币币模式,还是杠杆模式。 -
89 Signature not valid: Invalid submission time or incorrect time format [无效的提交时间,或时间格式错误] ,此类 和服务器校对时间的错误 该问题为 windows 2000 /2003/XP 等较为旧的操作系统的问题,参考资料:https://support.microsoft.com/en-us/help/821893/the-system-clock-may-run-fast-when-you-use-the-acpi-power-management-t 建议使用 Linux 服务器,或者在 这些出现该问题的 windows 系统安装 时间同步软件,高频率同步时间,防止出现时间校验错误。
90 JS策略,时间字符串 转时间戳不对 需要考虑时区 [图片] img
91 python 本地回测引擎,报错 EOF error . EOF错误是回测结束的错误 可以捕获异常就行了 可以在任何支持python的地方调用 -
92 Only support CTP 在数字货币策略中调用了商品期货CTP的接口或类库 -
93 一个托管者可以跑几个机器人 并不限制数量,看服务器配置和策略复杂程度,一般十几个机器人没问题 -
94 - - -
95 - - -
  • 其它

    • 1、回测系统胜率计算

      for (var i = 0; i < profits.length; i++) {
          if (i == 0) {
              if (profits[i][1] > 0) {
                  winningResult++
              }
          } else {
              if (profits[i][1] > profits[i - 1][1]) {
                  winningResult++
              }
          }
          if ((profits[i][1] + totalAssets) > maxAssets) {
              maxAssets = profits[i][1] + totalAssets
              maxAssetsTime = profits[i][0]
          }
          if (maxAssets > 0) {
              var drawDown = 1 - (profits[i][1] + totalAssets) / maxAssets
              if (drawDown > maxDrawdown) {
                  maxDrawdown = drawDown
                  maxDrawdownTime = profits[i][0]
                  maxDrawdownStartTime = maxAssetsTime
              }
          }
      }
      

      上面是 胜率算法,描述一下是这样计算的,在回测系统定时计算浮动盈亏后,统计出一条浮动盈亏曲线,从第一个点开始对比下一个点,如果高于则记录为胜,低于记录为负,然后用下一个点往后继续对比。


Related

More

xiaoyi007 机器人启动报错 Traceback (most recent call last): File "<string>", line 1028, in __init_botvs__ File "<string>", line 11, in <module> ImportError: DLL load failed: �Ҳ���ָ����ģ�顣 2019-05-22 04:19:42

lfdfmz 平台列表 okex国际和okex有什么 区别

lfdfmz var r = HttpQuery("https://api.coinmarketcap.com/v2/ticker/825/"); r 打印出来时dummy 什么情况

lfdfmz JavaScript策略回测试出现 TypeError: Date.UTC is not a function是什么问题

lfdfmz 这是什么问题?Traceback (most recent call last): File "<string>", line 1028, in __init_botvs__ File "<string>", line 11, in <module> ImportError: No module named numpy

pixiu777 多线程具体在什么情况下用

moneymonster 想问一下为什么exchange.Buy(-1,1)回测的时候,每次都只买入了0.0几的币,不是应该买入1个嘛

ressmix 请问下fmz平台本身是开源的吗?

jeffzh 我的策略需要保存交易数据供以后计算分析,怎么在策略里实现数据的存储和分析呢?

13036897450 我想获取ok合约中已开仓的实时盈亏比和预计强平价格 改调用哪个函数?

13036897450 GetOrders: Ret: map[result:false error_code:10007]这是什么原因啊

黄天霸 ERR_INSUFFICIENT_ASSET 和TypeError: Cannot convert "null" to double是什么错?新手头都扣烂了

Mrkoeng TA.KDJ里面返回的数组能解释一下么 想获取K值 D值

1095176636@qq.com 我想掉数据但为什么每次要完成的时候都被终止掉了

qhh87 平台上有个美国的公用服务器,但是也连接不上OKEX平台吗?我试了也提示timeout超时。大家都去哪里租托管呀?

1095176636@qq.com 为什么我回测BTC时历史交易量都是整数而且是等差数列

whjy 2018-07-23 09:58:40 错误 TypeError: cannot read property 'Last' of null at main (__FILE__:5) 2018-07-23 09:58:40 Futures_OKCoin 错误 GetTicker: timeout 2018-07-23 09:58:20 信息 null BTC_USD 开启机器人为啥为空

chan122 我想在回测的时候以五分钟为一个判断周期,迅速跑完数据,应该怎么设置?

alvinwang.dht 请问怎么取得实盘围观的资料

roshanzheng 我想问一下平台如何保证用户的交易所ID和KEY的安全?比如,确保不会发生黑客批量获取ID和KEY之后劫持用户进行黑客的交易指令?

jklwonder python如何获得回测时的时间呢

jkyei 请教下,为什么simnow显示:(CTP_T@9999) Error: 75 CTP:连续登录失败次数超限,登录被禁止

bijiasuo 马克一下,第4条,我在哪里看?

wcg123 请教下,为什么算出来的CCI指标总是与okex期货的指标差1到3个数值,别的指标都能对的上。

Carpedium6740 无效的IP或与绑定的IP不一致

Ancly 模拟回测的时候如何取得一个订单信息呢?exchange.GetOrder 没有Order的ID怎么办呢?

小小梦 用的是 python 么,导入了这个 乱码名字的 DLL ,乱码因为字符集原因。检查下策略导入那些 库。

lfdfmz 那里错了?- -!

小小梦 代码写错了。

小小梦 两个不同的交易所。

lfdfmz var date = new Date(); var now_utc = Date.UTC(date.getUTCFullYear(), date.getUTCMonth(), date.getUTCDate(),date.getUTCHours(), date.getUTCMinutes(), date.getUTCSeconds());

lfdfmz 哦哦

小小梦 我测试了 打印出了上面的信息。 别回测啊,回测不支持 HttpQuery 仔细看,文档上写了。

小小梦 我测试了 打印出了上面的信息。

小小梦 贴代码看下。

lfdfmz function main() { var r = HttpQuery("https://api.coinmarketcap.com/v2/ticker/825/"); Log("r:",r) } --------------------------打印出来的是这样----- 2019-03-26 00:00:00 信息 r: dummy

lfdfmz date.UTC javascript是有这个函数的啊

小小梦 TypeError: Date.UTC is not a function 百度翻译: 类型错误:date.utc不是函数

小小梦 我测试了下 ,目前打印出来是这个信息 { "attention": "WARNING: This API is now deprecated and will be taken offline soon. Please switch to the new CoinMarketCap API to avoid interruptions in service. (https://pro.coinmarketcap.com/migrate/)", "data": { "id": 825, "name": "Tether", "symbol": "USDT", "website_slug": "tether", "rank": 8, "circulating_supply": 2827783840.0, "total_supply": 3120057493.0, "max_supply": null, "quotes": { "USD": { "price": 1.0069055125, "volume_24h": 15812490619.3052, "market_cap": 2847311137.0, "percent_change_1h": 0.07, "percent_change_24h": -0.21, "percent_change_7d": 0.08 } }, "last_updated": 1556153593 }, "metadata": { "timestamp": 1556153605, "warning": "WARNING: This API is now deprecated and will be taken offline soon. Please switch to the new CoinMarketCap API to avoid interruptions in service. (https://pro.coinmarketcap.com/migrate/)", "error": null } }

lfdfmz 在fmz租用的服务器没办法安装numpy是吗?

小小梦 您的托管者所在服务器 python 没有安装 numpy 这个库,您的策略代码中用到了这个库,找不到所以报错。

小草 同时访问多个接口时,可以节约时间

小小梦 可以详细看下 API 文档上关于市价单的 描述, 市价单 买入的时候传入的第二个参数是 金额 不是 币数。

小小梦 不是开源的,亲。

小小梦 可以使用 _G 函数 保存 详情参看 API 文档。

小小梦 这个需要 写程序 算。 访问GetPosition 接口,查询下 原始信息,里面应该有相关的数据。

小小梦 这个10007是 交易所的 错误码,https://www.fmz.com/bbs-topic/597 帖子是交易所API 文档汇总,可以查询相关交易所的 错误码信息。

小小梦 1、 ```ERR_INSUFFICIENT_ASSET ``` 这个是 资产不足 以 下单了。 2、```TypeError: Cannot convert "null" to double``` 这个是 传参数 传错了 ,应该是要求传的参数是 数值 类型, 传入 null 空值了。 这个直接百度 翻译字面意思 大概就知道了。

小小梦 可以看下 发明者知乎专栏 : https://zhuanlan.zhihu.com/p/27300549 这篇文章。

小小梦 哦 ? 具体是什么问题 ?

小小梦 百度 VPS 应该有很多 亚马逊 阿里云 其他地区 等等

小小梦 具体调用的是哪个 接口 ? 回测系统中 深度接口 除第一档 都是模拟数据。 还有一些不是 关键的数据 也是 模拟的。

小小梦 现在就是 非对称的加密,只要您保存好您的 FMZ 密码就可以,只不过 这个 牵涉安全问题和核心技术, 过多细节 不能告知,请见谅。

_既往不咎 你好,能不能反应下将对称加密改为非对称加密,不然这些问题始终存在,botvs的服务器被攻破,或者内部工作人员职业道德问题,key会外泄。

小小梦 用的是 python 的 time 包的 sleep 么。

chan122 sleep(300),回测的时候也得等300秒。。

小小梦 是的。租个 亚马逊之类的。

whjy 怎么解决 直接用国外的服务器么

小小梦 访问 交易所 超时 , 目前只有国外的服务器 能访问到 OKEX 。

小小梦 可以 跟随 5分钟K线 的更新 做处理, 其余时间用Sleep 跳过。

小草 这种条件太苛刻了

小草 api key使用密码明文加密的,你输入key时需要输入密码,botvs没有保存明文,所以没有问题

小小梦 哦 好的,感谢提出建议, 这边 安全机制 开发 等 ,是另一个部门负责的,这方面可能我不是很清楚。您提出的建议我们这边 积极考虑,给用户一个十分安全放心的量化交易环境。

老猫爱吃鱼 用原密码解密,这就是对称加密啊。 上传api key时候,输入的是botvs的密码进行加密。 部署托管者的时候,输入的仍然是botvs的密码进行解密。。。 如果botvs储存的加密后的apikey被泄露,只要获取用户的botvs密码,就能解密获取key的明文。 这很不安全。 建议换成非对称的公钥私钥。 公钥用来加密上传,私钥只在用户手里,只在部署托管者时使用。

小小梦 是非对称的, BotVS 不储存 明文API KEY, 用户 服务器本地 解密 使用的。 除非用户服务器被黑,或者 用户自己的密码外泄。现在 就是 部署托管者时需要输入 密码。

老猫爱吃鱼 谢谢回复。 深入讨教下整个api key的使用流程: 1、我们在botvs网站,web端输入api key并提交; 2、加密后,通过https传输到botvs服务器保存; 3、botvs服务器,把加密的api key推送给托管者; 4、托管者将收到的api key在本地解密,去连接对应的交易所。 所以,这是一个对称加密。只要有密钥,都可以解密。 也就是说,如果botvs的服务器被攻破,或者内部工作人员职业道德问题,key会外泄。 我的理解对吗? 如果是这样,建议换成非对称加密以保管key。 由用户在托管者处输入私钥,开始启动连接交易所。

小小梦 已经更新上,参看第47个 说明。

小小梦 已经更新上,参看第47个 说明。

老猫爱吃鱼 握手,我是刚刚接触botvs的代码老狗,同问。

小小梦 取当前时间在 python 代码中是这样写 ``` import time def main(): Log("当前时间:", _D(time.time())) # 输出当前时间。 ```

小小梦 不客气 ^^

Carpedium6740 是这个问题,已解决,谢谢

小小梦 应该是 密码配置 错误 ,失败登录次数超过限制了,导致的, 可以联系下 simnow 客服 , 申请下解封。 配置好密码 账户 之类的 ,之后 如果 修改了 BotVS 密码,配置的 就会失效,需要重新配置。

小小梦 可能 有些 指标 OK 用的 和 Talib 库的实现的 不一样。 好几个都是, 比如 STOCHRSI

小小梦 这个 问题 应该是 在您申请 交易所 API KEY 的时候 设置了 白名单 地址, 然后 您实际 创建机器人 访问 交易所 API KEY 的时候 使用的 IP 地址 不是 这个白名单上的, 您检查下 API KEY 申请时的设置。

小小梦 必须有 ID 的 否则 不知道 要查询的是 哪个订单。