设为首页收藏本站

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

程序是如何实现实时交易的,请问管理员 [复制链接]

Rank: 3Rank: 3

精华
0
UID
2387
积分
151
帖子
15
主题
5
阅读权限
40
注册时间
2008-9-18
最后登录
2021-10-16
跳转到指定楼层
1#
发表于 2008-10-6 10:49:42 |只看该作者 |倒序浏览
有一个问题。如下一段代码
Begin
    if  (close>high[1])
   {
         buy(1,close-2));
   }
  fileAppend("c:\\test.txt",text(time*1000000));   
End
    放在周期为五分钟的bar上面执行的时候。
  如果是历史数据,显然每次buy都是用的每五分钟的收盘价。
  但是如果是实时数据,例如现在是9点9分,目前实时价格已经超过了上一个bar的最高价。那么,该指令是把9点9分的实时价格作为该bar的目前收盘价,发出指令呢还是等到9点10分,真正的收盘价出来之后再进行判断呢?
  我觉得这个问题涉及到行情是如何驱动指令的。一直想不明白。请斑竹费心释疑。

Rank: 10Rank: 10Rank: 10

精华
3
UID
5
积分
26584
帖子
12686
主题
49
阅读权限
200
注册时间
2007-7-20
最后登录
2021-11-3
2#
发表于 2008-10-6 11:03:33 |只看该作者
如你上面的写法,容易出现易消失的信号.
在09:09行情满足后就会发出指令.但是如果在09:10之前行情又回来,那么信号就会消失.

使用道具 举报

Rank: 3Rank: 3

精华
0
UID
2387
积分
151
帖子
15
主题
5
阅读权限
40
注册时间
2008-9-18
最后登录
2021-10-16
3#
发表于 2008-10-6 12:49:51 |只看该作者
1、因为我的系统就是盘中突破前一个BAR的高位价就行了,并不是要收盘突破。
所以按照您的意思,我这样写能够利用上盘中实时的突破信号对吗?

2、如果由于行情变化快,发出的BUY指令没有成交。那么在实时交易中一般通过哪些手段在编程中处理这种情况呢?

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
20
UID
4
积分
22709
帖子
4802
主题
64
阅读权限
255
注册时间
2007-7-20
最后登录
2024-1-15
4#
发表于 2008-10-6 13:12:56 |只看该作者
1、用High > Close[1] 来做突破判断。
2、系统提供了交易助手,可以帮您撤单重发。您可以仔细看看交易助手的功能和设置

使用道具 举报

Rank: 3Rank: 3

精华
0
UID
2387
积分
151
帖子
15
主题
5
阅读权限
40
注册时间
2008-9-18
最后登录
2021-10-16
5#
发表于 2008-10-7 11:27:42 |只看该作者
“1、因为我的系统就是盘中突破前一个BAR的高位价就行了,并不是要收盘突破。
所以按照您的意思,我这样写能够利用上盘中实时的突破信号对吗?”
2、如果由于行情变化快,发出的BUY指令没有成交。那么在实时交易中一般通过哪些手段在编程中处理这种情况呢?


     
管理员对问题1的回答是   用High > Close[1] 来做突破判断。是不是写错了。应该写成high>high[1]吧?但是我觉得close>high[1]是否更好。因为我的系统要求五分钟BAR线盘中突破上一根线的最高价就行了,不需要收盘突破。不存在“信号丢失”的问题。还请管理员明察。当然,如果是用于历史测试,这样写就不行了,因为历史数据的close是真实的收盘价,而不像实时数据中close是最新价。我不知道自己以上的理解是不是对的。谢谢管理员

管理员对问题2的回答是   系统提供了交易助手,可以帮您撤单重发。您可以仔细看看交易助手的功能和设置。  我想问的是,入行然通过编程处理这种情况,不是直接用交易助手。谢谢管理员

[ 本帖最后由 dragoncdmn 于 2008-10-7 11:31 编辑 ]

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
20
UID
4
积分
22709
帖子
4802
主题
64
阅读权限
255
注册时间
2007-7-20
最后登录
2024-1-15
6#
发表于 2008-10-7 14:34:28 |只看该作者
1、盘中突破前一个周期的最高价。用以下方式是表达:
If(High>High[1])
{
    Buy(1,....);
}
前面的例子只是顺着您的写法修改为讯号不消失。

2、在程序里面自行撤单重发,理论上是可以的,用A_DeleteOrder,然后用A_SendOrder来重发。但是这个使用是比较复杂的。您熟练掌握TB之后才考虑吧

使用道具 举报

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

bottom

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

GMT+8, 2024-4-25 06:29

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部