以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://222.73.7.161/bbs/index.asp)
--  策略编写求助区  (http://222.73.7.161/bbs/list.asp?boardid=11)
----  麻烦老师编写一个交易策略  (http://222.73.7.161/bbs/dispbbs.asp?boardid=11&id=9657)

--  作者:txdys2008
--  发布时间:2012/1/13 14:41:16
--  麻烦老师编写一个交易策略

定义几个变量:

HH为上一个交易日的最高价

LL为上一个交易日的最低价

CC为上一个交易日的收盘价

OO为本交易日的开盘价

取(CC-LL)与(HH-CC)的最大值,定义为R

buyposition为今天的开盘价加上R

sellposition为今天的开盘价减去R

 

如果盘中价高于R,平空翻多;

如果盘中价低于R,平多翻空。

 

谢谢老师!


--  作者:just
--  发布时间:2012/1/13 15:01:29
--  
在编写中。
--  作者:26327756l
--  发布时间:2012/1/13 15:09:24
--  
问题正在解决中
--  作者:just
--  发布时间:2012/1/13 15:20:08
--  
以下是引用txdys2008在2012-1-13 14:41:16的发言:

定义几个变量:

 

如果盘中价高于R,平空翻多;

如果盘中价低于R,平多翻空。

 

感觉你这个R写的笔误了。
--  作者:just
--  发布时间:2012/1/13 15:20:20
--  

//1分钟周期,IF合约

//走完一根K线

 

N:=barslast(date<>ref(date,1))+1;
hh:=ref(hhv(h,N),N);//昨日最高价
ll:=ref(llv(l,N),N);
cc:=VALUEWHEN(DATE<>REF(DATE,1),REF(CLOSE,1));////昨收

oo:=valuewhen(date<>ref(date,1),o);//当日开盘价


r:=max((cc-ll),(hh-cc));
buyposition:=oo+r;
sellposition:=oo-r;


if c>buyposition and time>091600 and time<151000 then begin
sellshort(holding>0,0,market);
buy(holding=0,1,market);
end

 

if c<sellposition and time>091600 and time<151000 then begin
sell(holding<0,0,market);
buyshort(holding=0,1,market);
end


 


--  作者:txdys2008
--  发布时间:2012/1/13 15:40:57
--  

请问老师,能否帮我把限制条件也加进去。我希望品种限定PTA,时间限定10分钟K线周期,在2012年3月31号之后就无法显示出信号。谢谢!


--  作者:just
--  发布时间:2012/1/13 16:36:31
--  

N:=barslast(date<>ref(date,1))+1;
hh:=ref(hhv(h,N),N);//昨日最高价
ll:=ref(llv(l,N),N);
cc:=VALUEWHEN(DATE<>REF(DATE,1),REF(CLOSE,1));////昨收

oo:=valuewhen(date<>ref(date,1),o);//当日开盘价


r:=max((cc-ll),(hh-cc));
buyposition:=oo+r;
sellposition:=oo-r;


if  date>=1120331 then exit;

 

if c>buyposition and time>091000 and time<145000 then begin
sellshort(holding>0,0,market);
buy(holding=0,1,market);
end

 

if c<sellposition and time>091000 and time<145000 then begin
sell(holding<0,0,market);
buyshort(holding=0,1,market);
end

品种和周期你只要自己选定就可以了


--  作者:蔡宛宏
--  发布时间:2012/1/16 16:24:30
--  
时间过滤可以作为一个变量加进去看看