金十交易学院

3.4 可视化编程快速入门

不想错过精彩课程?一键“订阅”,轻松学习!




大家好,欢迎来到金十交易学院《智能量化交易》课程。


摘要:很多主观交易者对量化交易感兴趣,刚开始信心满满,等学完传统编程语言的基础语法、数据运算、数据结构、逻辑控制等等,看着既冗长又复杂的代码后,往往又望而却步,或者浅尝辄止,这时可视化编程语言可能更适合带你入门。


一、完整策略


为了帮助大家快速理解本节的重点知识,在介绍发明者量化可视化编程语言快速入门之前,先看下用可视化语言写出来的策略是什么样的?以及对本节名词概念有个初步了解。我们以最简单的收盘价大于50周期均线做多,反之收盘价小于50周期均线做空为例:


l 多头开仓:如果当前没有仓位,并且收盘价大于50周期均线。


l 空头开仓:如果当前没有仓位,并且收盘价小于50周期均线。


l 多头平仓:如果当前持有多单,并且收盘价小于50周期均线。


l 空头平仓:如果当前持有空单,并且收盘价大于50周期均线。


如果用可视化语言把上面的策略编写出来,就是这样的(如下图):



如上图所示,整个策略设计流程就是:设置行情品种、获取K线数组、获取上根K线的50周期均值、获取上根K线的收盘价、获取持仓数组、判断持仓状态、判断收盘价是否大于或小于均线、执行开仓或平仓。


这里需要注意“数组”这个概念,数组对于每一门编程语言来说都是重要的数据结构之一。数组就像容器一样,里面可以存放一系列的值。比如:调用获取K线数组的API,它返回的结果是这样的:



上图中的代码就是一个K线数组,该数组一共有3个数据,分别是上上根K线的数据、上根K线的数据、当根K线的数据。假如我们把这个数组赋值给一个变量“arr”,如果想要获取这个数组,最后一个数据(当根K线的数据)可以这样写(如下图第4、5行):



大家直接用第二种(第5行)的写法,因为现实中K线数据有成百上千根,而且新的K线是不断增加的。所以可以先获取数组的长度,“arr.length”的意思是获取该数组的长度,再减去“1”,就是最新K线的数据。如果想要获取上根K线的数据,就减去“2”。


细心的你可能会发现,这些数据都用“{}”包括起来,看英文名就大概知道里面对应的分别是:时间、开盘价、最高价、最低价、收盘价、成交量。如果想要获取上根K线的收盘价,直接在后面加上“.”再加上所需要的值就可以了,参照下图第8-10行。



二、为什么要使用可视化编程语言?


有了以上的概念,让我们先用Java语言写一个输出“hello world”的程序,来感受一下传统编程,如下图:



仅仅只是输出一个“hello world!”字符串的程序,就写了5行代码。相信大多数初学者,只认识括号中的英文单词“hello world”,其他更是无从下手。所以,比起手足无措,以可视化编程为入门,不失为更好的选择。


三、什么是可视化编程?


可视化编程由来已久,并不是新鲜事物。这种“所见即所得”的编程思想,搭载着各种控件模块,仅仅以拖拽的方式,就可以构建代码逻辑,完成交易策略设计,过程很像搭积木一样。



如上图,同样的程序,在blockly可视化编程中只需要一行代码就搞定。这极大的降低了编程门槛,尤其针对那些完全不懂编程的交易者,这是非常棒的操作体验。


四、可视化编程语言有哪些特点?


blockly可不是一个编程玩具,它是实诚的编辑器,而不是那种伪装成编辑器的操作系统,支持许多编程的基本元素,如:变量、函数、数组,及易于扩展自定义的块,你可以用它完成复杂的编程任务。在设计上十分符合unix哲学:Do one thing。


发明者量化的可视化编程,也正是借着Google发布的blockly可视化工具来实现的。在设计上与麻省理工大学推出的Scratch类似,真正的零门槛(如下图)。



在发明者量化的可视化编程界面,内置上百种常用交易模块,后续会有更多的交易模块加入,来支持交易者的新思想和新应用,这些将由开发者共同开发和维护。


虽然语法简单,但又不失性能。几乎可以满足大多数简单的量化交易策略开发。无论是在功能、速度上,不输于Python、JavaScript等常规编程语言。未来将会支持逻辑复杂的金融应用。


五、如何使用?



1、写一个“hello world”程序



2、运行,把“hello world”打印出来




下节预告:可视化编程与高级编程语言基础没什么区别,甚至有些地方是通用的,学会了可视化编程也就离学会高级编程更进一步。下节我们将深入可视化编程进阶学习,包括如何在发明者量化工具上用可视化语言编写常用的量化交易模块,以及如何开发一个完整的日内交易策略。


课后习题:

1、在发明者量化可视化编程界面,使用API并理解他们的意思。

2、用可视化语言获取最新的开盘价,并把它输出到日志中。


最后给大家一个温馨小提示:在课程和直播页面,点击“订阅”按钮,就可以及时接收提醒,不错过课程和直播的精彩内容!


金十交易学院,8点准时更新


0人喜欢
2019-03-15 08:00:00