以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  有关程序修改问题  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=90228)

--  作者:Mikewang
--  发布时间:2016/1/19 11:19:39
--  有关程序修改问题
标示红色K线做多,绿色K线做空。请帮助修改程序。
图片点击可在新窗口打开查看此主题相关图片如下:qq图片20160119111720.png
图片点击可在新窗口打开查看
有关源码如下:

Q:=(3*CLOSE+HIGH+LOW+OPEN)/6;
AA10:=EMA(Q,13);
BB10:=ATAN((AA10-REF(AA10,1)))*180/3.1416;
STICKLINE(BB10>1 AND AA10>REF(AA10,1), AA10,REF(AA10,1),8,0),COLORRED;
STICKLINE(BB10<1 AND AA10<REF(AA10,1), AA10,REF(AA10,1),8,1),COLORGREEN;
DRAWNUMBER(ISLASTBAR,AA10,AA10,2),COLOR0000FF,ALIGN0;
AA20:=EMA(Q,34);
BB20:=ATAN((AA20-REF(AA20,1)))*180/3.1416;
STICKLINE(BB20>1,AA20,REF(AA20,1),8,0),COLORYELLOW;
STICKLINE(BB20<1,AA20,REF(AA20,1),8,1),COLORBBCCCC;
DRAWNUMBER(ISLASTBAR,AA20,AA20,2),COLOR00FFFF,ALIGN0;
DRAWTEXT(CROSS(AA10,AA20),AA20*0.99871,\'多\'),COLOR0000FF;
DRAWTEXT(CROSS(AA20,AA10),AA20*1.00239,\'空\'),COLOR00FF00;

--  作者:jinzhe
--  发布时间:2016/1/19 11:25:15
--  

Q:=(3*CLOSE+HIGH+LOW+OPEN)/6;
AA10:=EMA(Q,13);
BB10:=ATAN((AA10-REF(AA10,1)))*180/3.1416;
STICKLINE(BB10>1 AND AA10>REF(AA10,1), AA10,REF(AA10,1),8,0),COLORRED;
STICKLINE(BB10<1 AND AA10<REF(AA10,1), AA10,REF(AA10,1),8,1),COLORGREEN;
DRAWNUMBER(ISLASTBAR,AA10,AA10,2),COLOR0000FF,ALIGN0;
AA20:=EMA(Q,34);
BB20:=ATAN((AA20-REF(AA20,1)))*180/3.1416;
STICKLINE(BB20>1,AA20,REF(AA20,1),8,0),COLORYELLOW;
STICKLINE(BB20<1,AA20,REF(AA20,1),8,1),COLORBBCCCC;
DRAWNUMBER(ISLASTBAR,AA20,AA20,2),COLOR00FFFF,ALIGN0;
DRAWTEXT(CROSS(AA10,AA20),AA20*0.99871,\'多\'),COLOR0000FF;
DRAWTEXT(CROSS(AA20,AA10),AA20*1.00239,\'空\'),COLOR00FF00;

if BB10>1 AND AA10>REF(AA10,1) then begin
 sellshort(1,0,marketr);
 buy(holding=0,1,marketr);
end

if BB20<1 AND AA10<REF(AA10,1) then begin
 sell(1,0,marketr);
 buyshort(holding=0,1,marketr);
end


--  作者:客人
--  发布时间:2016/1/19 12:29:01
--  
2楼的程序是否可以简化如下,但为何对国债如T1603,TF1603不起作用:
Q:=(3*CLOSE+HIGH+LOW+OPEN)/6;
AA10:=EMA(Q,13);
BB10:=ATAN((AA10-REF(AA10,1)))*180/3.1416;
STICKLINE(BB10>1 AND AA10>REF(AA10,1), AA10,REF(AA10,1),8,0),COLORRED;
STICKLINE(BB10<1 AND AA10<REF(AA10,1), AA10,REF(AA10,1),8,1),COLORGREEN;
DRAWNUMBER(ISLASTBAR,AA10,AA10,2),COLOR0000FF,ALIGN0;

if BB10>1 AND AA10>REF(AA10,1) then begin
 sellshort(1,0,marketr);
 buy(holding=0,1,marketr);
end
if BB10<1 AND AA10<REF(AA10,1) then begin
 sell(1,0,marketr);
 buyshort(holding=0,1,marketr);
end

--  作者:jinzhe
--  发布时间:2016/1/19 13:05:45
--  
说明该系统不适用于国债
--  作者:Mikewang
--  发布时间:2016/1/19 13:45:57
--  
如果是以收盘价开仓,平仓条件满足时以对手价,程序修改如下,是否正确?然而开不了仓了


N:=BARSLAST(DATE<>REF(DATE,1))+1;
Q:=(3*CLOSE+HIGH+LOW+OPEN)/6;
AA10:=EMA(Q,13);
BB10:=ATAN((AA10-REF(AA10,1)))*180/3.1416;
STICKLINE(BB10>1 AND AA10>REF(AA10,1), AA10,REF(AA10,1),8,0),COLORRED;
STICKLINE(BB10<1 AND AA10<REF(AA10,1), AA10,REF(AA10,1),8,1),COLORGREEN;
DRAWNUMBER(ISLASTBAR,AA10,AA10,2),COLOR0000FF,ALIGN0;

平空:sellshort(BB10>1 AND AA10>REF(AA10,1) &&COUNT(enterbars=1,N)<25 ,0, marketr);
buy(BB10>1 AND AA10>REF(AA10,1) &&COUNT(ENTERBARS=1,N)<25 and holding=0,1, thisclose);
平多:sell(BB10<1 AND AA10<REF(AA10,1) &&COUNT(enterbars=1,N)<25,0,marketr);
buyshort(BB10<1 AND AA10<REF(AA10,1) &&COUNT(enterbars=1,N)<25 and holding=0,1,thisclose);



多止损:sell(C<ENTERPRICE-12*MINDIFF,holding,marketr);
空止损:sellshort(C>ENTERPRICE+12*MINDIFF,holding,marketr);

--  作者:jinzhe
--  发布时间:2016/1/19 13:50:28
--  
平空:sellshort(BB10>1 AND AA10>REF(AA10,1) &&COUNT(enterbars=1,N)<25 ,0, marketr);
buy(BB10>1 AND AA10>REF(AA10,1) &&COUNT(ENTERBARS=1,N)<25 and holding=0,1, thisclose);
平多:sell(BB10<1 AND AA10<REF(AA10,1) &&COUNT(enterbars=1,N)<25,0,marketr);
buyshort(BB10<1 AND AA10<REF(AA10,1) &&COUNT(enterbars=1,N)<25 and holding=0,1,thisclose);



多止损:sell(C<ENTERPRICE-12*MINDIFF,holding,marketr);
空止损:sellshort(C>ENTERPRICE+12*MINDIFF,holding,marketr);


收盘价开仓:

buy(BB10>1 AND AA10>REF(AA10,1) &&COUNT(ENTERBARS=1,N)<25 and holding=0,1, limitr,close);
buyshort(BB10<1 AND AA10<REF(AA10,1) &&COUNT(enterbars=1,N)<25 and holding=0,1,limitr,close);

 

对手价平仓:


平空:sellshort(BB10>1 AND AA10>REF(AA10,1) &&COUNT(enterbars=1,N)<25 ,0, thisclose);
平多:sell(BB10<1 AND AA10<REF(AA10,1) &&COUNT(enterbars=1,N)<25,0,thisclose);


多止损:sell(C<ENTERPRICE-12*MINDIFF,holding,thisclose);
空止损:sellshort(C>ENTERPRICE+12*MINDIFF,holding,thisclose);
 


 


--  作者:jinzhe
--  发布时间:2016/1/19 13:51:12
--  

开不了仓是一个笼统的现在,要分为:

1有没有信号

2有信号是否有触发

3有触发是否有报单

4有报单是否有成交

以上4点都是“开不了仓”


--  作者:Mikewang
--  发布时间:2016/1/19 14:03:54
--  
6楼程序代入公式后thisclose  只能用在交易系统控制语句中
--  作者:jinzhe
--  发布时间:2016/1/19 14:11:10
--  
以下是引用Mikewang在2016/1/19 14:03:54的发言:
6楼程序代入公式后thisclose  只能用在交易系统控制语句中

不太懂这个,请截图一下


--  作者:Mikewang
--  发布时间:2016/1/19 14:18:59
--  
6楼程序代入公式后系统提示:thisclose  只能用在交易系统控制语句中
图片点击可在新窗口打开查看此主题相关图片如下:qq图片20160119141824.jpg
图片点击可在新窗口打开查看