以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://222.73.7.161/bbs/index.asp) -- 公式模型编写问题提交 (http://222.73.7.161/bbs/list.asp?boardid=4) ---- 老师帮我改改,谢谢 (http://222.73.7.161/bbs/dispbbs.asp?boardid=4&id=180948) |
-- 作者:2P1158 -- 发布时间:2020/6/30 15:26:48 -- 老师帮我改改,谢谢 老师好,以下是个人编写的15分钟/30分钟周期,并且过滤掉盘整时不开新仓。 请帮助改成金字塔,谢谢 RSV:=(CLOSE-LLV(LOW,9))/(HHV(HIGH,9)-LLV(LOW,9))*100; N:=BARSLAST(DATE<>REF(DATE,1))+1; MA6:MA(C,6); MA18:MA(C,18); MA40:MA(C,40); M1:=BARSLAST(CROSS(MA6,MA18)); //上一次条件满足金叉(后加) M2:=BARSLAST(CROSS(MA18,MA6)); //上一次条件满足死叉(后加) HH:=HHV(HIGH,6); LL:=LLV(LOW,18); HH1:=BARSLAST((HH > REF(HH,1))); LL1:=BARSLAST((LL < REF(LL,1))); (TIME>=0905&&TIME<1456||TIME>2105&&TIME<2255)&&CROSSUP(LL1,HH1),BPK;//多 (TIME>=0905&&TIME<1456||TIME>2105&&TIME<2255)&&CROSSUP(HH1,LL1),SPK;
//空 //CROSSUP(MA6,MA18),BP; //CROSSDOWN(MA6,MA18),SP; DRAWTEXT(FILTER(((HH1 < REF(HH1,1)) AND
(HH1 < LL1)),90),LOW,\'加多\',COLORRED); DRAWTEXT(FILTER(((LL1 < REF(LL1,1)) AND
(HH1 > LL1)),90),HIGH,\'加空\',COLORGREEN); //CHECKSIG(BK,\'B\',5,\'C\',0,0); //设置BK信号执行方式为:K线走完前1秒下单,不进行复核 //CHECKSIG(SK,\'B\',5,\'C\',0,0); //设置SK信号执行方式为:K线走完前1秒下单,不进行复核 //CHECKSIG(SP,\'A\',0,\'C\',0,0); //设置SP信号执行方式为:出信号立即下单,不进行复核 //CHECKSIG(BP,\'A\',0,\'C\',0,0); //设置BP信号执行方式为:出信号立即下单,不进行复核 MULTSIG(0,0,1,5); CLOSEMINUTE1<= 5,CLOSEOUT; CLOSEMINUTEEVERY1(1) <=
5||CLOSEMINUTEEVERY1(4) <= 5,CLOSEOUT; AUTOFILTER; //启用一开一平信号过滤机制 |
-- 作者:FireScript -- 发布时间:2020/6/30 16:12:01 -- RSV:=(CLOSE-LLV(LOW,9))/(HHV(HIGH,9)-LLV(LOW,9))*100; N:=BARSLAST(DATE<>REF(DATE,1))+1; MA6:MA(C,6); MA18:MA(C,18); MA40:MA(C,40); M1:=BARSLAST(CROSS(MA6,MA18)); //上一次条件满足金叉(后加) M2:=BARSLAST(CROSS(MA18,MA6)); //上一次条件满足死叉(后加) HH:=HHV(HIGH,6); LL:=LLV(LOW,18); HH1:=BARSLAST((HH > REF(HH,1))); LL1:=BARSLAST((LL < REF(LL,1))); if (TIME>=130500 and TIME<185600 or TIME>10500 and TIME<25500)and CROSS(LL1,HH1) then begin sellshort(holding<0,holding,market); buy(holding=0,1,market); end if (TIME>=130500 and TIME<185600 or TIME> 10500 and TIME<25500) and CROSS(HH1,LL1) then begin sellshort(holding<0,holding,market); buy(holding=0,1,market); end DRAWTEXT(FILTER(((HH1 < REF(HH1,1)) AND (HH1 < LL1)),90),LOW,\'加多\',COLORRED); DRAWTEXT(FILTER(((LL1 < REF(LL1,1)) AND (HH1 > LL1)),90),HIGH,\'加空\',COLORGREEN); //MULTSIG(0,0,1,5); 设置软件交易时候固定轮询为5秒即可 //这部分是收盘前五分钟平仓 INPUT:X(3,1,200,1);//X表示分钟数 MARK:=0;//用于记录当前是否满足某个收盘K结束前N分钟的变量 FOR I=0 TO 1 DO //循环遍历每个收盘时间来进行判断,这里只判断最后一节和第一节 2个时间区间 BEGIN abb:=timetot0(CLOSETIME(I))-time0,NODRAW;//当前K线时间距离收盘K线结束倒计时 abb3:=timetot0(CLOSETIME(I))-timetot0(dynainfo(207)),NODRAW;//当前时间距离收盘K时间 IF (abb<X*60 and abb>=0 and (not(ISLASTBAR))) or (ISLASTBAR and abb3>=0 and abb3<X*60) THEN MARK:=1; END if MARK then //兼顾实际交易时候的信号和历史回测信号 begin sell(holding>0,holding,market); sellshort(holding<0,holding,market); end |
-- 作者:2P1158 -- 发布时间:2020/6/30 23:19:48 -- 老师好, 已将二楼全部内容加入作为新的指标后发现报错啊, 每日开平仓的时间,与我原来设定时间不一致哦 请老师验证一下哦 谢谢 |