设为首页收藏本站

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

TB条件止损平仓时出现连续下单指令.请问如何处理? [复制链接]

Rank: 5Rank: 5

精华
0
UID
7593
积分
609
帖子
109
主题
14
阅读权限
60
注册时间
2010-3-19
最后登录
2014-5-18
跳转到指定楼层
1#
发表于 2010-4-28 12:30:20 |只看该作者 |倒序浏览
Hi,lh948 和 各位高手:
    我有一遇到一个问题。希望大家多多帮忙解决,先行谢过了。
    下面是问题描述:在代码段A代码是止损平仓功能,当损失达到100时,就启用平仓指令,在程序执行过程中代码是启用了,也就是说是去自动平仓了,但是平仓指令在不断绝的发送,请大家看附件中的图片。谢谢!
     
    A代码.程序如下:
//-------------止损平仓100-----------------
        if (A_BuyProfitLoss()<=-100)
        {
                A_SendOrder(Enum_Sell,Enum_Exit,A_BuyPosition(),Q_BidPrice());
                SetGlobalVar(0,0);
                FileAppend("C:\\Program_Trading.log","多头平仓止损时间: "+Text(date())+Text(time()));
        }
        if (A_SellProfitLoss()<=-100)
        {
                A_SendOrder(Enum_Buy,Enum_Exit,A_SellPosition(),Q_AskPrice());
                SetGlobalVar(1,0);
                FileAppend("C:\\Program_Trading.log","空头平仓止损 = "+Text(date())+Text(time()));
        }

[ 本帖最后由 zejunl 于 2010-4-29 09:13 编辑 ]
附件: 你需要登录才可以下载或查看附件。没有帐号?注册
追求卓越,周而复始

Rank: 5Rank: 5

精华
0
UID
7593
积分
609
帖子
109
主题
14
阅读权限
60
注册时间
2010-3-19
最后登录
2014-5-18
2#
发表于 2010-4-28 12:32:54 |只看该作者
各位,我想在问题是否出在我没有对持仓量作判断上哟。
追求卓越,周而复始

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
2
UID
4130
积分
20906
帖子
6519
主题
17
阅读权限
200
注册时间
2009-4-15
最后登录
2019-4-12
3#
发表于 2010-4-28 12:37:20 |只看该作者
改成:
        if (A_BuyProfitLoss()<=-100 && getglobalvar(0)!=0)
        {
                A_SendOrder(Enum_Sell,Enum_Exit,A_BuyPosition(),Q_BidPrice());
                SetGlobalVar(0,0);
                FileAppend("C:\\Program_Trading.log","多头平仓止损时间: "+Text(date())+Text(time()));
        }
        if (A_SellProfitLoss()<=-100&& getglobalvar(1)!=0)
        {
                A_SendOrder(Enum_Buy,Enum_Exit,A_SellPosition(),Q_AskPrice());
                SetGlobalVar(1,0);
                FileAppend("C:\\Program_Trading.log","空头平仓止损 = "+Text(date())+Text(time()));
        }

使用道具 举报

Rank: 5Rank: 5

精华
0
UID
7593
积分
609
帖子
109
主题
14
阅读权限
60
注册时间
2010-3-19
最后登录
2014-5-18
4#
发表于 2010-4-28 12:49:55 |只看该作者

回复 3# lh948 的帖子

Thanks for your stronger support !
追求卓越,周而复始

使用道具 举报

Rank: 5Rank: 5

精华
0
UID
7593
积分
609
帖子
109
主题
14
阅读权限
60
注册时间
2010-3-19
最后登录
2014-5-18
5#
发表于 2010-4-29 09:19:05 |只看该作者

回复 3# lh948 的帖子

今天我用实盘测试了一下止损,但是没有根据条件去止损,现在有我有一些不明白的地方,望给予解答谢谢。
下列是操作描述:
SR1101 4961 买多开仓
SR1101 4893 现在价格 (出现亏损一直都没有指令去平多单止损)我想肯定是条件设置有问题,敬请帮忙看看,谢谢。
这是LH948昨天给我修改过的代码!今天就不止损了。
//-------------止损平仓100-----------------
        if (A_BuyProfitLoss()<=-100 && getglobalvar(0)!=0)
        {
                A_SendOrder(Enum_Sell,Enum_Exit,A_BuyPosition(),Q_BidPrice());
                SetGlobalVar(0,0);
                FileAppend("C:\\Program_Trading.log","多头平仓止损时间: "+Text(date())+Text(time()));
        }
        if (A_SellProfitLoss()<=-100 && getglobalvar(1)!=0 )
        {
                A_SendOrder(Enum_Buy,Enum_Exit,A_SellPosition(),Q_AskPrice());
                SetGlobalVar(1,0);
                FileAppend("C:\\Program_Trading.log","空头平仓止损 = "+Text(date())+Text(time()));
        }


以下为可以止损代码:但是要重复的发送止损单。
//-------------止损平仓100-----------------
        if (A_BuyProfitLoss()<=-100)
        {
                A_SendOrder(Enum_Sell,Enum_Exit,A_BuyPosition(),Q_BidPrice());
                SetGlobalVar(0,0);
                FileAppend("C:\\Program_Trading.log","多头平仓止损时间: "+Text(date())+Text(time()));
        }
        if (A_SellProfitLoss()<=-100)
        {
                A_SendOrder(Enum_Buy,Enum_Exit,A_SellPosition(),Q_AskPrice());
                SetGlobalVar(1,0);
                FileAppend("C:\\Program_Trading.log","空头平仓止损 = "+Text(date())+Text(time()));
        }
追求卓越,周而复始

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
2
UID
4130
积分
20906
帖子
6519
主题
17
阅读权限
200
注册时间
2009-4-15
最后登录
2019-4-12
6#
发表于 2010-4-29 09:52:00 |只看该作者
用commentry输出getglobalvar(0),当前值为0的话,就不会发止损单的.

使用道具 举报

Rank: 5Rank: 5

精华
0
UID
7593
积分
609
帖子
109
主题
14
阅读权限
60
注册时间
2010-3-19
最后登录
2014-5-18
7#
发表于 2010-4-29 12:26:31 |只看该作者

回复 6# lh948 的帖子

我在测试输出的时候出现了好多的问题,函数Time()输出的值是0.11我不知道这个是什么原因。
代码如下:
        FileAppend("C:\\Program_Trading.log","多头平仓止损时间: "+Text(time()));
        输出结果为:多头平仓止损时间:0.11.
追求卓越,周而复始

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
2
UID
4130
积分
20906
帖子
6519
主题
17
阅读权限
200
注册时间
2009-4-15
最后登录
2019-4-12
8#
发表于 2010-4-29 13:24:30 |只看该作者
text输出的数值是只有2位小数的,在下一个公式的版本里,我们已经修改了,Text会完整的输出小数的

使用道具 举报

Rank: 5Rank: 5

精华
0
UID
7593
积分
609
帖子
109
主题
14
阅读权限
60
注册时间
2010-3-19
最后登录
2014-5-18
9#
发表于 2010-4-29 16:11:21 |只看该作者

回复 8# lh948 的帖子

Thanks For your support!.
还有一个问题,请看http://www.tradeblazer.net/forum/thread-8291-1-1.html,谢谢!
追求卓越,周而复始

使用道具 举报

Rank: 1

精华
0
UID
13409
积分
44
帖子
3
主题
0
阅读权限
10
注册时间
2010-7-1
最后登录
2010-8-15
10#
发表于 2010-8-5 22:48:39 |只看该作者
1# zejunl


请问楼主 if (A_BuyProfitLoss()<=-100)
这个止损的100是指每一手亏损的数量、整个品种亏损的数量还是整个仓位亏损的数量啊

使用道具 举报

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

bottom

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

GMT+8, 2024-5-22 03:58

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部