设为首页收藏本站

 找回密码
 注册
查看: 3237|回复: 1
打印 上一主题 下一主题

请教两个查询持仓函数的区别 [复制链接]

Rank: 5Rank: 5

精华
0
UID
7099
积分
614
帖子
120
主题
22
阅读权限
60
注册时间
2010-3-3
最后登录
2019-3-24
跳转到指定楼层
1#
发表于 2010-5-18 20:03:57 |只看该作者 |倒序浏览
1、请教  A_TotalPosition 与  CurrentContracts  的区别,同样都是查询当前帐户持仓的合约数。

2、今天加入了一个控制加仓次控制数的语句,老师帮忙看看,今天出现程序疯狂开平的操作。


     If ( Abs(A_TotalPosition) < (Jc-1)*KcShu  )                    /*Jc为可建仓次数,KcShu为每次开仓的手数,该语句想表示当前持仓合约总数,如果小于一共可以开仓的手数,折可以加仓*/
        {                                                  
                If ( Condition1 /* 满足开多仓条件 */ )
                {
                        NewPrice=Q_AskPrice+MinPrice;        //计算开仓价格
                        A_SendOrder(Enum_Buy,Enum_Entry,KcShu,NewPrice);
                        Return;
                }
                                
                If ( Condition2 /* 满足开空仓条件 */ )
                {
                        NewPrice=Q_BidPrice-MinPrice;
                        A_SendOrder(Enum_Sell,Enum_Entry,KCShu,NewPrice);
                       
                }
                Return;
        }

[ 本帖最后由 道勤 于 2010-5-18 20:20 编辑 ]

Rank: 10Rank: 10Rank: 10

精华
2
UID
4130
积分
20906
帖子
6519
主题
17
阅读权限
200
注册时间
2009-4-15
最后登录
2019-4-12
2#
发表于 2010-5-18 20:50:01 |只看该作者
1.A_TotalPosition函数与账户同步;
CurrentContracts与图上的信号数量有关,只有再使用buysell指令的公式才CurrentContracts有效.

2.需要加入全局变量判断
下面简单举例一下,具体的在论坛里搜索一下以前旧的帖子,很多都有说明的,而且很详细.
例如:
                If ( Condition1 /* 满足开多仓条件 */  &&  getglobalvar(0)==0)
                {
                        NewPrice=Q_AskPrice+MinPrice;        //计算开仓价格
                        A_SendOrder(Enum_Buy,Enum_Entry,KcShu,NewPrice);
                        setglobalvar(0,1);
                }

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

bottom

静态版|手机版|联系我们|交易开拓者 ( 粤ICP备07044698   

GMT+8, 2024-5-23 11:27

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部