INPUT:SS(1,1,1,1);
手数 := SS;
// 1分钟级别参数;
// MACD
DIFF1F := "MACD.DIFF#MIN1";
DEA1F := "MACD.DEA#MIN1";
MACD1F := "MACD.MACD1#MIN1";
// BBI
BBI1F := "BBI.BBI#MIN1";
// BOLL
MID1F :="BOLL.MID#MIN1";
//开多条件
KD1F := (
(DIFF1F > DEA1F)
AND (DIFF1F > REF(DIFF1F,1))//AND (REF(DIFF1F,1) > REF(DIFF1F,2))
AND (DEA1F > REF(DEA1F,1))//AND (REF(DEA1F,1) > REF(DEA1F,2))
//AND (MACD1F > REF(MACD1F,1)) AND (REF(MACD1F,1) > REF(MACD1F,2))AND(REF(MACD1F,2) > REF(MACD1F,3))
AND (BBI1F > REF(BBI1F,1))
AND (MID1F > REF(MID1F,1))
);
//平多条件 ;
PD1F := (
(BBI1F < REF(BBI1F,1))
AND (MID1F < REF(MID1F,1))
AND (CLOSE < BBI1F)
AND (CLOSE < MID1F)
);
//开空条件
KK1F := (
(DIFF1F < DEA1F)
AND (DIFF1F < REF(DIFF1F,1))//AND (REF(DIFF1F,1) < REF(DIFF1F,2))
AND (DEA1F < REF(DEA1F,1))//AND (REF(DEA1F,1) < REF(DEA1F,2))
//AND (MACD1F < REF(MACD1F,1)) AND (REF(MACD1F,1) < REF(MACD1F,2))AND(REF(MACD1F,2) < REF(MACD1F,3))
AND (BBI1F < REF(BBI1F,1))
AND (MID1F < REF(MID1F,1))
);
//平空条件
PK1F := (
(BBI1F > REF(BBI1F,1))
AND (MID1F > REF(MID1F,1))
AND (CLOSE > BBI1F)
AND (CLOSE > MID1F)
);
// 5分钟级别参数;
// MACD
DIFF5F := "MACD.DIFF#MIN5";
DEA5F := "MACD.DEA#MIN5";
MACD5F := "MACD.MACD1#MIN5";
// BBI
BBI5F := "BBI.BBI#MIN5";
// BOLL
MID5F :="BOLL.MID#MIN5";
//开多条件
KD5F := (
(DIFF5F > DEA5F)
AND (DIFF5F > REF(DIFF5F,1))//AND (REF(DIFF5F,1) > REF(DIFF5F,2))
AND (DEA5F > REF(DEA5F,1))//AND (REF(DEA5F,1) > REF(DEA5F,2))
//AND (MACD5F > REF(MACD5F,1))AND (REF(MACD5F,1) > REF(MACD5F,2))AND(REF(MACD5F,2) > REF(MACD5F,3))
AND (BBI5F > REF(BBI5F,1))
AND (MID5F > REF(MID5F,1))
);
//平多条件 ;
PD5F := (
(BBI5F < REF(BBI5F,1))
AND (MID5F < REF(MID5F,1))
AND (CLOSE < BBI5F)
AND (CLOSE < MID5F)
);
//开空条件
KK5F := (
(DIFF5F < DEA5F)
AND (DIFF5F < REF(DIFF5F,1))//AND (REF(DIFF5F,1) < REF(DIFF5F,2))
AND (DEA5F < REF(DEA5F,1))//AND (REF(DEA5F,1) < REF(DEA5F,2))
//AND (MACD5F < REF(MACD5F,1))AND (REF(MACD5F,1) < REF(MACD5F,2))AND(REF(MACD5F,2) < REF(MACD5F,3))
AND (BBI5F < REF(BBI5F,1))
AND (MID5F < REF(MID5F,1))
);
//平空条件
PK5F := (
(BBI5F > REF(BBI5F,1))
AND (MID5F > REF(MID5F,1))
AND (CLOSE > BBI5F)
AND (CLOSE > MID5F)
);
// 30分钟级别参数;
// MACD
DIFF30F := "MACD.DIFF#MIN30";
DEA30F := "MACD.DEA#MIN30";
MACD30F := "MACD.MACD1#MIN30";
// BBI
BBI30F := "BBI.BBI#MIN30";
// BOLL
MID30F :="BOLL.MID#MIN30";
//开多条件
KD30F := (
(DIFF30F > DEA30F)
AND (DIFF30F > REF(DIFF30F,1))//AND (REF(DIFF30F,1) > REF(DIFF30F,2))
AND (DEA30F > REF(DEA30F,1))//AND (REF(DEA30F,1) > REF(DEA30F,2))
//AND (MACD30F >= REF(MACD30F,1))AND (REF(MACD30F,1) > REF(MACD30F,2))AND(REF(MACD30F,2) > REF(MACD30F,3))
AND (BBI30F > REF(BBI30F,1))
AND (MID30F > REF(MID30F,1))
);
//平多条件 ;
PD30F := (
(BBI30F < REF(BBI30F,1))
AND (MID30F < REF(MID30F,1))
AND (CLOSE < BBI30F)
AND (CLOSE < MID30F)
);
//开空条件
KK30F := (
(DIFF30F < DEA30F)
AND (DIFF30F < REF(DIFF30F,1))//AND (REF(DIFF30F,1) < REF(DIFF30F,2))
AND (DEA30F < REF(DEA30F,1))//AND (REF(DEA30F,1) < REF(DEA30F,2))
//AND (MACD30F <= REF(MACD30F,1))AND (REF(MACD30F,1) < REF(MACD30F,2))AND(REF(MACD30F,2) < REF(MACD30F,3))
AND (BBI30F < REF(BBI30F,1))
AND (MID30F < REF(MID30F,1))
);
//平空条件
PK30F := (
(BBI30F > REF(BBI30F,1))
AND (MID30F > REF(MID30F,1))
AND (CLOSE > BBI30F)
AND (CLOSE > MID30F)
);
//开多:BUY(KD AND HOLDING=0,1,THISCLOSE); //开多信号
IF KD1F AND KD1F AND KD1F AND (((TIME > 85959) AND (TIME <= 145500)) OR ((TIME > 210000) AND (TIME <= 225658))) THEN
BEGIN
IF HOLDING=0 THEN BUY(1,手数,MARKET);
IF HOLDING<0 THEN
BEGIN
SELLSHORT(1,0,MARKET);
BUY(1,手数,MARKET);
END
END
//平多:SELL(PD,1,THISCLOSE); //平多信号
IF (HOLDING>0) AND (((ENTERPRICE-CLOSE) >= 5*MINDIFF) OR PD1F) THEN
BEGIN
SELL(1,0,MARKET);
END
//开空:BUYSHORT(KK AND HOLDING=0,1,THISCLOSE); //开空信号
IF KK1F AND KK1F AND KK1F AND (((TIME > 85959) AND (TIME <= 145500)) OR ((TIME > 210000) AND (TIME <= 225658))) THEN
BEGIN
IF HOLDING=0 THEN BUYSHORT(1,手数,MARKET);
IF HOLDING>0 THEN
BEGIN
SELL(1,0,MARKET);
BUYSHORT(1,手数,MARKET);
END
END
//平空:SELLSHORT(PK,1,THISCLOSE); //平空信号
IF (HOLDING<0) AND (((CLOSE-ENTERPRICE) >= 5*MINDIFF) OR PK1F) THEN
BEGIN
SELLSHORT(1,0,MARKET);
END
// 日内平仓
IF ((TIME >= 145800) AND (TIME <= 205959)) OR (TIME >= 225800) THEN
BEGIN
SELLSHORT(1,0,MARKET);
SELL(1,0,MARKET);
END
当前持仓:HOLDING,COLORGRAY,LINETHICK0;
开仓价格:ENTERPRICE,COLORGRAY,LINETHICK0;
平仓价格:EXITPRICE,COLORGRAY,LINETHICK0;
//当前资产:=ASSET,NOAXIS,COLORGRAY;
{
信号语句排列规则——先平后开
“费率设置”按钮——用于合理设置模型“费率”,以便在图形上正确输出如下帐户信息:
持仓:holding,linethick0;
资产:asset,noaxis;
可用现金:cash(0),linethick0;
您可以在查看菜单->交易系统模板 中设置自己需要的模板
}