当前位置:首页 > 软件开放 > 正文内容

原生js焦点图代码(js获取焦点和失去焦点)

软件开放1年前 (2023-12-30)436

接着上篇文章我们继续学习。

所有操作的前提--和期货公司前置机连接

exchange.IO("status")函数判断与期货公司前置机连接状态

可能有的同学会问exchange是什么?

答:在 零基础入门商品期货程序化交易(1) 篇最后,我们动手实践了一下运行了一个看上去挺复杂的策略,功能是在FMZ实盘页面状态栏上显示一个表格,表格上为所有的合约代码以及相关信息。我们实践时在实盘页面给实盘配置的 华泰期货次席(看穿式监管) 就对应策略代码中的exchange即交易所对象。

所以exchange是什么?

答:简单理解exchange就是我们配置好的期货公司账户!

那在实盘上可以配置多个这样的代表期货公司账户的交易所对象么?

答:当然可以,不过这属于略微高阶一点的内容,我们仅仅知道就可以,暂时用不到。

上篇我们学会了if(...) {...} else {...}语句的基本用法。接着我们就要学习重点了,前面讲解了那么多基础语法就是为了这里的一个功能。还记得我们说过的:所有操作的前提--和期货公司前置机连接这句话么?在if语句的小括号中的判断条件就是用来判断和期货公司前置机连接状态的。这个if中的表达式条件由exchange.IO("status")函数调用返回。

exchange.IO("status")函数调用时返回true,表示与期货公司前置机已经连接(并且正常登录)。

exchange.IO("status")函数调用时返回false,表示与期货公司前置机未连接。原因可能是:

1、未到开盘时间,期货公司前置机服务器并未开启。

2、账户密码配置错误,这时有错误日志输出,参看前几篇文章中提及的内容。

3、认证失败,配置的期货公司未看穿式认证,这时也有错误日志输出。

4、网络原因,IP地址错误、端口错误等,伴随错误日志输出。

这里就很容易理解这个程序逻辑结构了:

展开全文

整个商品期货策略框架就是:

从策略代码的主函数,也就是main函数开始执行。首先遇到了一个while循环,并且循环的条件恒定为真值。所以这个循环会不停的执行。每次执行这个循环的循环体代码时,会使用if语句进行判断,通过exchange.IO("status")函数调用时返回的值来确定系统与期货公司前置机服务器的连接以及登录状态(exchange.IO("status")是固定写法可以死记硬背!)。如果exchange.IO("status")函数返回了true则执行对应的if代码块内的代码。如果返回了false则执行对应的else代码块内的代码。

exchange.SetContractType()设置合约函数

原生js焦点图代码(js获取焦点和失去焦点)

接着我们看看如果和期货公司前置机服务器连接上之后要做点什么操作。当exchange.IO("status")函数调用返回true时程序的执行流程就进入了if语句对应的代码块,这时已经确定了和期货公司前置机通信连接正常。可以执行获取行情、下单等操作。但是请想一想我们做这些操作是不是需要有个目标,简单说就是要对哪个合约做下单操作?获取哪个合约的行情?

这里我们就要学习到一个新的FMZ的API函数:SetContractType(),可以看到SetContractType()是exchange交易所对象的成员函数。简单说就是SetContractType()是基于exchange调用的,作用是设置exchange这个交易所对象代表的期货账户当前所要操作的合约。

代码中exchange.SetContractType("MA000")我们传入了参数MA000。MA000是一个合约代码,我们查询 零基础入门商品期货程序化交易(1) 中实践运行的例子显示的合约代码表格里,可以看到MA代码是指甲醇合约,那么000是指什么呢?000是FMZ平台定义的指数合约代码,组合起来MA000就是甲醇指数合约。类似的在FMZ上定义的虚拟合约还有主力连续合约(使用888表示),写法是MA888表示这个合约是甲醇主力连续合约。

exchange.GetTicker()获取行情数据

当设置好当前的合约,明确了要操作的合约,就可以获取这个合约的行情数据了。我们学习的另一个函数GetTicker(),这个函数也是exchange交易所对象的成员函数。作用是获取当前的实时行情数据,数据结构为:

var ticker = exchange.GetTicker()这行代码调用了GetTicker()函数获取当前实时行情赋值给声明的ticker变量。

Log("MA000 ticker:", ticker)

Log函数作为使用最频繁的函数,使用起来也很简单。其作用就是输出传入的参数在实盘的日志区域。

Log函数用于把一些认为关键的信息在实盘日志中输出,也常用于调试策略程序,观察分析程序中的数据。这里我们执行的Log("MA000 ticker:", ticker)函数,其中传入了2个参数。第一个参数是一个字符串MA000 ticker:,第二个参数是被赋值后的ticker变量。

运行时输出的日志如下图:

LogStatus()和_D()函数

最后再学习这两个FMZ的API函数,本例就算是学习完了。LogStatus函数和Log函数类似,只不过Log函数是在实盘页面的日志区域输出。LogStatus函数是在实盘页面的状态栏上输出,如图:

至于LogStatus函数还有很多有趣的用法,目前可以暂时先了解到此。(有兴趣的可以查看API文档自行提前学习:https://www.fmz.cn/api#logstatusmsg)

那么_D()函数是做什么用的呢?

_D()函数用途也十分简单,如果不传入参数就是返回一个当前的时间字符串,通常是用来打印当前时间方便观察。

回测测试

至此,以上这段代码从整体到细节我们都分析了一遍。前几篇内容中也提过,其实我们在FMZ上学习的时候可以充分利用FMZ平台的回测系统学习策略设计、编程语言语法,甚至提升自己的DEBUG能力(排错能力)。以上代码也可以在回测系统中运行。

设置好之后,点击开始回测按钮策略就在回测系统中运行起来了。

当然,这个策略代码例子仅仅是在判断实盘程序和exchange对应的期货公司前置机连接之后,设置exchange对象当前操作的合约为MA000即甲醇指数合约,然后打印实时行情数据。在未连接的状态下,仅仅在状态栏上输出时间和未连接CTP !。当然,这些和期货公司连接之类的机制在回测系统中都是模拟的,为了让策略的回测和实盘在设计上尽量保持一致。

扫描二维码推送至手机访问。

版权声明:本文由飞速云SEO网络优化推广发布,如需转载请注明出处。

本文链接:http://chlfg.com/post/75055.html

分享给朋友:

“原生js焦点图代码(js获取焦点和失去焦点)” 的相关文章

西安软件开发(西安软件开发培训机构)

西安软件开发(西安软件开发培训机构)

今天给各位分享西安软件开发的知识,其中也会对西安软件开发培训机构进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!本文目录一览: 1、西安的比较好的软件公司(.net方向),请列举一下 2、在西安软件开发一般工资有多少 3、西安软件公司那么多,我们用的软件却很少见西安开发...

同花顺免费炒股软件下载(同花顺炒股软件下载网址)

同花顺免费炒股软件下载(同花顺炒股软件下载网址)

本篇文章给大家谈谈同花顺免费炒股软件下载,以及同花顺炒股软件下载网址对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。 本文目录一览: 1、想请问,同花顺炒股软件去哪里下? 2、买股票应该下载什么软件最好? 3、炒股软件app排名 4、同花顺手机炒股软件怎么样? 5、同花顺股票分...

交易猫怎么卖梦幻西游手游(交易猫怎么卖梦幻西游手游账号)

交易猫怎么卖梦幻西游手游(交易猫怎么卖梦幻西游手游账号)

本篇文章给大家谈谈交易猫怎么卖梦幻西游手游,以及交易猫怎么卖梦幻西游手游账号对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。 本文目录一览: 1、网易梦幻西游手游手机账号应该怎么出售啊?在交易猫交易因为是手机账号,交易失败了 2、梦幻西游手游在哪卖号 3、梦幻西游手游死绑号哪里买...

朋友圈引流推广文案(朋友圈引流推广文案)

朋友圈引流推广文案(朋友圈引流推广文案)

今天给各位分享朋友圈引流推广文案的知识,其中也会对朋友圈引流推广文案进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!本文目录一览: 1、我想请问一下怎么做引流?有那些可以帮助推广的平台呢? 2、餐饮店如何引流与推广 3、餐饮店如何引流与推广? 4、微商引流精准 微商...

php手游源码平台(php页游源码)

php手游源码平台(php页游源码)

今天给各位分享php手游源码平台的知识,其中也会对php页游源码进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!本文目录一览: 1、php网上商城系统源码求大神推荐一下不要太贵的 2、好的免费PHP源码下载 3、php网站源码 asp网站源码 哪个好 4、怎么才能安...

我的世界手机版合金时代js(我的世界合金图片)

我的世界手机版合金时代js(我的世界合金图片)

今天给各位分享我的世界手机版合金时代js的知识,其中也会对我的世界合金图片进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!本文目录一览: 1、我的世界手机版矿物探测js怎么用 2、我的世界js怎么下载? 3、我的世界手机版js存档在哪 4、我的世界手机版js为什么联...