1  在交易开拓者当中,关于交易的做单方式一般分为:图表函数和A函数两类。

   两类的主要区别为:如果采用图表函数的话,所有的交易内容都是以图表上面的信号为准,当前仓位运行的实际状态是没有的,但是可以显示交易图标和图像,并且可以进行回测;对于A函数而已,不具有显示交易图表和图像和回测的功能,除了与图表函数具有要求点位做单的功能外,仓位的实际运行状态可以进行操作。

  举例:比如图表函数中,在某一个点位进行下单信号,此时运用图表函数可在这个位置进行下单;但是如果此单并没有成交,如果突然又遇到一个平仓信号,图表函数认为已经成交了,会发出平仓指令。如果采用A函数,此单如果没有成交,即使遇到平仓信号,设置条件也不会发出平仓信号。

  因此最大一个不同就是A函数考虑了单子的实际状态,而图表函数所有信号全部以图像显示的为准,忽略单子的实际状态。

2  A函数的下单常用操作。

2.1  A_BuyPosition和A_SellPosition、A_TotalPosition(合计仓位)

  如果判断多图表上的

  Data0.A_BuyPosition 或 Data0.A_SellPosition

  Data1.A_BuyPosition 或 Data1.A_SellPosition

  其中:A_TotalPosition:正数表示多仓,负数表示空仓,0表示无持仓

2.2  以A_BuyPosition为例,A_SellPosition同理

2.3  A_BuyPosition 是当前真实账户,当前商品的持多仓量

  MarketPositon 是指测试过程中的持仓状态,不会出现锁仓的情况。在做真实交易时,尽量同步真实账户和测试的仓位及资金等信息。

2.4  如果当前持多单3手,返回值为3

2.5  最后一个bar,指的就是价格在跳动的那个bar

2.6  只在最后一个bar上,也就是2.5说的那根bar上才有值,其他bar都是N/A

2.7  关于下单函数A_SendOrder

  对应图表函数,对应的下单函数如下:

Buy Or Sell (Enum_Buy(买入)或Enum_Sell(卖出)) Entry(开仓)/Exit(平仓)/ExitToday(平今) fLot(发送委托单量) fPrice(交易价格) 示例  
1.建多单使用buy  替换为可用参数Enum_Buy 开仓使用Entry 替换为Enum_Entry 开多仓单5手 价格可指定和使用Q函数,如Q_AskPrice() A_SendOrder(Enum_Buy,Enum_Entry,5,Q_AskPrice());  
2.平多仓使用sell  替换为可用参数Enum_Sell 平仓使用Exit /ExitToday(平今)替换为Enum_Exit(平仓),Enum_ExitToday(平今仓)之一 平多仓单5手,也可使用A_BuyPosition()获取 价格可指定和使用Q函数,如Q_BidPrice() A_SendOrder(Enum_Sell,Enum_Exit,5,Q_BidPrice()  
3.建空单使用Sell 替换为可用参数Enum_Sell 开仓使用Entry,替换为Enum_Entry 开空仓单5手 价格可指定和使用Q函数,如Q_BidPrice() A_SendOrder(Enum_Sell,Enum_Entry,5,Q_BidPrice());  
4.平空单使用Buy 替换为可用参数Enum_Buy 平仓使用Exit /ExitToday(平今)替换为Enum_Exit(平仓),Enum_ExitToday(平今仓)之一 开空仓单5手,也可使用A_SellPosition()获取 价格可指定和使用Q函数,如Q_AskPrice() A_SendOrder(Enum_Buy,Enum_Exit,5,Q_AskPrice());

2.8  该函数直接发单,不经过任何确认,并会在每次公式计算时发送,一般要配合仓位头寸条件处理。

2.9  不能用于历史测试,仅适用于实时行情。

2.10  持仓手数一定要写要平或开多少。不能写零,容易造成误平。

3  用几个实例来说明函数应用。

If(BarStatus == 0)
{ // 全局变量初始化
SetGlobalVar(1,0); // 记录高空低多状态 1 0
SetGlobalVar(2,0); // 记录高多低空状态 -1 0
SetGlobalVar(3,0); // 记录平仓后当根不再开仓 1 0
}

//高空低多状态
If(GetGlobalVar(1) == 0 And Data0.A_SellPosition() == 0 And Data1.A_BuyPosition() == 0 And Dclose[1] > st1_upperband[1] And Dclose[1] < st3_upperband[1] And Data0.Open == Data0.Close[1] And Data1.Open == Data1.Close[1] And Data0.Vol > 5 And Data1.Vol > 5) // 高空低多开仓
{
Data0.A_SendOrder(Enum_Sell,Enum_Entry,LotsA,Data0.Open); //Data0.高空开仓
Data1.A_SendOrder(Enum_Buy,Enum_Entry,LotsB,Data1.Open); //Data1.低多开仓
SetGlobalVar(1,1);
}

If (GetGlobalVar(1) == 1 And Data0.A_SellPosition() > 0 And Data1.A_BuyPosition() > 0 And Dclose[1] < mean[1] And Data0.Open == Data0.Close[1] And Data1.Open == Data1.Close[1] And Data0.Vol > 5 And Data1.Vol > 5) // 高空低多平仓
{
Data0.A_SendOrder(Enum_Buy,Enum_Exit,LotsA,Data0.Open); //Data0.高空平仓
Data1.A_SendOrder(Enum_Sell,Enum_Exit,LotsB,Data1.Open); //Data1.低多平仓
SetGlobalVar(1,0);
}

//高多低空状态
If(GetGlobalVar(2) == 0 And Data0.A_BuyPosition() == 0 And Data1.A_SellPosition() == 0 And Dclose[1] < st1_downband[1] And Dclose[1] > st3_downband[1] And Data0.Open == Data0.Close[1] And Data1.Open == Data1.Close[1] And Data0.Vol > 5 And Data1.Vol > 5) // 高多低空开仓
{
Data0.A_SendOrder(Enum_Buy,Enum_Entry,LotsA,Data0.Open); //Data0.高多开仓
Data1.A_SendOrder(Enum_Sell,Enum_Entry,LotsB,Data1.Open); //Data1.低空开仓
SetGlobalVar(2,-1);
}

If (GetGlobalVar(2) == -1 And Data0.A_BuyPosition() > 0 And Data1.A_SellPosition() > 0 And Dclose[1] > mean[1] And Data0.Open == Data0.Close[1] And Data1.Open == Data1.Close[1] And Data0.Vol > 5 And Data1.Vol > 5) // 高多低空平仓
{
Data0.A_SendOrder(Enum_Sell,Enum_Exit,LotsA,Data0.Open);
Data1.A_SendOrder(Enum_Buy,Enum_Exit,LotsB,Data1.Open);
SetGlobalVar(2,0);
}

  

量化投资_TB交易开拓者A函数和Q函数常见组合应用的更多相关文章

  1. 量化投资_TB交易开拓者A函数和Q函数详解

    //////////////////A函数详解/////////////// //A函数主要在端口上进行下单操作//////////////// A_AccountID说明 返回当前公式应用的交易帐户 ...

  2. 量化投资学习笔记01——初识Pyalgotrade量化交易回测框架

    年初学习量化投资,一开始想自己从头写,还是受了C/C++的影响.结果困在了计算回测数据那里,结果老也不对,就暂时放下了.最近试了一下python的各个量化投资框架,发现一个能用的——pyalgotra ...

  3. Python金融应用编程(数据分析、定价与量化投资)

    近年来,金融领域的量化分析越来越受到理论界与实务界的重视,量化分析的技术也取得了较大的进展,成为备受关注的一个热点领域.所谓金融量化,就是将金融分析理论与计算机编程技术相结合,更为有效的利用现代计算技 ...

  4. 1、量化投资—为什么选择Python?

    Python在量化领域的现状 就跟Java在web领域无可撼动的地位一样,Python也已经在金融量化投资领域占据了重要位置,从各个业务链条都能找到相应的框架实现. 在量化投资(证券和比特币)开源项目 ...

  5. python书籍推荐:量化投资:以Python为工具

    所属网站分类: 资源下载 > python电子书 作者:mimi 链接:http://www.pythonheidong.com/blog/article/451/ 来源:python黑洞网 内 ...

  6. 《Python与量化投资:从基础到实战》PDF高清完整版-PDF|网盘下载附提取码

    本书主要讲解如何利用Python进行量化投资,包括对数据的获取.整理.分析挖掘.信号构建.策略构建.回测.策略分析等.本书也是利用Python进行数据分析的指南,有大量的关于数据处理分析的应用,并将重 ...

  7. 三分钟玩转微软AI量化投资开源库QLib

    更多精彩内容,欢迎关注公众号:数量技术宅,也可添加技术宅个人微信号:sljsz01,与我交流. 微软QLib简介 微软亚洲研究院发布了 AI 量化投资开源平台"微矿 Qlib".Q ...

  8. 《量化投资:以MATLAB为工具》连载(2)基础篇-N分钟学会MATLAB(中)

    http://www.matlabsky.com/thread-43937-1-1.html   <量化投资:以MATLAB为工具>连载(3)基础篇-N分钟学会MATLAB(下)     ...

  9. 《量化投资:以MATLAB为工具》连载(1)基础篇-N分钟学会MATLAB(上)

    http://blog.sina.com.cn/s/blog_4cf8aad30102uylf.html <量化投资:以MATLAB为工具>连载(1)基础篇-N分钟学会MATLAB(上) ...

随机推荐

  1. 说一说我了解的react生命周期函数

    我了解的几个阶段 Mounting 挂载 Updating 更新 Unmounting 卸载 我说几个我常用的钩子函数 1.挂载阶段Mounting 1)constructor():函数构造器 执行次 ...

  2. c# 循环界面控件

    在 Winform 开发中,窗体(Form)就像一个大容器,可以装各种各样的控件,包括 Panel控件.如果窗体是 Winform 中的最大的容器,那么 Panel控件可以算是老二,它专门用于软件界面 ...

  3. [XNUCA2019Qualifier]EasyPHP

    0x00 知识点 预期解中知识点: htaccess生效 如果尝试上传htaccess文件会发现出现响应500的问题,因为文件尾有Just one chance 这里采用# \的方式将换行符转义成普通 ...

  4. Linux|Zookeeper--CentOS7开机启动Zookeeper

    参考 https://www.cnblogs.com/zhangmingcheng/p/7455278.html 在 /etc/rc.d/init.d 下创建zookeeper脚本 #!/bin/ba ...

  5. 实盘交易哪些代码BUG产生严重亏损

    1.少写一个return,疯狂开平2900次,以爆仓结束 2.在上生产环境前,不小心误删除了一个“!”(我至今也不清楚为什么会误删了,晕),导致平仓逻辑一直不满足,不止损,让我损失惨重! 3.卖单变买 ...

  6. 理解String的intern()方法

    API文档中的介绍: intern public String intern() Returns a canonical representation for the string object. A ...

  7. dp--树形dp P1352 没有上司的舞会

    题目描述 某大学有N个职员,编号为1~N.他们之间有从属关系,也就是说他们的关系就像一棵以校长为根的树,父结点就是子结点的直接上司.现在有个周年庆宴会,宴会每邀请来一个职员都会增加一定的快乐指数Ri, ...

  8. jQuery 1.3.2 简单实现select二级联动

    jQuery 1.3.2 简单实现select二级联动  复制代码代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transiti ...

  9. bootstrap 基础表单

    表单中常见的元素主要包括:文本输入框.下拉选择框.单选按钮.复选按钮.文本域和按钮等.其中每个控件所起的作用都各不相同,而且不同的浏览器对表单控件渲染的风格都各有不同. ☑   LESS版本:对应源文 ...

  10. solr集群的搭建

    solrCloud 昨天随手写了个solr单机版的搭建,今天准备写一个solr集群的搭建!1.solr集群只要环境配置正确还是比较简单的环境:CentOS-6.4-i386-bin-DVD1.isoj ...