INPUT:统计(1,0,1,1);
IF 统计=1 THEN BEGIN
仓:ROUNDS(AVGENTERPRICE*HOLDING,0),NOAXIS,LINETHICK0,COLORGRAY;
浮:ROUNDS(OPENPROFIT,0),NOAXIS,LINETHICK0,COLORGRAY;
浮率:ROUNDS(OPENPROFIT/(保*ABS(HOLDING))*100,1),NOAXIS,LINETHICK0,COLORGRAY;
//策略:ROUNDS(ASSET,0),NOAXIS,LINETHICK2,COLORGREEN;
利:ROUNDS(NETPROFIT,0),NOAXIS,LINETHICK2,COLORYELLOW;
利率:100*ROUNDS( NETPROFIT/(保*开仓手数),2),NOAXIS,LINETHICK1,COLORGRAY;
本:=ROUNDS( ( (GEGCHARGE('',"$OPEN#MIN1",开仓手数,0)+GEGCHARGE('',"$OPEN#MIN1",开仓手数,1) )*TOTALTRADE),0),NOAXIS,LINETHICK0,COLORGRAY;
本比:=ROUNDS(利/本,0),NOAXIS,LINETHICK0,COLORGRAY;
胜:=ROUNDS(PERCENTWIN*100,0),NOAXIS,LINETHICK0,COLORGRAY;
比:=ROUNDS(PAYOFFRATE,0),NOAXIS,LINETHICK0,COLORGRAY;
次:=TOTALDAYTRADE,NOAXIS,LINETHICK0,COLORGRAY;
总:=TOTALTRADE,NOAXIS,LINETHICK0,COLORGRAY;
KLINE("$OPEN#MIN1","$HIGH##MIN1","$LOW##MIN1","$CLOSE##MIN1",0);
DRAWTEXTEX( 1,0,20,20,'平均日利'+NUMTOSTR(利/20,1)+'元 日利率'+NUMTOSTR(利率/保*100,1)+'分' ),COLORGREEN;
DRAWTEXTEX( 1,0,20,40,'总成本'+NUMTOSTR(本,1)+'元 本利比'+NUMTOSTR(本比,1) ),COLORGREEN;
DRAWTEXTEX( 1,0,20,60,'胜率'+NUMTOSTR(胜,1)+'% 盈亏比'+NUMTOSTR(比,1) ),COLORGREEN;
DRAWTEXTEX( 1,0,20,80,'今日内交易'+NUMTOSTR(次,0)+'次 总交易次数'+NUMTOSTR(总,0) )+"次",COLORGREEN;
END
{打印资料到文件,移仓换月异常处理记录}
IF 日盘收盘=1 OR 夜盘收盘=1 THEN BEGIN
WRITEINIFILESTRING('C:\LOG\7T0RY.TXT',
' 开始日期 ' + NUMTOSTR(开始日期,0) + ' 代码 ' + STKLABEL + ' 名称 '+ STKNAME ,
' 日期 ' + NUMTOSTR(DATE,0) + ' 时间 ' + NUMTOSTR(TIME,0) ,
' 策略 7T0RY-5 ' + STKNAME + ' ' + STKLABEL + ' 主力合约 ' + DYNAINFO(210) + ' 本月 ' + NUMTOSTR(本月,0) + '月' + ' 主月 ' + NUMTOSTR(主月,0) + '月'
) ,LINETHICK0;
END
{}
//在 c盘下建立一个log的目录可以输出一个记录文件。
{}
CLOSEPOSMODE:0;
{}
本月:=MONTH(),LINETHICK0;
主月:=STRTONUM( STRRIGHT(DYNAINFO(210),2) ),LINETHICK0;
DRAWTEXTEX( 1,0,20,0,'/7T0RY-1-5分钟/'+STKNAME+'/'+STKLABEL+'/'+DYNAINFO(210) +'/本月'+NUMTOSTR(本月,0)+'/主月'+NUMTOSTR(主月,0));
{}
SETTRADESIGN(1);
{}
IF 本月=主月 {AND ABS(HOLDING)<>0} THEN BEGIN
主力合约错误平多:SELL(1,0,NEXTOPEN);
主力合约错误平空:SELLSHORT(1,0,NEXTOPEN);
END
{}
IF 本月=主月 THEN EXIT;
{}
INPUT:趋势0震荡1(1,0,1,1);
INPUT:开仓手数(1,0,9,1);
INPUT:平仓手数(0,0,9,1);
INPUT:交易次数(5,1,9,1);
INPUT:开盘时间(21,0,59,1);
INPUT:收盘时间(21,1,59,1);
INPUT:间隔月(1,1,12,1);
INPUT:OHLC周期(1,1,9,1);
开始日期:CURRENTDATE-间隔月*100,NOAXIS,LINETHICK0;//日期+1000000;
{}
IF REF(DATE,0)<=开始日期-5 THEN EXIT;//SETTRADESIGN(0);
IF REF(DATE,0)>=1201010 THEN EXIT;//SETTRADESIGN(0);
{}
开盘:=TIME>OPENTIME(1)+开盘时间*100 AND TIME<CLOSETIME(0)-10000+5959-收盘时间*100,NOAXIS,COLORGRAY;
夜盘收盘:=TIME>CLOSETIME(1)-10000+5959-收盘时间*100 AND TIME<CLOSETIME(1)-10000+5959,NOAXIS,COLORGRAY;
中盘收盘:=TIME>CLOSETIME(3)-10000+5959-收盘时间*100 AND TIME<OPENTIME(4)+开盘时间*100,NOAXIS,COLORGRAY;
日盘收盘:=TIME>CLOSETIME(0)-10000+5959-收盘时间*100,NOAXIS,COLORGRAY;
星期:WEEKDAY(),NOAXIS,COLORGRAY,LINETHICK1;
{}
IF 日盘收盘=1 AND ABS(HOLDING)<>0 THEN BEGIN
日平多:SELL(OPENPROFIT<50,平仓手数,NEXTOPEN);
日平空:SELLSHORT(OPENPROFIT<50,平仓手数,NEXTOPEN);
END
{}
IF 夜盘收盘=1 AND ABS(HOLDING)<>0 AND 星期<>1 THEN BEGIN
夜平多:SELL(OPENPROFIT<50,平仓手数,NEXTOPEN);
夜平空:SELLSHORT(OPENPROFIT<50,平仓手数,NEXTOPEN);
END
{}
IF 夜盘收盘=1 AND ABS(HOLDING)<>0 AND 星期=1 THEN BEGIN
周夜平多:SELL(OPENPROFIT<>0,平仓手数,NEXTOPEN);
周夜平空:SELLSHORT(OPENPROFIT<>0,平仓手数,NEXTOPEN);
END
{}
IF DATE<开始日期 OR TOTALDAYTRADE>=交易次数 OR 开仓手数=0 THEN
SETTRADESIGN(0);
ELSE
SETTRADESIGN(1);
//策略开头部分。