- UID
- 2
- 积分
- 2893117
- 威望
- 1396590 布
- 龙e币
- 1496527 刀
- 在线时间
- 13326 小时
- 注册时间
- 2009-12-3
- 最后登录
- 2024-12-26
|
[TB源码] 开拓者 TB 强悍的全局变量功能 及 源码范例 想成为开拓者高手必看
全自动的程序化交易必须解决以下三大难题:
⒈既要保证交易信号的及时性,又要做到信号不能反复;
⒉记录每一次系统开、平仓的价格,以及账户的持仓变动,以便进行加减头寸及资金管理的安排;
⒊在同一根K线上进行交易控制,实现跨周期数据引用,以便精确实现短线交易时机的把握。
通过三天的学习,依托交易开拓者软件全局变量的强大功能,我终于攻克了上述三大难关。
除了普通变量外,交易开拓者软件提供了三种特殊变量,它们分别是:
⒈序列变量:可以进行数据的回溯,从而实现条件、循环语句的应用;它的运行特点是每一根BAR依次执行,这不同于坊间文华等其它交易软件平台的一次性运算。而且,它的全部函数均提供了算法,不同于黑箱的做法,有利于校对和修改。
⒉引用型变量:可以通过用户函数的形式,进行一劳永逸式的编写,避免程序的冗余。
⒊全局变量:用于中间计算过程的记录和存取,可以实现同一根BAR上的仓位管理与开平仓价格记录。
假设我们需要记录当前BAR的动态仓位状态,使用普通变量、序列变量都是无法完成这项任务的,必须使用全局变量来实施控制,并配合A_SENDORDER函数来发出买卖指令。比如,我们当条件满足时,分别记录买卖仓位的动态变化后,采用SET GLOBALVAR(0,1),记录当前的仓位为1手多单,然后可以不断改写第一个全局变量的值,在需要读取操作的时候,我们采用cw=getglobvar(0)的方式来实时地取回。使用全局变量时一定要进行初始化的设置,这样在系统断线后,只要不关闭相关图表,重连后的数据依然可以保持正确。切记不可简单使用BARSTATS的状态来确认全局变量,
以下的这个例子较好地表述了套利系统中全局变量的应用。
本帖隐藏的内容需要回复才可以浏览 |
论坛官方微信、群(期货热点、量化探讨、开户与绑定实盘)
|