Loading ...

发明者量化(FMZ.COM)策略编写完全使用手册2.0(教程)

Author: 小小梦, Created: 2016-11-03 17:46:05, Updated: 2019-05-07 16:47:17

[TOC]

发明者量化(FMZ.COM)

初级教程视频

配套帖子

https://www.fmz.com/bbs-topic/705

目录


More

yinchaoji 一直没看到发明者是怎样保护我们上传的API,有人知道吗

18100139090 可以看了,谢谢

18100139090 https://files.quantinfo.com/JC/2-3-1.mov.mp4?botvs提无法访问该网页

18100139090 视频怎么看不到了

willson def main(): Log("账户信息", "test") Log(exchange.IO("status")) while not exchange.IO("status"): Sleep(3000) LogStatus("正在等待与交易服务器连接, ") Log("连接成功") Sleep(3000) #exchange.SetContractType("rb1905") k = exchange.GetRecords(PERIOD_H1) Log("k线", k) account = exchange.GetAccount() Log("账户信息", account) 期货实盘(中信期货)的时候, 可以连接成功,也可以打印出账户信息,但是k线报错,显示 GetRecords: market not ready。怎么解决

自由人 请问你是有没有单机版软件

undefined mark

sky54521 mark

ToBeTrader 演示视频里左边部分的源代码在哪里可以找到?跟随视频里讲解写的代码老是报错,自学编程者,能力纠错有限,想找源代码复制,不知道在哪里有?

flydog 网站上有最新的python的API文档吗?

kaizi1231 测试了下OKEX的ETH_BTC 30分周期,设置底层K周期5,15,30分 ,返回K线数据为: 1小时线的 而日线周期,设置底层K周期为30分钟及以下周期时,该合约的返回K线数据为: 1小时线, 底层K周期为日线时,是1小时36分周期的K线数据。 只有在日线周期,设置底层K周期为1小时,该合约的返回K线数据为:TICK 所以不是很理解,这个底层K周期的机制是什么情况?

greatsubmarine 群已满,请问还能怎么下载布置托管者的视频呢!谢谢!

dwq418237 请问怎么在自己的网站中做K线图

dwq418237 请问怎么在自己的网站中做K线图

khanzhu 请问回测系统的k线周期和模拟级ticker下的底层k线周期有什么区别啊

lxf 建议给网站 增加一个收藏功能,将其收入登录用户的收藏夹

17071300696 3群满了

wuxiDianel 模板的$.Cross函数只能检测价格的均线交叉,请问我这有一段数据(非实时价格),我想做一条他的均线出来,并且判断当前价格上穿这条均线,要怎么做?谢谢

pengium 本地视频都看不了了?

topscien 交流群都满员了,请问有新的交流群吗?

ucshell <b>顶</b>

韩诺她 啥时候能支持外汇就好了,mt4的tick级别回测不如botvs方便。感觉,玩外汇的门槛,比商品期货低,但是如果做好了,收益比商品期货高多了。 网上有公开的盈透api接口。

linzx2015 群满了,有新的群吗

super0418 有没有交流群啊

dangeroussnack 本地编辑的 sublimetext 插件在哪下载?

fuf816 从现在开始好好学习

pengliheng https://dn-filebox.qbox.me/4a698e34465703df046c2bc7492711958580106a.png 这样报错是因为什么呀,代码错误还是因为本地服务器跑的机器人所以报错呀

pengliheng @小小梦

pengliheng botvs sync [botvs.js] failed, errcode: 403 may be the token is not correct?? sublime text3 编辑器之前还可以,后来我把注释的那段代码删了,现在重新复制一段,就一直报错,无法同步跟新线上代码///////////

pengliheng 晕,我找到该视频里面的原文,已解决

pengliheng SyntaxError: Invalid or unexpected token,这报错是怎么弄啊,也不告诉我是哪一行报错。。。。

石器时代 来晚了,失去好多机会。

GAOLIANG 很牛,希望能学习到。

calmbrave 非常棒的学习资料!

wtxagxy 开发环境必须得在网页上吗,有没有可以在本地开发的

小小梦 教程版面调整了,如果需要查找初版帖子 点击: https://www.botvs.com/bbs-topic/705

sigma would be great to have this in english too. is that possible?

pyramid 非常好

pyramid 非常好

eternalfox 小白 小白 小白来啦

小小梦 有的,这个问题老生常谈了,参看: https://www.fmz.com/bbs-topic/1657

小小梦 不客气。

小小梦 现在可以打开了,您可以试下。

小小梦 只是 CTP 初始化的时候 ,有个过程,此时访问K线数据可能会提示: market not ready , 后面就不会报错了。

小小梦 有PC端 软件,需要策略应用码启动。https://www.fmz.com/bbs-topic/2339

小小梦 您这个需要的是具体哪个 视频?哪个帖子中的,我去找下 ^^

小小梦 有个 老一点的 Python 帖子, 不过对于接口调用 JS 和python 基本一样 极个别函数 有差别 比如 JS 有HttpQuery , python 没有, python 用 urllib , 其他的 基本都一样。

kaizi1231 OKEX的ETH_BTC,K周期是30分钟,底层K为5分钟/15/30,时间是2018.1.1-2018.8.1,打印出的K数据都是1小时的 OKEX的ETH_BTC,K周期是日线,底层K为1小时,时间是2018.1.1-2018.8.1,打印出的K数据是TICK的 如果底层K设置是1小时以下,都是返回每1小时 如果底层K设置是日周期,返回每1小时36分周期数据 之前有换过火币的ETH_BTC,也是一样。 麻烦测试下看下,到底是什么原因,谢谢了

小小梦 您回测 的 交易所 , 交易对 , 时间范围 ,K线周期 ,底层K线周期 , 您发下 , 我这边测试下。

kaizi1231 帖子里也没说明我测出来的问题啊,假设我设置30周期,不管我底层K周期是5,15,30分,打印出的K线应该是底层合成的每30分钟一条K的数据,但实际返回的,却是每1小时周期数据,周期对不上,那回测出的结果都是有问题的,这个问题就很严重了

小小梦 在首页 有 4个群的 群号 和 电报群,都可以加下,然后联系 管理员就可以了。

小小梦 可以参看这个帖子 https://www.fmz.com/bbs-topic/662

小小梦 收藏 这个估计应该是游览器的功能,是指的 网页收藏么?

小小梦 四群 群号:456221748

小小梦 可以的, 您换个游览器试下, 我这边测试的 可以打开,用的chrome 游览器。

小小梦 有三群 https://www.botvs.com/bbs-topic/1503

韩诺她 外汇没有涨跌停限制,而且是24小时不停交易,这个跟数字货币是一样的。这才是币民的最爱。

小小梦 好的 感谢 提出建议 ,都以列入计划。 ^^

小小梦 有的 请加3群: 469046711

小小梦 https://dn-filebox.qbox.me/dc6ef36a7c4a035111316360b3b10b2dca11d7ce.png

黑马王子 这个类似的错误,我也遇到过,老是导致机器人死机了,不知道小梦有什么解决方法了?

dangeroussnack 哦哦明白了,要先点击“远程编辑”才会出现这个界面。 谢谢啦

小小梦 策略的编辑页面,如图: https://dn-filebox.qbox.me/42d1726bfcc679a70138b648e105401167ba0188.png

小小梦 自上而下 ,第一条是 导致 机器人 停止的报错, 原因是 调用了 null 值的 Balance 属性, 就是 由于 下边一条引起的。 第二条 , 是交易所 返回的数据 错误 没有返回 GetAccount 期望获取的 账户信息,而是返回了 null ,是交易所的问题。导致第一条错误。

小小梦 并不是的~ 原因是 你不能同步空代码,随便写点什么 就可以同步。空的报错~亲测

小小梦 找到问题了,不能同步 空的代码,至少要写一些字符什么的。 我测试了 空的就报错的。 https://dn-filebox.qbox.me/94175c4844e1ef1b23276a1cbdc2af43bddfd8ab.png

pengliheng 我去~解决了,原来要同步必须线上线下代码要先一致才能实现同步更新

pengliheng https://dn-filebox.qbox.me/fd53468ee22b1360e7a65e539de976caefb93062.png https://dn-filebox.qbox.me/fb395a1da79c73c4fe46be02000c97dc2097fd96.png

pengliheng https://dn-filebox.qbox.me/fd53468ee22b1360e7a65e539de976caefb93062.png

pengliheng 重新生成密匙这个我已经试过了,

小小梦 你把策略的 远程同步 密钥 重新生成一下,用这个新的密钥写在 策略最上端 ,试下 重新同步。

pengliheng SyntaxError: Invalid or unexpected token 这种报错一般怎么调试,照着视频敲代码都能报错,检查两次了,,,也不告诉我就是哪一行报 //参数设置 var ContractType = "rb1710"; var UsedRatio = 0.5; //使用系数,1000本金只用500 //全局变量 var Interval = 500; var Balance_Unit = 0; var ContractTypeInfo = null; var initAccount = null; //记录账号状态 var LONG = 1; var SHORT = 2; function loop(){ // Log("looassdp") } function CheckBalance_Unit(Direction){ ContractTypeInfo = exchange.SetContracType(ContractType); Log("标的物合约信息:", ContractTypeInfo); Balance_Unit = _N(initAccount.Balance * UsedRatio / 10, 2); Log("账户信息:", initAccount, "资金分配 10份,一份为:", Balance_Unit); var ticker = _C(exchange.GetTicker); var OneContractMargin = ContractTypeInfo.VolumeMultiple * ticker.Last * (Direction == LONG ? ContractTypeInfo.LongMarginRatio : ContractTypeInfo.ShortMarginRatio); if(Balance_Unit < OneContractMargin * 1.2){ throw "最新价格:" + ticker.Last + "调整系数1.2" + "资金可用部分为10分之1 不足 开" + (Direction == LONG ? "多" : "空") + "一手合约," + "一手合约需:" + OneContractMargin; }else{ Log("最新价格:" + ticker.Last + "调整系数1.2" + "1份资金 可开:",Direction == LONG ? "多" : "空", _N(Balance_Unit / OneContractMargin, 0)); } var nowAccount = _C(exchange.GetAccount); if(nowAccount.Balance < Balance_Unit){ throw "当前账户资金已小于可用部分的1/10。当前资金:" + nowAccount.Balance + ", 初始值可用部分的1/10为:" Balance_Unit; }else if(nowAccount.Balance < OneContractMargin * 1.2){ throw "资金不足:" + JSON.stringify(nowAccount) + ", 系数1.2 1手合约保证金:" + OneContractMargin; } } function main() { //程序的初始化工作(待填写) while(true){ if (exchange.IO("status") == true && (initAccount = exchange.GetAccount()) !== null){ break; } LogStatus("等待交易时间获取账户信息初始化!" + "时间:", new Date()); Sleep(Interval); } CheckBalance_Unit(LONG); CheckBalance_Unit(SHORT); var LoginState = null; var nowTimeStamp = 0; while(true){ nowTimeStamp = new Date().getTime(); if(exchange.IO("status") == true){ LoginState = true; loop(); }else{ LoginState = false; } LogStatus("时间:", _D(nowTimeStamp), LoginState ? "已连接" : "未连接"); Sleep(Interval) } } function onexit(){ //可以处理一些操作,保存状态下次恢复 Log("保存数据成功") }

小小梦 不晚的 ^^ 加油!

小小梦 不客气 ^^

wtxagxy 十分感谢

小小梦 ### 有的 ,本地安装一个插件 就可以了支持 如图: https://dn-filebox.qbox.me/92ed53b4aed4972d3a3df85959b1a3ca338f3bc1.png ### 编辑后保存,会自动同步到BotVS上。 https://dn-filebox.qbox.me/0d04c7b048452594c9e1782884bec2318d01208f.png

小小梦 Thanks for supporting BotVS , I try my best!

sigma your english is better than my chinese probably ever will be. It would be great, if also people who dont speak chinese could use this service.

小小梦 my english is poor! but I want to good. I need learn.

sigma ^^ will it happen, 小小梦 ?

小小梦 It is possible, ^^