以下是引用ma-robot在2020/12/16 19:25:29的发言:
{策略定义模式}
RUNMODE:0;{运行模式 逐渐}
CLOSEPOSMODE:1;{平仓模式 平老仓}
WARNING_DISABLE:2;{报警处理 编译不警告}
//TEST:SPLITBARS(0)<OPENMINUTES(TIME),noaxis,LINETHICK0;{除权到现在的周期数}
IF SPLITBARS(0)<OPENMINUTES(TIME) THEN
DRAWTEXTEX( 1,0,20,0,\'/主力移仓日/\'+NUMTOSTR(MINUTE(),0)+\'分/\'+STKNAME+\'/\'+STKLABEL+\'/\'+DYNAINFO(210) +\'/本月\'+NUMTOSTR(MONTH(),0)+\'/主月\'+NUMTOSTR(STRTONUM( STRRIGHT(DYNAINFO(210),2) ),0),COLORYELLOW);{当日主力合约切换提示}
IF {STKLABEL=\'CU00\' {沪铜策略停止}
{OR STKLABEL=\'AU00\' {黄金策略停止}
{OR STKLABEL=\'SC00\' OR}{原油策略停止}
STKLABEL=\'SA00\' {纯碱策略停止}
OR STKLABEL=\'SH001\'{上证指数策略停止}
OR STKLABEL=\'IH13\' {50指数策略停止}
OR STKLABEL=\'AU30\' {商品指数策略停止}
OR STKLABEL=\'AU31\' {金属指数策略停止}
OR STKLABEL=\'AU32\' {能源指数策略停止}
OR STKLABEL=\'AU33\' {化工指数策略停止}
OR STKLABEL=\'AU34\' {农产品指数策略停止}
OR STKLABEL=\'AU35\' {油脂指数策略停止}
OR SPLITBARS(0)<OPENMINUTES(TIME) {当日除权到现在的周期数。主力合约换月停止策略}
OR CALLSTOCK(STKLABEL,VTCLOSE,6,-1)*1.03 < CALLSTOCK(STKLABEL,VTOPEN,6,0) {开盘价差大于3%停止策略}
OR CALLSTOCK(STKLABEL,VTCLOSE,6,-1)*0.97 > CALLSTOCK(STKLABEL,VTOPEN,6,0) {开盘价差大于3%停止策略}
THEN
EXIT; {定制品种策略停止,换月停止,纯碱品种交易模拟盘不支持限制停止}
{主力合约判断异常处理}
//本月:=MONTH(),LINETHICK0;
//主月:=STRTONUM( STRRIGHT(DYNAINFO(210),2) ),LINETHICK0;
IF (OPENPROFIT+NETPROFIT+(CASH(0)+CASH(1))/2)<0 THEN DRAWGBK(1,COLORRGB(255,0,0), COLORRGB(255,255,0),0);
IF (OPENPROFIT+NETPROFIT+(CASH(0)+CASH(1))/2)>0 THEN DRAWGBK(1,COLORRGB(0,255,0), COLORRGB(255,255,0),0);
IF (OPENPROFIT+NETPROFIT+(CASH(0)+CASH(1))/2)>=0 THEN
DRAWTEXTEX( 1,0,20,0,\'/\'+NUMTOSTR(MINUTE(),0)+\'分/\'+STKNAME+\'/\'+STKLABEL+\'/\'+DYNAINFO(210) +\'/本月\'+NUMTOSTR(MONTH(),0)+\'/主月\'+NUMTOSTR(STRTONUM( STRRIGHT(DYNAINFO(210),2) ),0),COLORRED);
ELSE
DRAWTEXTEX( 1,0,20,0,\'/\'+NUMTOSTR(MINUTE(),0)+\'分/\'+STKNAME+\'/\'+STKLABEL+\'/\'+DYNAINFO(210) +\'/本月\'+NUMTOSTR(MONTH(),0)+\'/主月\'+NUMTOSTR(STRTONUM( STRRIGHT(DYNAINFO(210),2) ),0),COLORGREEN);
{品种交易限制}
//IF 本月=主月 THEN EXIT; {如果本月是主月移仓换月停止交易,预留模块}
第一个模块在于判断,开盘时有除权数据,出现跳空价格情况下,指标计算会出现误差,限制子策略停止运行,以上策略只能用与日内交易,
第二个模块如果是多品种一个策略,可以控制那个品种策略不运行,这个可以通过子策略判断自动选择,这个你要自己加条件控制。
第三个模块显示当前子策略状态,反馈到图表中表述色彩。如果子策略停止运行,黑色,红色亏损,绿色盈利。
最后一个模块判断主月换月接近当月风险,策略退出,可以选择开启。