设为首页收藏本站

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

为什么用SetTBProfileString2File无法有效阻止断线后重复发单 [复制链接]

Rank: 5Rank: 5

精华
1
UID
42516
积分
1239
帖子
264
主题
31
阅读权限
60
注册时间
2011-5-25
最后登录
2014-9-23
跳转到指定楼层
1#
发表于 2012-3-2 17:20:45 |显示全部楼层 |倒序浏览
If(开仓条件&&Value(GetTBProfileString2File("C:\TB.log",Symbol,"MyPosition"))!=1)
        {
                Buy(Lots,Open);
                SetTBProfileString2File("C:\TB.log",Symbol,"MyPosition",Text(MarketPosition));
        }

试想运行机制:

当前满足开多仓条件,则开多仓,然后将MarketPosition置入 "MyPosition"  此时为1

而这时断线重连,因为MyPosition取值为1  则不触发开仓   


实际运行情况是,断线之后会重复开仓,请问问题出在什么地方?  谢谢

Rank: 5Rank: 5

精华
1
UID
42516
积分
1239
帖子
264
主题
31
阅读权限
60
注册时间
2011-5-25
最后登录
2014-9-23
2#
发表于 2012-3-2 17:30:12 |显示全部楼层
运行机制方面的问题么?     MarketPosition值会变化是指什么问题能不能详细说一下。

当开仓完之后,我检查过C:\TB.Log   发现  MyPosition  值为1   这个没有问题  

这时断线并不影响MyPosition的值,为什么重连之后还会重复发单?


如果我用SetTBProfileString2File("C:\TB.log",Symbol,"MyPosition","1");

这样是否会解决重复发单问题?
SetTBProfileString将数据内容写到用户公式目录tblprofile.ini文件下

使用道具 举报

Rank: 5Rank: 5

精华
1
UID
42516
积分
1239
帖子
264
主题
31
阅读权限
60
注册时间
2011-5-25
最后登录
2014-9-23
3#
发表于 2012-3-3 23:50:53 |显示全部楼层
谢楼上,不过我想IF()内的顺序应该影响不大

管理员能出来说说,为什么这种情况无法避免重复发单么?
SetTBProfileString将数据内容写到用户公式目录tblprofile.ini文件下

使用道具 举报

Rank: 5Rank: 5

精华
1
UID
42516
积分
1239
帖子
264
主题
31
阅读权限
60
注册时间
2011-5-25
最后登录
2014-9-23
4#
发表于 2012-3-4 00:30:00 |显示全部楼层
我是实盘客户,能不能版主认真回复一下呢?   实盘快一年了,一直解决不了这个问题
SetTBProfileString将数据内容写到用户公式目录tblprofile.ini文件下

使用道具 举报

Rank: 5Rank: 5

精华
1
UID
42516
积分
1239
帖子
264
主题
31
阅读权限
60
注册时间
2011-5-25
最后登录
2014-9-23
5#
发表于 2012-3-5 14:32:26 |显示全部楼层
TB 里if ()括号里要是包含了用户自定义的函数,其Bool值可能会出现无法预料的情况,我在多次测试中都发现 ...
neo_wing 发表于 2012-3-4 17:46


楼上的朋友是说 这样么?

Vars
Numeric MyPosition;
Begin
MyPosition = Value(GetTBProfileString2File("C:\TB.log",Symbol,"MyPosition");
If(MyPosition)!=1 && 开仓条件)
        {
                Buy(Lots,Open);
                SetTBProfileString2File("C:\TB.log",Symbol,"MyPosition",Text(MarketPosition));
        }

使用道具 举报

Rank: 5Rank: 5

精华
1
UID
42516
积分
1239
帖子
264
主题
31
阅读权限
60
注册时间
2011-5-25
最后登录
2014-9-23
6#
发表于 2012-3-8 12:43:44 |显示全部楼层
回复  rookies


用自定义的变量来记录标志位,可能更好的独立开。
lh948 发表于 2012-3-5 14:58



测试以上代码     TB会出提示——"因为某些原因导致当前BAR不显示信号"  

但同时帐户会在没有信号的情况下完成建仓动作  , 也就是说 条件MyPosition!=1   被TB视为异常情况


TB的容错机制是怎么运行的啊?
SetTBProfileString将数据内容写到用户公式目录tblprofile.ini文件下

使用道具 举报

Rank: 5Rank: 5

精华
1
UID
42516
积分
1239
帖子
264
主题
31
阅读权限
60
注册时间
2011-5-25
最后登录
2014-9-23
7#
发表于 2012-3-13 10:37:54 |显示全部楼层
不是括号的问题,是TB运行机制的问题,BUY不受  图表外条件控制

TB会认为这种情况是异常,并自动发单
SetTBProfileString将数据内容写到用户公式目录tblprofile.ini文件下

使用道具 举报

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

bottom

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

GMT+8, 2024-5-18 10:13

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部