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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → [原创]提前N秒下单的方法,适用于各个周期

   

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


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

主题:[原创]提前N秒下单的方法,适用于各个周期

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


加好友 发短信 原leevolvo
等级:版主 帖子:2160 积分:10563 威望:0 精华:11 注册:2010/11/3 11:21:19
[原创]提前N秒下单的方法,适用于各个周期  发帖心情 Post By:2011/11/17 10:55:20    Post IP:120.42.45.130[只看该作者]

老是有人希望提前N秒下单

在此提供一种自己编写的方法

适用于各个周期,注意:选用固定时间间隔模式

2011-12-26 做了更新,给出了不规律周期的K线结束时间

 

//这里以股指期货为例,商品原理类似:关键是找出K线结束的时间规律。

ma5:=ma(c,5);
ma10:=ma(c,10);
zq:=2;//周期类型,2分钟就填2,3分钟就填3 ,5分钟就填5
tq:=5;//提前的秒数,最多提前60秒
lastopentm:=if(date<>ref(date,1),0,ref(openminutes(time),1));//上一根K线的开盘分钟数
ticktm:=dynainfo(207);
abb:=(mod(ticktm,100)>=60-tq and (openminutes(ticktm)-lastopentm=zq-1 or (ticktm>=112900 and ticktm<=113000) or (ticktm>=151400 and ticktm<=151500))) or not(islastbar);

if abb then begin
  if holding>0 and ma5<ma10 then sell(1,1,thisclose);
  if holding<0 and ma5>ma10 then sellshort(1,1,thisclose);
  if holding=0 and ma5>ma10 then buy(1,1,thisclose);
  if holding=0 and ma5<ma10 then buyshort(1,1,thisclose);

end

 

大家注意了

2.80版本以上,time这个函数有所变化,直接可以直接获得K线结束的时间。提前下单更加方便了

ma5:=ma(c,5);
ma10:=ma(c,10);
input:tq(5,3,60,1);
abb:=(time0-timetot0(dynainfo(207))<=tq) or not(islastbar);

if abb then begin
  if holding>0 and ma5<ma10 then sell(1,1,thisclose);
  if holding<0 and ma5>ma10 then sellshort(1,1,thisclose);
  if holding=0 and ma5>ma10 then buy(1,1,thisclose);
  if holding=0 and ma5<ma10 then buyshort(1,1,thisclose);

end

[此贴子已经被作者于2012-2-9 10:20:04编辑过]

[本帖被加为精华]
 回到顶部
帅哥哟,离线,有人找我吗?
阿火
  2楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


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

time=113000 or time=151500 ,不同的品种收盘时间,这里自己要改一改。

还有商品在101500有休盘,这里的K线结束时间,也根据自己的周期相应修改

 

原理也很简单:就是找出每根K线结束的时间点,然后用currenttime或者dynainfo(207)去控制下单时机 

[此贴子已经被作者于2011-11-17 11:26:19编辑过]

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


加好友 发短信
等级:新手上路 帖子:70 积分:285 威望:0 精华:0 注册:2011/10/12 15:57:24
  发帖心情 Post By:2011/11/17 13:00:30    Post IP:220.163.9.152[只看该作者]

我是需要的,谢谢。我测试一下。

 回到顶部
美女呀,离线,留言给我吧!
xian_0_9
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 BOO
等级:论坛游民 帖子:378 积分:1856 威望:0 精华:0 注册:2010/1/25 18:04:12
  发帖心情 Post By:2011/11/17 13:38:55    Post IP:119.114.115.234[只看该作者]

会不会出现信号丢失的问题啊。提前5秒。后5秒信号消失了。。

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


加好友 发短信
等级:新手上路 帖子:70 积分:285 威望:0 精华:0 注册:2011/10/12 15:57:24
  发帖心情 Post By:2011/11/17 13:48:28    Post IP:220.163.9.152[只看该作者]

 问题,我修改使用5分钟周期,每个5分钟K线都在下单,提前的时间限制1015、1130、1500不起作用。亲火哥亲自调试一下。

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


加好友 发短信
等级:论坛游侠 帖子:356 积分:767 威望:0 精华:0 注册:2011/9/5 10:51:56
  发帖心情 Post By:2011/11/17 14:13:58    Post IP:14.146.30.227[只看该作者]

请问这种写法是否就要选择固定轮询呢?

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


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

要选择,固定轮询


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

客户服务部

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

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

service@weistock.com

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

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


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

以下是引用tmxker在2011-11-17 13:48:28的发言:
 问题,我修改使用5分钟周期,每个5分钟K线都在下单,提前的时间限制1015、1130、1500不起作用。亲火哥亲自调试一下。

 

这就是你模型问题了。

一般下单只会在 holding变化时才下单,比如:由holding=0变化为holding=1 开多单

 

其它不规则的周期可能比较麻烦,但5分钟周期很有规律,不会有问题的


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


加好友 发短信
等级:新手上路 帖子:17 积分:95 威望:0 精华:0 注册:2011/5/28 7:08:41
  发帖心情 Post By:2011/11/19 20:27:24    Post IP:14.146.64.48[只看该作者]

请问火哥,能用于六十分钟周期的吗?


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


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

对于商品,60分钟K线结束的位置是以下几个 10:00  11:00  14:00 15:00

用一下即可:

ma5:=ma(c,5);

ma10:=ma(c,10);

abb:=(mod(dynainfo(207),100)>55 and islastbar and (time=100000 or time=110000 or time=140000 or time=150000)) or not(islastbar);

if holding>0 and ma5<ma10 and abb then sell(1,1,thisclose);

if holding<0 and ma5>ma10 and abb then sellshort(1,1,thisclose);

if holding=0 and ma5>ma10 and abb then buy(1,1,thisclose);

if holding=0 and ma5<ma10 and abb then buyshort(1,1,thisclose);


 回到顶部
总数 45 1 2 3 4 5 下一页