定义几个变量:
HH为上一个交易日的最高价
LL为上一个交易日的最低价
CC为上一个交易日的收盘价
OO为本交易日的开盘价
取(CC-LL)与(HH-CC)的最大值,定义为R
buyposition为今天的开盘价加上R
sellposition为今天的开盘价减去R
如果盘中价高于R,平空翻多;
如果盘中价低于R,平多翻空。
谢谢老师!
定义几个变量:
如果盘中价高于R,平空翻多;
如果盘中价低于R,平多翻空。
//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
请问老师,能否帮我把限制条件也加进去。我希望品种限定PTA,时间限定10分钟K线周期,在2012年3月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
品种和周期你只要自己选定就可以了