-- 作者:新手123
-- 发布时间:2016/4/16 19:51:35
-- 程序
老师。
你好,能帮忙把这段程序改为我们的金字塔程序吗?谢谢
//参数: K1 15 K2 10 SHORT:=12; LONG:=26; M:=9; MA1:=MA(C,10); MA2:=MA(C,20); DIFF :=EMA(CLOSE,SHORT) - EMA(CLOSE,LONG);//短周期与长周期的收盘价的指数平滑移动平均值做差。 DEA :=EMA(DIFF,M);//DIFF的M个周期指数平滑移动平均 MACD:=2*(DIFF-DEA),COLORSTICK;//DIFF减DEA的2倍画柱状线 SJ:=TIME>=0900 AND TIME<=1500; CROSS(MA1,MA2) AND CROSS(MACD,0) AND SJ ,BPK; CROSS(MA2,MA1) AND CROSSDOWN(MACD,0) AND SJ ,SPK; NN:=BARSLAST(DATE<>REF(DATE,1))+1; HH:=REF(HHV(H,NN),NN); //昨日最高 HC:=REF(HHV(C,NN),NN); //昨日最高收盘 LL:=REF(LLV(L,NN),NN); //昨日最低 LC:=REF(LLV(C,NN),NN); //昨日最低收盘 RANGER:=IFELSE((HH - LC) >= (HC - LL),HH - LC,HC - LL); //取最高减去最第收盘。 与 最高收盘减去最低价格, 两者中大的那个 BUYTRIG:=K1/10*RANGER; SELLTRIG:=K2/10*RANGER; BUYPOSITION:=REF(OPEN,NN-1)+BUYTRIG; //今日开盘+一定幅度 SELLPOSITION:=REF(OPEN,NN-1)-SELLTRIG; //今日开盘-一定幅度 H>BUYPOSITION && NOT(REF(EXIST(H>BUYPOSITION,NN),1)) && COUNT(H>BUYPOSITION && NOT(REF(EXIST(H>BUYPOSITION,NN),1)),NN)<2 AND SJ ,BPK; L<SELLPOSITION && NOT(REF(EXIST(L<SELLPOSITION,NN),1)) && COUNT(L<SELLPOSITION && NOT(REF(EXIST(L<SELLPOSITION,NN),1)),NN)<2 AND SJ ,SPK;
C<=(BKPRICE-BKPRICE*0.015) ,SP; C>=(SKPRICE+SKPRICE*0.015),BP; SETSIGPRICETYPE(BPK,LIMIT_ORDER);//市价下单 SETSIGPRICETYPE(SPK,LIMIT_ORDER); SETSIGPRICETYPE(BK,LIMIT_ORDER); SETSIGPRICETYPE(SK,LIMIT_ORDER); SETSIGPRICETYPE(BP,LIMIT_ORDER); SETSIGPRICETYPE(SP,LIMIT_ORDER); CLOSEKLINE(1,10);//收盘前最后1根K线提前10秒走完 AUTOFILTER;
|
-- 作者:jinzhe
-- 发布时间:2016/4/18 9:18:42
--
SHORT:=12; LONG:=26; M:=9; MA1:=MA(C,10); MA2:=MA(C,20); DIFF :=EMA(CLOSE,SHORT) - EMA(CLOSE,LONG);//短周期与长周期的收盘价的指数平滑移动平均值做差。 DEA :=EMA(DIFF,M);//DIFF的M个周期指数平滑移动平均 MACD:=2*(DIFF-DEA),COLORSTICK;//DIFF减DEA的2倍画柱状线 SJ:=TIME>=090000 AND TIME<=150000; if CROSS(MA1,MA2) AND CROSS(MACD,0) AND SJ then begin sellshort(1,0,marketr); buy(holding=0,1,marketr); end if CROSS(MA2,MA1) AND CROSS(0,macd) AND SJ then begin sell(1,0,marketr); buyshort(holding=0,1,marketr); end NN:=BARSLAST(DATE<>REF(DATE,1))+1; HH:=REF(HHV(H,NN),NN); //昨日最高 HC:=REF(HHV(C,NN),NN); //昨日最高收盘 LL:=REF(LLV(L,NN),NN); //昨日最低 LC:=REF(LLV(C,NN),NN); //昨日最低收盘 RANGER:=IFELSE((HH - LC) >= (HC - LL),HH - LC,HC - LL); //取最高减去最第收盘。 与 最高收盘减去最低价格, 两者中大的那个 BUYTRIG:=K1/10*RANGER; SELLTRIG:=K2/10*RANGER; BUYPOSITION:=REF(OPEN,NN-1)+BUYTRIG; //今日开盘+一定幅度 SELLPOSITION:=REF(OPEN,NN-1)-SELLTRIG; //今日开盘-一定幅度 if H>BUYPOSITION && NOT(REF(EXIST(H>BUYPOSITION,NN),1)) && COUNT(H>BUYPOSITION && NOT(REF(EXIST(H>BUYPOSITION,NN),1)),NN)<2 AND SJ then begin sellshort(1,0,marketr); buy(holding=0,1,marketr); end if L<SELLPOSITION && NOT(REF(EXIST(L<SELLPOSITION,NN),1)) && COUNT(L<SELLPOSITION && NOT(REF(EXIST(L<SELLPOSITION,NN),1)),NN)<2 AND SJ then begin sell(1,0,marketr); buyshort(holding=0,1,marketr); end
if C<=(enterprice-enterprice*0.015) and holding>0 then sell(1,0,marketr); if C>=(enterprice+enterprice*0.015) and holding<0 then sellshort(1,0,marketr);
|