欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → [求助]关于extgbdata

   

欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。    


  共有4993人关注过本帖树形打印复制链接

主题:[求助]关于extgbdata

帅哥哟,离线,有人找我吗?
zzzlondon
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:54 积分:333 威望:0 精华:0 注册:2011/3/11 8:47:01
[求助]关于extgbdata  发帖心情 Post By:2012/2/14 10:27:48    Post IP:116.228.231.42[只看该作者]

代码片段如下,逐K线运行,目的是提前2秒进场,但如果进场后不再满足进场条件,不让信号消失

 

以下内容为程序代码:

1 if ref(date,1)<>date then begin
2     extgbdataset('ex03',0);    //开盘第一分钟,将做多次数记为0
3     extgbdataset('ex04',0);    //开盘第一分钟,将做空次数记为0
4 end
5
6 if barpos>30 then begin
7     if 做多条件 then bb:=1;
8     if 做空条件 then ss:=1;
9 end
10
11 sec:=dynainfo(207);
12 secfilter:=mod(sec,100)>=secEntry;    //如果秒数到达58(即提前2秒下单)
13
14 if secfilter and islastbar then begin
15     if ceiling(sec/100.0)*100=EXTGBDATA('ex01') then begin    //如果当前时间是最后一次进场时间
16         if EXTGBDATA('ex02')=1 then buy(1,1,thisclose);
17         if EXTGBDATA('ex02')=-1 then buyshort(1,1,thisclose);
18     end
19     else if ss=1 and holding=0 and EXTGBDATA('ex04')<2 then begin    //满足做空条件,且当天做空次数<2
20         buyshort(1,units,limitr,close-4*mindiff),IGNORECHECKPRICE;
21         extgbdataset('ex01',ceiling(sec/100.0)*100);    //记录(最后一次)进场时间
22         extgbdataset('ex02',-1);    //记录进场方向为做空
23         trades2:=EXTGBDATA('ex04')+1;
24         extgbdataset('ex04',trades2);    //做空次数+1

25     end
26     else if bb=1 and holding=0 and EXTGBDATA('ex03')<2 then begin    //满足做多条件,且当天做多次数<2
27         buy(1,units,limitr,close+4*mindiff),IGNORECHECKPRICE;
28         extgbdataset('ex01',ceiling(sec/100.0)*100);    //记录(最后一次)进场时间
29         extgbdataset('ex02',1);        //记录进场方向为做多
30         trades1:=EXTGBDATA('ex03')+1;
31         extgbdataset('ex03',trades1);    //做多次数+1
32     end
33 end
34
35 if (time=EXTGBDATA('ex01') and date=currentdate and not(islastbar)) then begin    //如果不是最后一跟bar,且是最后一次进场时间,显示进场
36     if EXTGBDATA('ex02')=1 then begin
37         buy(1,units,thisclose);
38     end
39     if EXTGBDATA('ex02')=-1 then begin
40         buyshort(1,units,thisclose);
41     end
42 end
43
44 bb:=0;
45 ss:=0;

 

实盘运行时,(图表交易,固定轮询-高频)在10:04有做空信号,查看工具-数据-全局变量,EX01=100400,正确,EX02=-1,正确,但EX04=0,应该等于1,请版主帮忙看下红色语句


 回到顶部
帅哥哟,离线,有人找我吗?
fly
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:5082 积分:17642 威望:0 精华:6 注册:2010/7/15 9:05:58
  发帖心情 Post By:2012/2/14 14:32:22    Post IP:58.246.57.26[只看该作者]

红色语句看起来没问题.

 

23         trades2:=EXTGBDATA('ex04')+1;
24         extgbdataset('ex04',trades2);    //做空次数+1

 

将这两句并为1句:extgbdataset('ex04',EXTGBDATA('ex04')+1);  

重点跟踪一下全局变量ex04在语句执行前后的值



金字塔—专业程序化交易量化投资平台

客户服务部

-----------------------------------------------------------

欢迎您参加我公司的技术培训,具体培训需求请发邮件到

service@weistock.com

您的宝贵建议或者投诉,请发往邮箱:weiwei@weistock.com

 回到顶部
帅哥哟,离线,有人找我吗?
王锋
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:罗宾汉 帖子:11808 积分:20695 威望:0 精华:10 注册:2009/8/18 8:15:13
  发帖心情 Post By:2012/2/14 20:16:06    Post IP:58.246.57.26[只看该作者]

建议使用专业版的信号消失后恢复持仓功能


金字塔—专业程序化软件提供商

金字塔-技术部

-----------------------------------------------------------------------------------------------------

工作时间:周一至周五 08:30 - 17:30   周末及法定节假日休息

Email:service@weistock.com
 回到顶部
帅哥哟,离线,有人找我吗?
阿火
  4楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 原leevolvo
等级:版主 帖子:2160 积分:10563 威望:0 精华:11 注册:2010/11/3 11:21:19
  发帖心情 Post By:2012/2/14 21:13:47    Post IP:121.204.186.31[只看该作者]

你第一句 就把 ex04 就赋值为 0 了。 而且这个是每次都执行的。

 


 回到顶部
帅哥哟,离线,有人找我吗?
zzzlondon
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:54 积分:333 威望:0 精华:0 注册:2011/3/11 8:47:01
  发帖心情 Post By:2012/2/17 8:51:14    Post IP:116.228.231.42[只看该作者]

对哦,非常感谢


 回到顶部