设为首页收藏本站

 找回密码
 注册
楼主: shenpei715
打印 上一主题 下一主题

关于MarketPosition 总结 [复制链接]

Rank: 10Rank: 10Rank: 10

精华
3
UID
5
积分
26584
帖子
12686
主题
49
阅读权限
200
注册时间
2007-7-20
最后登录
2021-11-3
1#
发表于 2012-7-30 22:58:28 |显示全部楼层
试写如下代码
  1. Begin
  2.         If(close[1] >open[1])
  3.         {
  4.                 FileAppend("d:\\marketpostion.log"," currentbar: "+text(currentbar)+ "||  执行buy命令前的marketposition值: " +Text(marketposition));
  5.                 Buy(1,open);
  6.                 FileAppend("d:\\marketpostion.log"," currentbar: "+text(currentbar)+ "||  执行buy命令后的marketposition值: " +Text(marketposition));
  7.         }
  8. end
复制代码
得出信号如下图:



公式所写日志记录如下:



综上可得知:在本K线上,marketposition的初始值为0,在执行buy语句前为0,buy之后就会变为1。当前信号所在K线,每执行一次,marketposition都是从初始值0开始运行,buy之后变成1 。
周而复始,直到本K线的最后一个tick走完之后,将1的做为下一个K线的markeposition的初始参与计算 。
附件: 你需要登录才可以下载或查看附件。没有帐号?注册

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
3
UID
5
积分
26584
帖子
12686
主题
49
阅读权限
200
注册时间
2007-7-20
最后登录
2021-11-3
2#
发表于 2012-9-10 14:05:20 |显示全部楼层
慕容表哥 发表于 2012-9-3 11:32
那这样MarketPosition这样0,1之间跳动吗,当新的tick时为0,不会造成重复开仓吗? ...

1.TB里有控制机制,同一个信号只在第一次执行时发单 ,之后的不会发单,不必担心重复发单 的情况。
2. 历史数据里是每一个bar执行一次公式语句;而实时中,则是每一个tick执行一次公式。

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
3
UID
5
积分
26584
帖子
12686
主题
49
阅读权限
200
注册时间
2007-7-20
最后登录
2021-11-3
3#
发表于 2012-9-11 16:22:48 |显示全部楼层
wolf_dd 发表于 2012-9-11 16:21
那么,如果第bar的第一个tick符合开仓的条件,发送了委托但是没有成交,后面的tick符合开仓条件,还会继 ...

公式里只处理信号,并对其进行发单。
不会考虑是否成交等其它问题了。

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
3
UID
5
积分
26584
帖子
12686
主题
49
阅读权限
200
注册时间
2007-7-20
最后登录
2021-11-3
4#
发表于 2012-9-12 11:31:38 |显示全部楼层
wolf_dd 发表于 2012-9-11 17:54
我是一个资金账户上跑几个策略,都用的buy和sell函数来发单,出现一单没成交,但还是会发平仓单,平掉其 ...

没法给单 子做标识区别是哪个策略发出来的。
只能说是使用交易助手等功能,从而保证每一个信号都能严格有效的执行并成交。
这样就可避免你所说的这种因为某一环节的执行不彻底,从而影响后后面的一系列情况。
另外,有一个功能叫监控器。如果是交易品种、帐户、策略比较多的情况。建议要时定去做一下同步的。

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
3
UID
5
积分
26584
帖子
12686
主题
49
阅读权限
200
注册时间
2007-7-20
最后登录
2021-11-3
5#
发表于 2013-1-2 12:46:54 |显示全部楼层
kuixbao 发表于 2013-1-1 23:39
想请问一下 这个执行过程是在实时中打印出来的结果还是在历史中? 我在历史中测试并没有重复打印出这结果 ...

实时中。

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
3
UID
5
积分
26584
帖子
12686
主题
49
阅读权限
200
注册时间
2007-7-20
最后登录
2021-11-3
6#
发表于 2013-11-14 14:15:04 |显示全部楼层
research 发表于 2013-11-13 13:04
请问currentbar是从0开始计数还是从1开始计数?

currentbar是从0开始计数

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
3
UID
5
积分
26584
帖子
12686
主题
49
阅读权限
200
注册时间
2007-7-20
最后登录
2021-11-3
7#
发表于 2015-10-30 08:41:45 |显示全部楼层
kindjrp 发表于 2015-10-29 20:46
测了一下,发现当前bar的CurrentContracts也一样不断变化 阿!
请问这是不是意味着监控器里的自动同步功能 ...

监控器是否靠谱,你测试一下就知道 。。
监控器同步的依据是与图表信号有关的,也就是这个currentcontract有关。
但是一定是在一次运算完成后,对运算结果进行判断。而不是在过算中,还没出结果呢,就来回同步的。

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
3
UID
5
积分
26584
帖子
12686
主题
49
阅读权限
200
注册时间
2007-7-20
最后登录
2021-11-3
8#
发表于 2016-3-25 08:51:24 |显示全部楼层
kindjrp 发表于 2016-3-25 03:03
当前bar有发生buy或sellshort多个信号时,是不是lastentryprice也类似会不断变化 ?  ...

会变化。
可以在第一条件指令后都使用commetary输出lastentryprice的值。
当某个K线上有buy,sellshort的指令后。可看看每一个指令后的输出的lastentryprice是否变化。

使用道具 举报

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

bottom

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

GMT+8, 2024-5-5 16:08

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部