以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  金字塔软件问题提交  (http://weistock.com/bbs/list.asp?boardid=2)
----  CF主力合约移仓换月监测后台公式,这几天每天发邮件提醒我CF00主力合约从CF09换到了CF01,请问是哪里出问题了  (http://weistock.com/bbs/dispbbs.asp?boardid=2&id=52808)

--  作者:ydian
--  发布时间:2013/6/5 9:52:09
--  CF主力合约移仓换月监测后台公式,这几天每天发邮件提醒我CF00主力合约从CF09换到了CF01,请问是哪里出问题了

  IF CALLSTOCK(\'CF01\',vtOPENINT,0,0)=CALLSTOCK(\'CF00\',vtOPENINT,0,0) AND CALLSTOCK(\'CF01\',vtVOL,0,0)=CALLSTOCK(\'CF00\',vtVOL,0,0) AND CALLSTOCK(\'CF01\',vtCLOSE,0,0)=CALLSTOCK(\'CF00\',vtCLOSE,0,0) THEN MMONTHCF:=\'CF01\';

  IF CALLSTOCK(\'CF03\',vtOPENINT,0,0)=CALLSTOCK(\'CF00\',vtOPENINT,0,0) AND CALLSTOCK(\'CF03\',vtVOL,0,0)=CALLSTOCK(\'CF00\',vtVOL,0,0) AND CALLSTOCK(\'CF03\',vtCLOSE,0,0)=CALLSTOCK(\'CF00\',vtCLOSE,0,0) THEN MMONTHCF:=\'CF03\';

  IF CALLSTOCK(\'CF05\',vtOPENINT,0,0)=CALLSTOCK(\'CF00\',vtOPENINT,0,0) AND CALLSTOCK(\'CF05\',vtVOL,0,0)=CALLSTOCK(\'CF00\',vtVOL,0,0) AND CALLSTOCK(\'CF05\',vtCLOSE,0,0)=CALLSTOCK(\'CF00\',vtCLOSE,0,0) THEN MMONTHCF:=\'CF05\';

  IF CALLSTOCK(\'CF07\',vtOPENINT,0,0)=CALLSTOCK(\'CF00\',vtOPENINT,0,0) AND CALLSTOCK(\'CF07\',vtVOL,0,0)=CALLSTOCK(\'CF00\',vtVOL,0,0) AND CALLSTOCK(\'CF07\',vtCLOSE,0,0)=CALLSTOCK(\'CF00\',vtCLOSE,0,0) THEN MMONTHCF:=\'CF07\';

  IF CALLSTOCK(\'CF09\',vtOPENINT,0,0)=CALLSTOCK(\'CF00\',vtOPENINT,0,0) AND CALLSTOCK(\'CF09\',vtVOL,0,0)=CALLSTOCK(\'CF00\',vtVOL,0,0) AND CALLSTOCK(\'CF09\',vtCLOSE,0,0)=CALLSTOCK(\'CF00\',vtCLOSE,0,0) THEN MMONTHCF:=\'CF09\';

  IF CALLSTOCK(\'CF11\',vtOPENINT,0,0)=CALLSTOCK(\'CF00\',vtOPENINT,0,0) AND CALLSTOCK(\'CF11\',vtVOL,0,0)=CALLSTOCK(\'CF00\',vtVOL,0,0) AND CALLSTOCK(\'CF11\',vtCLOSE,0,0)=CALLSTOCK(\'CF00\',vtCLOSE,0,0) THEN MMONTHCF:=\'CF11\';

  //当前CF连续主力合约为:MMONTHCF;

  IF CALLSTOCK(MMONTHCF,vtOPENINT,6,-1)<>CALLSTOCK(\'CF00\',vtOPENINT,6,-1) OR CALLSTOCK(MMONTHCF,vtVOL,6,-1)<>CALLSTOCK(\'CF00\',vtVOL,6,-1) OR CALLSTOCK(MMONTHCF,vtCLOSE,6,-1)<>CALLSTOCK(\'CF00\',vtCLOSE,6,-1) THEN //判断连续主力合约换月信号

     BEGIN

     IF CALLSTOCK(\'CF01\',vtOPENINT,6,-1)=CALLSTOCK(\'CF00\',vtOPENINT,6,-1) AND CALLSTOCK(\'CF01\',vtVOL,6,-1)=CALLSTOCK(\'CF00\',vtVOL,6,-1) THEN SMONTHCF:=\'CF01\';

     IF CALLSTOCK(\'CF03\',vtOPENINT,6,-1)=CALLSTOCK(\'CF00\',vtOPENINT,6,-1) AND CALLSTOCK(\'CF03\',vtVOL,6,-1)=CALLSTOCK(\'CF00\',vtVOL,6,-1) THEN SMONTHCF:=\'CF03\';

     IF CALLSTOCK(\'CF05\',vtOPENINT,6,-1)=CALLSTOCK(\'CF00\',vtOPENINT,6,-1) AND CALLSTOCK(\'CF05\',vtVOL,6,-1)=CALLSTOCK(\'CF00\',vtVOL,6,-1) THEN SMONTHCF:=\'CF05\';

     IF CALLSTOCK(\'CF07\',vtOPENINT,6,-1)=CALLSTOCK(\'CF00\',vtOPENINT,6,-1) AND CALLSTOCK(\'CF07\',vtVOL,6,-1)=CALLSTOCK(\'CF00\',vtVOL,6,-1) THEN SMONTHCF:=\'CF07\';

     IF CALLSTOCK(\'CF09\',vtOPENINT,6,-1)=CALLSTOCK(\'CF00\',vtOPENINT,6,-1) AND CALLSTOCK(\'CF09\',vtVOL,6,-1)=CALLSTOCK(\'CF00\',vtVOL,6,-1) THEN SMONTHCF:=\'CF09\';

     IF CALLSTOCK(\'CF11\',vtOPENINT,6,-1)=CALLSTOCK(\'CF00\',vtOPENINT,6,-1) AND CALLSTOCK(\'CF11\',vtVOL,6,-1)=CALLSTOCK(\'CF00\',vtVOL,6,-1) THEN SMONTHCF:=\'CF11\';

     //DEBUGOUT(\'今日CF连续主力合约换月至:%.0f\'+MMONTHCF,1);

     //DEBUGOUT(\'CF今换月前之主力合约:%.0f\'+SMONTHCF,1);
    
     IF (DYNAINFO(207)>=090058 AND DYNAINFO(207)<090100) OR (DYNAINFO(207)>=100058 AND DYNAINFO(207)<100100) OR (DYNAINFO(207)>=110058 AND DYNAINFO(207)<110100) OR (DYNAINFO(207)>=140058 AND DYNAINFO(207)<140100) THEN

        BEGIN

        DEBUGFILE(\'D:\\HLPY9-24换月记录.TXT\',\'今日CF连续主力合约换月至:%.0f\'+MMONTHCF,1);

        DEBUGFILE(\'D:\\HLPY9-24换月记录.TXT\',\'CF00今日换月前之主力合约为:%.0f\'+SMONTHCF,1);
       
        SENDMAIL(1,mailaddress,\'金字塔公式HLPY8:今日CF连续主力合约换月\',\'换月前主力合约为\'+SMONTHCF+\';换月后主力合约为\'+MMONTHCF+\'。\');

        END

      END;