设为首页收藏本站

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

请问这两种表示方法有差别没?特别是实盘中 [复制链接]

Rank: 4

精华
0
UID
29249
积分
309
帖子
118
主题
43
阅读权限
50
注册时间
2011-3-18
最后登录
2017-5-24
跳转到指定楼层
1#
发表于 2013-8-1 17:35:02 |只看该作者 |倒序浏览
请教一下,这两种方法在实战中有什么差别吗?
Line =  Highest(Close[1], N);
if(open>Line) {...}


Line =  Highest(Close, N);
if(open>Line[1]) {...}


从数据上看好像是一样的。但是我今天在开盘那一刻触发的交易中产生了一些问题,在排查中,现在就想问问:
- 第一种写法对的不?
- 这两种写法,实盘交易里有什么差别没?特别是开盘的时刻?

谢谢!

Rank: 4

精华
0
UID
29249
积分
309
帖子
118
主题
43
阅读权限
50
注册时间
2011-3-18
最后登录
2017-5-24
2#
发表于 2013-8-2 09:45:45 |只看该作者
今天实盘,第一种产生了信号消失的提示。。。
有点不好理解了,准备改成第二种再实盘看看,或者是其它哪里还有问题。

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
3
UID
5
积分
26584
帖子
12686
主题
49
阅读权限
200
注册时间
2007-7-20
最后登录
2021-11-3
3#
发表于 2013-8-2 10:01:32 |只看该作者
bigzhang 发表于 2013-8-2 09:45
今天实盘,第一种产生了信号消失的提示。。。
有点不好理解了,准备改成第二种再实盘看看,或者是其它哪里 ...

仅你所写的部分内容,是没有信号消失的情况。
建议从整个公式来排查信号消失的原因。

使用道具 举报

Rank: 4

精华
0
UID
29249
积分
309
帖子
118
主题
43
阅读权限
50
注册时间
2011-3-18
最后登录
2017-5-24
4#
发表于 2013-8-2 10:12:58 |只看该作者
本帖最后由 bigzhang 于 2013-8-2 10:16 编辑

我的源码这部分就是个简单的浮板触发,上浮板是这样的,取一个固定周期的最高值:
  High_M = Highest(Close[1],MDay_T);
然后交易指令是这样的:
  If(MarketPosition == 0 And High>=High_M  And Time>=Time_StartTrading/10000 And time<Time_StopTrading/10000 )
     {
          Buy(Lots, High_M  );}  
     }       


今天早上9:06,Ru上涨触发了,但是跟着软件就提示信号消失。交易单子倒是发出去了。
图上看了半天确实没看出个问题来。
我继续观察中。
附图:图表上的显示

附图:出错告警
附件: 你需要登录才可以下载或查看附件。没有帐号?注册

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
3
UID
5
积分
26584
帖子
12686
主题
49
阅读权限
200
注册时间
2007-7-20
最后登录
2021-11-3
5#
发表于 2013-8-2 10:33:54 |只看该作者
bigzhang 发表于 2013-8-2 10:12
我的源码这部分就是个简单的浮板触发,上浮板是这样的,取一个固定周期的最高值:
  High_M = Highest(Clos ...

其它逻辑呢?有没有上层条件?

使用道具 举报

Rank: 4

精华
0
UID
29249
积分
309
帖子
118
主题
43
阅读权限
50
注册时间
2011-3-18
最后登录
2017-5-24
6#
发表于 2013-8-2 10:39:10 |只看该作者
前面就没有和交易相关的逻辑判断了,只是简单的计算个取样周期,就是上面那个MDay_T,不过这个就是固定数的计算。

因为在排查问题,所以几乎是能简化的都简化了。

我现在在程序里加了段数据记录的代码,把当前的价格啥的记录到个文件里去,等着出问题,然后看看是咋回事。

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
3
UID
5
积分
26584
帖子
12686
主题
49
阅读权限
200
注册时间
2007-7-20
最后登录
2021-11-3
7#
发表于 2013-8-2 11:25:53 |只看该作者
本帖最后由 小米 于 2013-8-2 11:27 编辑
bigzhang 发表于 2013-8-2 10:39
前面就没有和交易相关的逻辑判断了,只是简单的计算个取样周期,就是上面那个MDay_T,不过这个就是固定数的 ...


不一定与交易相关的。
比如说你前面有某个条件判断 并return的。这个判断以及return也会导致此提示哟。
出现此提示,就一定是有信号消失的隐患啊,除了系统的分析代码排查问题,别无它法。而这个排查不能只看这一句的。

使用道具 举报

Rank: 4

精华
0
UID
29249
积分
309
帖子
118
主题
43
阅读权限
50
注册时间
2011-3-18
最后登录
2017-5-24
8#
发表于 2013-8-2 12:20:40 |只看该作者
谢谢版主提醒,这对我确实是个大隐患,只是这段指令被精简了很多,一时之间实在看不出哪里有问题,而且它只是出在信号突破的时候,今天另外测试的几个商品也有的产生了触发信号,但是都还没产生这样的出错提示,所以只好耐心等待它再次出错了。

你说return,倒是有一句,不过这个是开盘时候用的:
  //---防止开盘集合竞价----------
If(BarStatus==2 && Time==0.090000 && High==Low) return;  

感觉也不像,因为今天的问题是在9:06出的。

我准备把这套指令,分别用1楼的两种写法,加载在两台电脑上,然后同时运行。
假设同时出错,那可以排除是这个指令引起的,我就再查其它啥问题引起的。
假设其中一个出错,那可能就是这写法在哪里还是被系统认为是不同的。

使用道具 举报

Rank: 4

精华
0
UID
29249
积分
309
帖子
118
主题
43
阅读权限
50
注册时间
2011-3-18
最后登录
2017-5-24
9#
发表于 2013-8-2 12:25:09 |只看该作者
本帖最后由 bigzhang 于 2013-8-2 12:28 编辑
小米 发表于 2013-8-2 11:25
不一定与交易相关的。
比如说你前面有某个条件判断 并return的。这个判断以及return也会导致此提示哟。
...


这是这段的完整代码,直到开仓,后面就是平仓的了。我尽量加了注释。麻烦帮我看看,谢谢!
  1. //---防止开盘集合竞价----------
  2. If(BarStatus==2 && Time==0.090000 && High==Low) return;  
  3.   //---初始化
  4.   //---计算均线参数,转换天数到分钟数对应的均线取值------
  5. If(BarType==0) {  MDay_T = MDay;   }
  6. If(BarType==1)
  7.   {
  8.    If(Lower(SymbolType)=="if"){MinutesPerDay=270;} //如果是股指,一天270分钟交易时间
  9.    Else {MinutesPerDay=225;}
  10.    MDay_T = Round(MDay*MinutesPerDay/BarInterval,0); //计算当前采用的时间周期下按天折算,有多少根bar
  11.   }  
  12.   //---取得最近N、M日的最高最低
  13.    High_M = Highest(Close[1],MDay_T);
  14.    Low_M =  Lowest(Close[1],MDay_T);
  15.   //---画线   
  16.   PlotNumeric("High_M",High_M,0,LightGray);
  17.   PlotNumeric("Low_M",Low_M,0,LightGray);
  18.   //==========多头交易============
  19.   //---多头开仓
  20.   If(MarketPosition == 0 And High>=High_M  And Time>=Time_StartTrading/10000 And time<Time_StopTrading/10000 )
  21.      {
  22.           Buy(Lots, High_M); }
  23.       }         
  24. 。。。。。。。。。。。
复制代码

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
3
UID
5
积分
26584
帖子
12686
主题
49
阅读权限
200
注册时间
2007-7-20
最后登录
2021-11-3
10#
发表于 2013-8-2 14:02:19 |只看该作者
bigzhang 发表于 2013-8-2 12:25
这是这段的完整代码,直到开仓,后面就是平仓的了。我尽量加了注释。麻烦帮我看看,谢谢! ...

嗯。这里的return不会导致 问题,原因不是这个。
从上述代码里,我也看不出有什么可导致信号消失的可能。
建议将公式里加上注释信息,对每一个条件下产生的信号加识别信息,从而定位出问题的出自的条件。
最好将条件所使用到的变量写入fileappend里,以便更进一步排查。

使用道具 举报

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

bottom

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

GMT+8, 2024-5-8 22:15

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部