以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://www.weistock.com/bbs/index.asp)
--  交易策略发布专区  (http://www.weistock.com/bbs/list.asp?boardid=10)
----  【日内策略】Hans123  (http://www.weistock.com/bbs/dispbbs.asp?boardid=10&id=30233)

--  作者:RogarZ
--  发布时间:2012/10/31 0:08:28
--  【日内策略】Hans123

//策略:HANS123
//周期:日内
//类别:趋势突破

作为外汇市场上广为流行的一种突破交易策略,HANS123以其简洁的开盘后N根K线高低点突破,作为交易信号触发的评判标准。这也是一种入场较早的交易模式,配合适当过滤技术,或可提高其胜算。

主要特点:

在开盘30分钟后准备入场;

上轨=开盘后30分钟高点;

下轨=开盘后30分钟低点;

用法:

当价格突破上轨,买入开仓;

当价格跌穿下轨,卖出开仓。

代码:

//策略:HANS123
//周期:日内
//修订时间:2012.11.1
//Designed By Rogarz

 

//准备中间变量

input:ss(1,1,100,1);
N:=barslast(date<>ref(date,1))+1;
开盘30分钟最高价:=valuewhen(time<=090000+30*100,hhv(h,n));
开盘30分钟最低价:=valuewhen(time<=090000+30*100,llv(l,n));
手数:=ss;
上轨:开盘30分钟最高价;
下轨:开盘30分钟最低价;
//条件
开多条件:=c>上轨;
开空条件:=c<下轨;
//交易系统
if time>090000+30*100 and time<150000-(10*100+4000)  then begin
开多:buy(开多条件 and holding=0,手数,market);
开空:buyshort(开空条件 and holding=0,手数,market);
end
//平仓
if time>=150000-(10*100+4000) then BEGIN
收盘平多:sell(1,手数,market);
收盘平空:sellshort(1,手数,market);
end

资金:asset,noaxis;

 

######################################################################################

//参数版

//策略:HANS123
//周期:日内
//修订时间:2012.11.1
//Designed By Rogarz

 

//准备中间变量
input:ss(1,1,100,1),nmin1(30,1,1000,1),nmin2(10,1,100,1),n1(0,0,100,1);
N:=barslast(date<>ref(date,1))+1;
开盘30分钟最高价:=valuewhen(time<=090000+nmin1*100,hhv(h,n));
开盘30分钟最低价:=valuewhen(time<=090000+nmin1*100,llv(l,n));
手数:=ss;
上轨:开盘30分钟最高价+n1*mindiff;
下轨:开盘30分钟最低价-N1*mindiff;
//条件
开多条件:=c>上轨;
开空条件:=c<下轨;
//交易系统
if time>090000+nmin1*100 and time<150000-(nmin2*100+4000) then begin
开多:buy(开多条件 and holding=0,手数,market);
开空:buyshort(开空条件 and holding=0,手数,market);
end
//平仓
if time>=150000-(nmin2*100+4000) then BEGIN
收盘平多:sell(1,手数,market);
收盘平空:sellshort(1,手数,market);
end

资金:asset,noaxis;


--  作者:aback
--  发布时间:2012/10/31 10:19:20
--  [求助]逐K模式下的DLL,如何传递自定义的数组?
支持一下,对新手很有帮助!
--  作者:zsjwhy
--  发布时间:2012/11/12 20:46:13
--  自设套利时间不对
谢谢楼主
--  作者:RogarZ
--  发布时间:2013/1/13 13:24:50
--  
以下是引用博亿在2013-1-13 9:32:04的发言:

“time>=150000-nmin2*100”楼主,这是收盘前70秒 的意思吗? 


原帖有些问题,我已做修改

15:00:00  时间在金字塔里是6位   我的原意是通过nmin2 参数, 控制收盘前平仓的时间。nimin2代表提前多少分钟。

当时写了090000+30*100 想当然地套用到收盘的情况(平时都是直接写死时间的,这个细节木注意,不好意思了)

目前的写法应该是对了。


--  作者:lzql888
--  发布时间:2013/1/14 20:09:20
--  
谢谢老师提供 辛苦了
--  作者:thomaskinna
--  发布时间:2013/3/12 14:57:37
--  
hans123还是不错的,赞一个
--  作者:jiangsen
--  发布时间:2013/3/21 18:24:53
--  

--  作者:cgysdf
--  发布时间:2013/10/9 11:32:09
--  
RogarZ老师,if time>090000+30*100 and time<150000-(10*100+4000),前面是开盘后30分钟,后面的 time<150000-(10*100+4000),代表什么意思呢?
--  作者:sdrzhq
--  发布时间:2014/1/4 19:18:09
--  
图片点击可在新窗口打开查看
--  作者:RogarZ
--  发布时间:2014/1/12 21:06:15
--  
系统已自带   交易——公式编辑器——交易系统——图表程序化——系统交易