设为首页收藏本站

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

关于反复开仓的完美解决方法建议 [复制链接]

Rank: 7Rank: 7Rank: 7

精华
0
UID
926
积分
4317
帖子
167
主题
33
阅读权限
80
注册时间
2007-12-15
最后登录
2016-8-9
跳转到指定楼层
1#
发表于 2008-9-11 11:16:04 |只看该作者 |倒序浏览
反复开仓原因(引用Kill1919的分析):反复开仓和信号消失这两问题,是很多人碰到的,例如,利用价格即close上穿越某一价位开仓时,当要穿未穿时,即产生反复开仓:上穿时即有信号开仓,下个tick价格下跌,没有穿越即开仓信号消失,等再下个tick,价格又上涨,又上穿,又产生开仓信号,又开仓,从而产生反复开仓,反复出信号又反复消失。当前Bar走完后,如果close还上穿某一价位,则开仓信号保留。如果Bar走完后价格又下来,没有产生上穿的事实,尽管曾经穿过,TB还是认为没有上穿。针对反复开仓和信号消失这两问题,TB目前建议:用nextopen做实时行情买卖,这样做就是用上个Bar来判断,条件成立就在下一个Bar发指令。这样做虽然能解决反复开仓和信号消失问题,但要延时一个BAR发送,总感觉有些不爽,特别是BAR的时间周期很长时,则需要延时很长时间才能发送交易指令。建议TB应考虑这一功能:在实时行情时,一旦条件成立,尽管成立的时间很短,没有贯穿整个BAR,则也应在当前BAR产生永久信号。这样的功能,在历史回测中,,要在大周期BAR上调用小周期BAR数据,运算起来相当复杂,因此TB一直没有开发这一功能。
      归根结底的原因就是TB无法保存Bar的行进过程中的每个tick的状态,解决的办法就是把状态信息写入到客户机的硬盘中,也就是写日志文件,但是目前TB只有写文件的函数,没有读取文件的函数,就没法获取写入的信息,强烈建议版主重视这个要求!-“老大,FileReadLine函数加上吧”     http://www.tradeblazer.net/forum/thread-2481-1-1.html

Rank: 7Rank: 7Rank: 7

精华
0
UID
926
积分
4317
帖子
167
主题
33
阅读权限
80
注册时间
2007-12-15
最后登录
2016-8-9
2#
发表于 2008-9-11 11:22:29 |只看该作者
FileReadLine函数的能够带来的功能实在是非常的强大的。

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
20
UID
4
积分
22709
帖子
4802
主题
64
阅读权限
255
注册时间
2007-7-20
最后登录
2024-1-15
3#
发表于 2008-9-11 11:47:31 |只看该作者
用全局变量就可以了,只是每次打开需要初始化

使用道具 举报

Rank: 5Rank: 5

精华
0
UID
1517
积分
1441
帖子
350
主题
29
阅读权限
60
注册时间
2008-4-19
最后登录
2011-10-16
4#
发表于 2009-5-3 11:46:10 |只看该作者
交易开拓者 - 助您实现交易梦想!

使用道具 举报

Rank: 5Rank: 5

精华
0
UID
1517
积分
1441
帖子
350
主题
29
阅读权限
60
注册时间
2008-4-19
最后登录
2011-10-16
5#
发表于 2009-5-10 15:08:59 |只看该作者
函数是比较简单,但现在升级公式系统比较麻烦,升级之后,所有的人都需要重新编译公式,所以只能等一堆需求凑到一起在做。

使用道具 举报

Rank: 6Rank: 6

精华
0
UID
1896
积分
1979
帖子
117
主题
33
阅读权限
70
注册时间
2008-7-16
最后登录
2013-11-16
6#
发表于 2009-5-10 16:57:34 |只看该作者
其实这个功能就是行情回放  tick级别的回放  大家的很迫切要求的功能 可tb公司没兴趣做

使用道具 举报

Rank: 4

精华
0
UID
3136
积分
331
帖子
61
主题
11
阅读权限
50
注册时间
2008-12-23
最后登录
2013-10-13
7#
发表于 2009-5-22 15:40:14 |只看该作者
重复开仓问题需要解决,建议举例说明

使用道具 举报

Rank: 4

精华
0
UID
3136
积分
331
帖子
61
主题
11
阅读权限
50
注册时间
2008-12-23
最后登录
2013-10-13
8#
发表于 2009-6-1 15:46:50 |只看该作者
用全局变量就可以了,只是每次打开需要初始化      -------nopain                ?

我今天用全局变量代替marketposition控制开仓,代码如下,希望nopain 老大帮忙看一下 非常感谢!

Vars
Numeric mypos(0);

Begin

if(BarStatus==0)
  {
   mypos=0;
   SetGlobalVar(0,mypos);
   }Else
   {
   mypos=GetGlobalVar(0);
   }
   
if(con1开多条件满足 and  mypos!=1)  //  开多条件满足并且全局变量没有记录有多单的信息
   {buy(1,high+2*PriceScale*MinMove);//   买入开仓
      SetGlobalVar(0,1);                        //全局变量的值记录为1,表示此时已经开了多单
         }
       
if(con1开空条件 and  mypos!=-1)   //  开空条件满足并且全局变量没有记录有空单的信息

  {
     SellShort(1,low-3*PriceScale*MinMove);
     SetGlobalVar(0,-1);                    //全局变量的值记录为-1,表示此时已经开了空单

         }
       
End



我这个程序看历史数据没有问题,但是实际情况就是打开后第一个买入或者卖出信号产生是会执行,但是后面平仓信号产生并且反手开仓时候,就会出现信号一闪,然后立马消失,此时就帐户有新开反向的仓位 但是系统却不知道。

使用道具 举报

Rank: 5Rank: 5

精华
0
UID
1517
积分
1441
帖子
350
主题
29
阅读权限
60
注册时间
2008-4-19
最后登录
2011-10-16
9#
发表于 2009-6-3 19:51:53 |只看该作者
原帖由 bjcifco 于 2009-6-1 15:46 发表
用全局变量就可以了,只是每次打开需要初始化      -------nopain                ?

我今天用全局变量代替marketposition控制开仓,代码如下,希望nopain 老大帮忙看一下 非常感谢!

Vars
Numeric mypos(0);

Begin

if(Ba ...

建议开新帖,比较容易得到回复
学习TB,哪怕BT。

使用道具 举报

Rank: 3Rank: 3

精华
0
UID
12849
积分
230
帖子
109
主题
13
阅读权限
40
注册时间
2010-6-23
最后登录
2024-2-2
10#
发表于 2010-6-26 10:57:35 |只看该作者
新版改进没?11111111

使用道具 举报

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

bottom

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

GMT+8, 2024-5-16 03:18

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部