以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  求帮助:一个交易系统,测试通过了,但不出信号,问题在哪儿?  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=53184)

--  作者:fyyafco
--  发布时间:2013/6/19 13:23:04
--  求帮助:一个交易系统,测试通过了,但不出信号,问题在哪儿?

//中间变量
INPUT:M(50,5,300,30),N(1.25,0.1,10,0.1),D(20,1,100,1),SS(1,1,100,1);
VARIABLE:X:=50;
MID :  MA(CLOSE,M);//布林中轨
UPPER:=MID + N*STD(CLOSE,M);//布林上轨
LOWER:=MID - N*STD(CLOSE,M);//布林下轨
LAST_UPPER:REF(UPPER,1);
LAST_LOWER:REF(LOWER,1);
HCD:=REF(HHV(C,D),1);//20周期收盘价高点
LCD:=REF(LLV(C,D),1);//20周期收盘价低点
KCZQS:=ENTERBARS+1,NOAXIS;//开仓至今的周期数
IF HOLDING=0 THEN
   AA:=50;
ELSE
   IF HOLDING<>O AND KCZQS<40 THEN
      AA:=51-KCZQS;
   ELSE
      IF HOLDING<>O AND KCZQS>=40 THEN
         AA:=10;

MACC:=MA(CLOSE,AA);
LAST_MACC:REF(MACC,1),COLORGREEN,LINETHICK2;
LAST_CLOSE:=REF(CLOSE,1);

P_KD:=MAX(OPEN,HCD);
P_KK:=MIN(OPEN,LCD);
P_DDCC:=MIN(OPEN,LAST_MACC);
P_KDCC:=MAX(OPEN,LAST_MACC);
 
//交易条件
KDTJ:=LAST_CLOSE>HCD AND HIGH>LAST_UPPER;//收盘价大于30周期收盘价最高值,且最高价上穿上轨
KKTJ:=LAST_CLOSE<LCD AND LOW<LAST_LOWER;//收盘价小于30周期收盘价最高值,且最低价下穿下轨
DDCCTJ:=LAST_CLOSE<LAST_MACC AND LAST_MACC<LAST_UPPER; //多单出场条件
KDCCTJ:=LAST_CLOSE>LAST_MACC AND LAST_MACC>LAST_LOWER; //空单出场条件

//交易系统
//离场
IF DDCCTJ THEN BEGIN
   SELL(HOLDING>0,SS,STOPR,P_DDCC);  //平多信号
END
IF KDCCTJ THEN BEGIN
   SELLSHORT(HOLDING<0,SS,STOPR,P_KDCC); //平空信号
END

//入场
IF KDTJ THEN BEGIN
   BUY(HOLDING=0,SS,STOPR,P_KD);  //开多信号
END
IF KKTJ THEN BEGIN
   BUYSHORT(HOLDING=0,SS,STOPR,P_KK);  //开空信号
END


--  作者:fyyafco
--  发布时间:2013/6/19 13:26:08
--  

KDTJ:=LAST_CLOSE>HCD AND HIGH>LAST_UPPER;//收盘价大于30周期收盘价最高值,且最高价上穿上轨
KKTJ:=LAST_CLOSE<LCD AND LOW<LAST_LOWER;//收盘价小于30周期收盘价最高值,且最低价下穿下轨

这里文字写错了,应是20周期。。