又来麻烦老师实在很不好意思。学生的问题如下。
Dual Thrust模型上轨和下轨差时大时小,想在(09:24分以后)上轨减下轨大于20点的时候让上下轨缩小几个点,相反在上下轨差小于13点时让其扩大几个点。不知道如何编写为佳?请老师指点。
(代码如下)
input:n(7,1,50,1),K1(0.3,0.1,1,0.1),k2(0.3,0.1,1,0.1),nmin(2,1,30,1),ss(1,1,20,1);
CYC:=barslast(date<>ref(date,1))+1;
昨高:=callstock(stklabel,vthigh,6,-1);
昨低:=callstock(stklabel,vtlow,6,-1);
昨收:=callstock(stklabel,vtclose,6,-1);
开盘价:=valuewhen(cyc=1,open);
HH:=hhv(昨高,n);//N日high的最高价
HC:=hhv(昨收,n);//N日close的最高价
LC:=LLV(昨收,n);//N日close的最低价
LL:=LLV(昨低,n);//N日low的最低价
浮动区间:=max(HH-LC,HC-LL);//range
上轨:开盘价+k1*浮动区间;
下轨:开盘价-K2*浮动区间;
t1:=time>091500+nmin*100 and time<151100;
t2:=time=151400;
手数:=ss;
//交易条件
开多条件:=HIGH>上轨 and holding=0;
开空条件:=LOW<下轨 and holding=0;
买点:=HIGH>上轨;
卖点:=LOW<下轨;
//交易系统
开多:buy(开多条件 and t1 and cyc>1,ss,market);
开空:buyshort(开空条件 and t1 and cyc>1,ss,market);
收盘平多:sell(t2,holding,thisclose);
收盘平空:sellshort(t2,holding,thisclose);
好的,我去试试看,多谢指点。
这个是策略发布区中稍作修改的原型,那里也是要把老帖翻出来了,等回帖看回帖都非常不方便。如果老师方便在这里指点一下,感激不尽。
学生也是借用作者的原型,想请教下如何解决这个问题,实盘模型也大幅改动过,非常感激原作者。
如果改进成功,说不定可以提高模型的收益,进而对类似我这样的初学者大有帮助。
恳求老师是不是可以指点下,想在(09:24分以后)上轨减下轨大于20点的时候让上下轨缩小几个点,相反在上下轨差小于13点时让其扩大几个点。应该如何编写?
在这个模型里,上下轨在9点24分后有个自然缩小的过程。想请教的是,假设24分以后形成了,2175的上轨和2165的下轨,上下轨差小于13点的时候,想画两条新的上下轨,分别为2175加2点,2165减2点。然后实盘买卖以新的上下轨(2177上轨,2163下轨)为标准。不知道怎么改写比较好?学生尝试过编写,以失败告终,恳请请老师不吝下教。
也就是差值小于13的时候用老的上下轨,差值大于13的时候就各自处理2个点?
也就是差值小于13的时候用老的上下轨,差值大于13的时候就各自处理2个点?
比方说差值大于20点的时候,上下轨各自动缩小2点,差值小于13点的时候,上下轨各自扩大2点。
只是个比方,想达到的目的可以在设大于20为N1,小于13为N2,扩大或缩小为N3的参数形势下优化。
多谢老师。