设为首页收藏本站

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

账户平仓函数平不了仓 [复制链接]

Rank: 1

精华
0
UID
276772
积分
27
帖子
23
主题
4
阅读权限
10
注册时间
2019-3-14
最后登录
2019-4-20
跳转到指定楼层
1#
发表于 2019-4-17 10:07:01 |显示全部楼层 |倒序浏览
旗舰版请教:我当前持有cf1909为data0,持有多仓3手,cf1905为data1持空头方向仓-3手,可是当我用以下代码进行平仓时,我平仓的是data1的空头持仓,提示data0多持仓不足,不知错在哪?代码如下
If(data0.A_TotalPosition<0)A_SendOrder(Enum_Buy,Enum_Exit,data0.A_TotalPosition,data0.Q_AskPrice());
正确的是乍写呢?

Rank: 1

精华
0
UID
276772
积分
27
帖子
23
主题
4
阅读权限
10
注册时间
2019-3-14
最后登录
2019-4-20
2#
发表于 2019-4-17 10:12:39 |显示全部楼层
更正我的代码平DATA1是这样写的
If(data1.A_TotalPosition>0)
                        {
                        A_SendOrder(Enum_Sell,Enum_Exit,data1.A_TotalPosition,data1.Q_BidPrice());
                        Commentary("2data1.A_TotalPosition.  "+Text( data1.A_TotalPosition));
}却平仓提示到data0,这何来
                        }       

使用道具 举报

Rank: 1

精华
0
UID
276772
积分
27
帖子
23
主题
4
阅读权限
10
注册时间
2019-3-14
最后登录
2019-4-20
3#
发表于 2019-4-17 10:18:30 |显示全部楼层
If(data1.A_TotalPosition>0)
                        {
                        A_SendOrder(Enum_Sell,Enum_Exit,data1.A_TotalPosition,data1.Q_BidPrice());
                        Commentary("2data1.A_TotalPosition.  "+Text( data1.A_TotalPosition)+" data0.Q_BidPrice() "+Text( data0.Q_BidPrice())+" 1  "+Text( data1.Q_BidPrice()));

                        }
以上代码平data1的多头,为何提示data0的多头持仓不足呢,

使用道具 举报

Rank: 1

精华
0
UID
276772
积分
27
帖子
23
主题
4
阅读权限
10
注册时间
2019-3-14
最后登录
2019-4-20
4#
发表于 2019-4-17 10:23:30 |显示全部楼层

RE: 账户平仓函数平不了仓

用旗舰版,我平仓data1的多头持仓,却提示data0多头持仓不足,以下代码错在哪呢?
If(data1.A_TotalPosition>0)
                        {
                        A_SendOrder(Enum_Sell,Enum_Exit,data1.A_TotalPosition,data1.Q_BidPrice());
                        Commentary("2data1.A_TotalPosition.  "+Text( data1.A_TotalPosition)+" data0.Q_BidPrice() "+Text( data0.Q_BidPrice())+" 1  "+Text( data1.Q_BidPrice()));

                        }       

使用道具 举报

Rank: 1

精华
0
UID
276772
积分
27
帖子
23
主题
4
阅读权限
10
注册时间
2019-3-14
最后登录
2019-4-20
5#
发表于 2019-4-17 10:25:49 |显示全部楼层
wu778001035 发表于 2019-4-17 10:20
A函数,不支持映射,

哦,谢了

使用道具 举报

Rank: 1

精华
0
UID
276772
积分
27
帖子
23
主题
4
阅读权限
10
注册时间
2019-3-14
最后登录
2019-4-20
6#
发表于 2019-4-17 11:17:14 |显示全部楼层
小米 发表于 2019-4-17 10:24
data1的平仓,需要在指令里写为
data1.a_sendorder( )

还是平不了data0空头持仓
If(data0.A_TotalPosition<0)
                        {
                        data0.A_SendOrder(Enum_Buy,Enum_Exit,data0.A_TotalPosition,data0.Q_AskPrice());
                        Commentary("2data0.A_TotalPosition  "+Text( data0.A_TotalPosition)+" data0.Q_BidPrice() "+Text( data0.Q_BidPrice())+" 1  "+Text( data1.Q_BidPrice()));
                        }       

使用道具 举报

Rank: 1

精华
0
UID
276772
积分
27
帖子
23
主题
4
阅读权限
10
注册时间
2019-3-14
最后登录
2019-4-20
7#
发表于 2019-4-17 11:34:45 |显示全部楼层
这样写也平不了data0空头的持仓,错在哪?
If(data0.A_TotalPosition<0)
                        {
                        //data0.A_SendOrder(Enum_Buy,Enum_Exit,data0.A_TotalPosition,data0.Q_AskPrice());
                        BuyToCover(data0.A_TotalPosition,0);
                        Commentary("2data0.A_TotalPosition  "+Text( data0.A_TotalPosition)+" data0.Q_BidPrice() "+Text( data0.Q_BidPrice())+" 1  "+Text( data1.Q_BidPrice()));
                        }       

使用道具 举报

Rank: 1

精华
0
UID
276772
积分
27
帖子
23
主题
4
阅读权限
10
注册时间
2019-3-14
最后登录
2019-4-20
8#
发表于 2019-4-17 11:54:13 |显示全部楼层
小米大师:真是不好意思啊,初学者比较笨,论坛上没有相同的贴,只能有劳您了,我百思不得其解,账户都关联了,自动交易也是绿笑脸了,按TB指南说明又加上账户确认代码,代码也编译通过了,以下代码还是不能在实时当中发单,
If(data0.A_TotalPosition<0 && A_AccountID !="")
                        {
                        //data0.A_SendOrder(Enum_Buy,Enum_Exit,data0.A_TotalPosition,data0.Q_AskPrice());
                        data0.BuyToCover(data0.A_TotalPosition,0);
                        Commentary("2data0.A_TotalPosition  "+Text( data0.A_TotalPosition)+" data0.Q_BidPrice() "+Text( data0.Q_BidPrice())+" 1  "+Text( data1.Q_BidPrice()));
                        }       

使用道具 举报

Rank: 1

精华
0
UID
276772
积分
27
帖子
23
主题
4
阅读权限
10
注册时间
2019-3-14
最后登录
2019-4-20
9#
发表于 2019-4-17 12:05:39 |显示全部楼层
小米 发表于 2019-4-17 11:44
前面说的是cf1909为data0, 持多仓3手。
公式里判断的是a_totalpositon

dadt0持仓是空头,dadt1持仓多头,第一次是的情况是平仓dadt1持仓多头时,却提示dadt0多头持仓不足,平不了,
经您 指点后我用If(data1.A_TotalPosition>0 &&data1.Open[1]!=data1.Open )data1.A_SendOrder(Enum_Sell,Enum_Exit,data1.A_TotalPosition,data1.Q_BidPrice());成功发单平仓了data1的多头持仓,但不能用
data0.A_SendOrder(Enum_Buy,Enum_Exit,data0.A_TotalPosition,data0.Q_AskPrice()); 对另一腿data0平仓

使用道具 举报

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

bottom

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

GMT+8, 2024-5-23 13:48

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部