您現在的位置:程序化交易>> 期貨公式>> 文華財經>> 文華財經知識>>正文內容

下單組件 這兒有語法錯誤嗎? [文華財經]

  • 咨詢內容:

    我這個模組,能運行,但一會兒就會死,查看模組運行,顯示116行有語法錯誤,我就是檢查不出來,麻煩老師看看

     

     

     ELSE IF(F_Sig()==SPK) //如果取出的信號為SPK
                 {
                   IF(T_IsNoOrder()==0&&LastState==0)
          {
                      IF(CurrentTime()-LastOrderTime()>s&&F_SigPrice()-Offers(F_DealCode(),"bid1")<=MinPrice(F_DealCode())*M);               
                      T_DeleteOrderByCode(F_DealCode(),0);
                      SPID=T_Deal(F_DealCode(),1,1,F_BuyPosition(),Offers(F_DealCode(),"bid1"));
                      SKID=T_Deal(F_DealCode(),1,0,KN,Offers(F_DealCode(),"bid1"));
                    }
          ELSE IF(T_IsNoOrder()==1&&T_OrderState(SKID)==1&&T_OrderState(SPID)==1)//賣開委托全部成交
       {
        MessageOut("成交已完成!");
        LastState=1;   
       }
                  }

     

     

     

     

     

     

     

    提示的是這兒 if 附近有語法錯誤,麻煩幫我看看,s是參數,10   秒

     

     

            IF(CurrentTime()-LastOrderTime()>s&&F_SigPrice()-Offers(F_DealCode(),"bid1")<=MinPrice(F_DealCode())*M);               

     

     


     

  • 文華技術人員: 麻煩您告知您的完整組件,可以發送到research@wenhua.com.cn  ,并且在郵件中附上該帖子鏈接,謝謝

     

  • 文華客服:

    //該組件僅僅用來示范如何編寫算法交易組件
    //用戶需要根據自己交易經驗,編寫組件再實際應用!!!

    //主要策略:設定超價參數,開平倉時,自動根據超價參數調整委托價格,提高成交價幾率。
    VAR N;//定義超價參數。
    VAR KN;//定義開倉手數。
    //VAR PN;//定義平倉手數。
    VAR BKID;//定義BK委托ID
    VAR SKID;//定義SK委托ID
    VAR BPID;//定義BP委托ID
    VAR SPID;//定義SP委托ID 
    VAR LastState;
    VAR valume1;
    VAR valume2;
    VAR s;
    VAR M;
    VOID MAIN()//主函數。
    {
          KN=1;
          M=5;

     N=0.4;
          s=10;
     LastState=ReadGlobal("LASTSTATE");
          valume1=(Offers(F_DealCode(),"askvol1")+Offers(F_DealCode(),"bidvol1"))>0
                  &&Offers(F_DealCode(),"askvol1")/(Offers(F_DealCode(),"askvol1")+Offers(F_DealCode(),"bidvol1"))<N;          
          valume2=(Offers(F_DealCode(),"askvol1")+Offers(F_DealCode(),"bidvol1"))>0
                  &&Offers(F_DealCode(),"bidvol1")/(Offers(F_DealCode(),"askvol1")+Offers(F_DealCode(),"bidvol1"))<N;     
       IF(F_High(0)==T_GetRiseLimit(F_DealCode())&&F_BuyPosition()>0)
              {
                T_Deal(F_DealCode(),1,1,F_BuyPosition(),Offers(F_DealCode(),"bid1"));
              }
       ELSE IF(F_Low(0)==T_GetFallLimit(F_DealCode())&&F_SellPosition()>0)
              {
                T_Deal(F_DealCode(),0,1,F_SellPosition(),Offers(F_DealCode(),"ask1"));
              }

       IF(F_FreshSig()==1&&F_SigValid()==1)//如果是未處理過的新信號
     { 
      IF(F_Sig()==BPK) //如果取出的信號為BpK
             {
                IF(valume1==1)
          {
                      BPID=T_Deal(F_DealCode(),0,1,F_SellPosition(),Offers(F_DealCode(),"bid1"));
       BKID=T_Deal(F_DealCode(),0,0,KN,Offers(F_DealCode(),"bid1"));//買開指定手數。     
                    }
                ELSE
                    {
                      BPID=T_Deal(F_DealCode(),0,1,F_SellPosition(),Offers(F_DealCode(),"ask1"));
       BKID=T_Deal(F_DealCode(),0,0,KN,Offers(F_DealCode(),"ask1"));//買開指定手數。
          }
               }

       ELSE IF(F_Sig()==SPK) //如果取出的信號為SK
      {
                  IF(valume2==1)
                     {
                       SPID=T_Deal(F_DealCode(),1,1,F_BuyPosition(),Offers(F_DealCode(),"ask1"));
        SKID=T_Deal(F_DealCode(),1,0,KN,Offers(F_DealCode(),"ask1"));//賣開指定手數。
           }
                  ELSE
                     {
                       SPID=T_Deal(F_DealCode(),1,1,F_BuyPosition(),Offers(F_DealCode(),"bid1"));
        SKID=T_Deal(F_DealCode(),1,0,KN,Offers(F_DealCode(),"bid1"));//賣開指定手數。
           }
                 }
              
       ELSE IF(F_Sig()==BP&&F_SellPosition()>0) //如果取出的信號為BP
       {
                   IF(valume1==1)
                     {   
         BPID=T_Deal(F_DealCode(),0,1,F_SellPosition(),Offers(F_DealCode(),"bid1"));//買平指定手數。
        //此句中T_Deal的第3個參數為2,表示平今,只適用于上交所合約,如果綁定非上交所合約時,請將2改為1即可。下同理。
           }
                    ELSE
                     {   
         BPID=T_Deal(F_DealCode(),0,1,F_SellPosition(),Offers(F_DealCode(),"ask1"));//買平指定手數。
        //此句中T_Deal的第3個參數為2,表示平今,只適用于上交所合約,如果綁定非上交所合約時,請將2改為1即可。下同理。
           }
         } 
        ELSE IF(F_Sig()==SP&&F_BuyPosition()>0) //如果取出的信號為SP
       {
                   IF(valume2==1)
                     {
         SPID=T_Deal(F_DealCode(),1,1,F_BuyPosition(),Offers(F_DealCode(),"ask1"));//買平指定手數。
           }   
         ELSE  
           {
         SPID=T_Deal(F_DealCode(),1,1,F_BuyPosition(),Offers(F_DealCode(),"ask1"));//買平指定手數。
           }
                  }   
          }
        ELSE IF(F_FreshSig()==0&&F_SigValid()==1)//如果是處理過的信號
     { 
         LastState=0;
       IF(F_Sig()==BPK&&LastState==0) //如果取出的信號為BPK
                 {
                   IF(T_IsNoOrder()==0)
          {
                      IF(CurrentTime()-LastOrderTime()>s&&Offers(F_DealCode(),"ask1")-F_SigPrice()<=MinPrice(F_DealCode())*M);
                      T_DeleteOrderByCode(F_DealCode(),0);
                      BPID=T_Deal(F_DealCode(),0,1,F_SellPosition(),Offers(F_DealCode(),"ask1"));
                      BKID=T_Deal(F_DealCode(),0,0,KN,Offers(F_DealCode(),"ask1"));
                    }
         ELSE IF(T_IsNoOrder()==1&&T_OrderState(BKID)==1&&T_OrderState(BPID)==1)//買開委托全部成交
       {
        MessageOut("成交已完成!"); 
        LastState=1;  
       }
                   }
      
        ELSE IF(F_Sig()==SPK) //如果取出的信號為SPK
                 {
                   IF(T_IsNoOrder()==0&&LastState==0)
          {
                      IF(CurrentTime()-LastOrderTime()>s&&F_SigPrice()-Offers(F_DealCode(),"bid1")<=MinPrice(F_DealCode())*M);               
                      T_DeleteOrderByCode(F_DealCode(),0);
                      SPID=T_Deal(F_DealCode(),1,1,F_BuyPosition(),Offers(F_DealCode(),"bid1"));
                      SKID=T_Deal(F_DealCode(),1,0,KN,Offers(F_DealCode(),"bid1"));
                    }
          ELSE IF(T_IsNoOrder()==1&&T_OrderState(SKID)==1&&T_OrderState(SPID)==1)//賣開委托全部成交
       {
        MessageOut("成交已完成!");
        LastState=1;   
       }
                  }
      
        ELSE IF(F_Sig()==BP) //如果取出的信號為BP
       {
                   IF(T_IsNoOrder()==0&&LastState==0)
                      {
                      IF(CurrentTime()-LastOrderTime()>s&&Offers(F_DealCode(),"ask1")-F_SigPrice()<=MinPrice(F_DealCode())*M);
                      T_DeleteOrderByCode(F_DealCode(),0);
                      BPID=T_Deal(F_DealCode(),0,1,F_SellPosition(),Offers(F_DealCode(),"ask1"));
                      }
          ELSE IF(T_IsNoOrder()==1&&T_OrderState(BPID)==1)//買平委托全部成交
       {
        MessageOut("成交已完成!");
        LastState=1;   
       }
        }

         ELSE IF(F_Sig()==SP) //如果取出的信號為SP
                 {
                   IF(T_IsNoOrder()==0&&LastState==0)
            {
                      IF(CurrentTime()-LastOrderTime()>s&&F_SigPrice()-Offers(F_DealCode(),"bid1")<=MinPrice(F_DealCode())*M);
                      T_DeleteOrderByCode(F_DealCode(),0);
                      SPID=T_Deal(F_DealCode(),1,1,F_BuyPosition(),Offers(F_DealCode(),"ask1"));
                      }
          ELSE IF(T_IsNoOrder()==1&&T_OrderState(SPID)==1)//賣平委托全部成交
       {
        MessageOut("成交已完成!"); 
        LastState=1;  
       }
        }
     }
     WriteGlobal("LASTSTATE", LastState);
    }

     

  • 網友回復:

    我用的這個程序在測試

     

     

    C>REF(H,1),BPK;
    C<REF(L,1),SPK;
    AUTOFILTER;

     

     

  • 網友回復: 您的下單組件源碼語法檢測室通過的,您具體有是什么問題嗎?請詳細說明

 

有思路,想編寫各種指標公式,程序化交易模型,選股公式,預警公式的朋友

可聯系技術人員 QQ: 262069696  點擊在線交流進行 有償 編寫!不貴!點擊查看價格!


【字體: 】【打印文章】【查看評論

相關文章

    沒有相關內容
主站蜘蛛池模板: 男生把女生桶爽| 国产精品亚洲аv无码播放 | 中文天堂最新版在线精品| 2021国产果冻剧传媒不卡| 91秦先生在线| 天天在线天天综合网色| 日本高清在线免费| 国产麻豆91网在线看| 韩国三级hd中文字幕| 青苹果乐园在线影院免费观看完整版| 陪读妇乱子伦小说| 精品性高朝久久久久久久| 男女肉粗暴进来动态图| 男女性爽大片视频男女生活| 沉伦柳淑云漫画3d| 欧美人xxxx| 日韩毛片最新看| 新木乃伊电影免费观看完整版| 岛国在线观看视频| 在线精品免费视频| 国产精品久久久久久久久久影院 | 国产成人午夜精华液| 国产成人精品2021| 国产乱理伦片a级在线观看| 动漫人物将机机插曲3d版视频| 亲密爱人免费观看完整版| 亚洲国产精品久久久久久| 久久精品国产99国产精2020丨 | 亚洲美女在线观看播放| 亚洲伊人成无码综合网| 久久精品动漫一区二区三区| 免费一级毛片在线播放不收费| 亚洲精品视频在线观看你懂的| 全彩无修本子里番acg| 亚洲精品无码人妻无码| 亚洲av女人18毛片水真多| 一级毛片国产**永久在线| 99re免费视频| 黄频免费观看在线播放| 精品久久久久久中文| 欧美大片一区二区|