人人爽天天爽夜夜爽qc-人人爽天天爽夜夜爽曰-人人天天爱天天做天天摸-人人天天夜夜-色网站在线-色网站在线看

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

麻煩看看下面的組件為什么沒有正確執行? [贏順期貨]

  • 咨詢內容:

    組件的目的:掛價開、平倉,30秒不能成交撤單對價追單。

     

    VAR Price,KPN,M;
    VAR BKID,SKID,BPID,SPID;//定義BKID,SKID,BPID,SPID
    VAR LastWithDrawFinsh; 

    VOID MAIN() //
    {

          KPN=1;//定義開平倉手數為1手
          M=0;//
          Price=Price(F_DealCode());//

     IF (F_Sig()==BK) //如果信號是買開信號
     BKID=T_Deal(F_DealCode(),0,0,KPN,Offers( F_DealCode(),"bid1")+0*MinPrice(F_DealCode()));//
     IF (F_Sig()==SK) //如果信號是賣開信號
     SKID=T_Deal(F_DealCode(),1,0,KPN,Offers( F_DealCode(),"ask1")-0*MinPrice(F_DealCode()));//
     IF (F_Sig()==BP) //如果信號是買平信號
     {
      IF (F_SellPosition()>0 && F_SellPosition()<KPN)//如果當前模型空頭持倉大于0小于KPN
      BPID=T_Deal(F_DealCode(),0,1,F_SellPosition(),Offers( F_DealCode(),"bid1")+0*MinPrice(F_DealCode()));//
      //
      ELSE IF (F_SellPosition()>=KPN)//
      BPID=T_Deal(F_DealCode(),0,1,KPN,Offers( F_DealCode(),"bid1")+0*MinPrice(F_DealCode()));//發出KPN手平空指令
      ELSE IF (F_SellPosition()==0)//
      MessageOut ("當前沒有空頭持倉");
     }
     IF (F_Sig()==SP) //如果信號是賣平信號
     {
      IF (F_BuyPosition()>0 && F_BuyPosition()<KPN)//如果當前模型多頭持倉小于KPN大于0
      SPID=T_Deal(F_DealCode(),1,1,F_BuyPosition(),Offers( F_DealCode(),"ask1")-0*MinPrice(F_DealCode()));//
      //
      ELSE IF (F_BuyPosition()>=KPN)//如果當前模型多頭持倉大于等于KPN手
      SPID=T_Deal(F_DealCode(),1,1,KPN,Offers( F_DealCode(),"ask1")-0*MinPrice(F_DealCode()));//
      ELSE IF (F_BuyPosition()==0)//如果當前持倉為0
      MessageOut ("當前沒有多頭持倉");
     }
    IF (F_Sig()==BPK) //如果信號是買平開信號
     {
      IF (F_SellPosition()>0 && F_SellPosition()<KPN)//如果當前模型空頭持倉大于0小于KPN
      {
       T_Deal(F_DealCode(),0,1,F_SellPosition(),Offers( F_DealCode(),"bid1")+0*MinPrice(F_DealCode()));//以當前模型空頭持倉手數發出買平委托
       
       T_Deal(F_DealCode(),0,0,KPN,Offers( F_DealCode(),"bid1")+0*MinPrice(F_DealCode()));//以KPN手發出買開委托
      }
      ELSE IF (F_SellPosition()>=KPN)//如果當前空頭持倉大于等于KPN手
      {
       T_Deal(F_DealCode(),0,1,KPN,Offers( F_DealCode(),"bid1")+0*MinPrice(F_DealCode()));//以KPN手發出買平委托
       
       T_Deal(F_DealCode(),0,0,KPN,Offers( F_DealCode(),"bid1")+0*MinPrice(F_DealCode()));//以KPN手發出買開委托
      }
      ELSE IF (F_SellPosition()==0)//空頭持倉為0
      {
       MessageOut ("當前沒有空頭持倉");
       T_Deal(F_DealCode(),0,0,KPN,Offers( F_DealCode(),"bid1")+0*MinPrice(F_DealCode()));//以KPN手發出買開委托
      }
     }
    IF (F_Sig()==SPK) //如果信號是賣平開信號
     {
      IF (F_BuyPosition()>0 && F_BuyPosition()<KPN)//如果當前模型多頭持倉大于0小于KPN
      {
       T_Deal(F_DealCode(),1,1,F_BuyPosition(),Offers( F_DealCode(),"ask1")-0*MinPrice(F_DealCode()));//以當前模型多頭持倉手數發出賣平委托
       
       T_Deal(F_DealCode(),1,0,KPN,Offers( F_DealCode(),"ask1")-0*MinPrice(F_DealCode()));
      }
      ELSE IF (F_BuyPosition()>=KPN)
      {
       T_Deal(F_DealCode(),1,1,KPN,Offers( F_DealCode(),"ask1")-0*MinPrice(F_DealCode()));
       
       T_Deal(F_DealCode(),1,0,KPN,Offers( F_DealCode(),"ask1")-0*MinPrice(F_DealCode()));
      }
      ELSE IF (F_BuyPosition()==0)//多頭持倉為0
      {
       MessageOut ("當前沒有多頭持倉");
       T_Deal(F_DealCode(),1,0,KPN,Offers( F_DealCode(),"ask1")-0*MinPrice(F_DealCode()));
      }
     }
          //下面是30秒沒有成交,撤單。
     //IF(CurrentTime()-LastOrderTime()<2 && LastOrderTime()!=0) 
     // RETURN; //控制組件的執行頻率 兩秒執行一次
     //icount=F_SigCount();
     LastWithDrawFinsh=ReadGlobal("LASTWITHDRAW");
     IF(T_IsNoOrder()!=1 ) //有掛單的情況
     {
      //查詢掛單然后進行撤單
      //need added code
      IF(CurrentTime()-LastOrderTime()>30 && LastWithDrawFinsh==1) //如果30秒有委托未成交,全撤,下次進入會重新下委托
      {
       T_DeleteOrderAll();//撤掉所有未成交委托。
       LastWithDrawFinsh=0;
      }
      WriteGlobal("LASTWITHDRAW", LastWithDrawFinsh);
      RETURN;
     }
     LastWithDrawFinsh=1; 
     F_FreshSig(); //刷新現有的信號
     

          IF (F_Sig()==BK) //如果信號是買開信號(以對價+M倍最少波動),保證成交
     BKID=T_Deal(F_DealCode(),0,0,KPN,Offers( F_DealCode(),"ask1")+M*MinPrice(F_DealCode()));//以最新價+0個最小表動價位發出KPN手的買開委托
     IF (F_Sig()==SK) //如果信號是賣開信號(以對價-M倍最少波動),保證成交
     SKID=T_Deal(F_DealCode(),1,0,KPN,Offers( F_DealCode(),"bid1")-M*MinPrice(F_DealCode()));//以最新價-0個最小表動價位發出KPN手的賣開委托
     IF (F_Sig()==BP) //如果信號是買平信號
     {
      IF (F_SellPosition()>0 && F_SellPosition()<KPN)
      BPID=T_Deal(F_DealCode(),0,1,F_SellPosition(),Offers( F_DealCode(),"ask1")+M*MinPrice(F_DealCode()));

      ELSE IF (F_SellPosition()>=KPN)//如果當前空頭持倉大于KPN手
      BPID=T_Deal(F_DealCode(),0,1,KPN,Offers( F_DealCode(),"ask1")+M*MinPrice(F_DealCode()));
      ELSE IF (F_SellPosition()==0)//空頭持倉為0
      MessageOut ("當前沒有空頭持倉");
     }
     IF (F_Sig()==SP) 
     {
      IF (F_BuyPosition()>0 && F_BuyPosition()<KPN)
      SPID=T_Deal(F_DealCode(),1,1,F_BuyPosition(),Offers( F_DealCode(),"bid1")-M*MinPrice(F_DealCode()));
      ELSE IF (F_BuyPosition()>=KPN)
      SPID=T_Deal(F_DealCode(),1,1,KPN,Offers( F_DealCode(),"bid1")-M*MinPrice(F_DealCode()));
      ELSE IF (F_BuyPosition()==0)//如果當前持倉為0
      MessageOut ("當前沒有多頭持倉");
          }
    IF (F_Sig()==BPK) //如果信號是買平開信號
     {
      IF (F_SellPosition()>0 && F_SellPosition()<KPN)
      {
       T_Deal(F_DealCode(),0,1,F_SellPosition(),Offers( F_DealCode(),"ask1")+M*MinPrice(F_DealCode()));
       T_Deal(F_DealCode(),0,0,KPN,Offers( F_DealCode(),"ask1")+M*MinPrice(F_DealCode()));//
      }
      ELSE IF (F_SellPosition()>=KPN)//如果當前空頭持倉大于等于KPN手
      {
       T_Deal(F_DealCode(),0,1,KPN,Offers( F_DealCode(),"ask1")+M*MinPrice(F_DealCode()));//
       T_Deal(F_DealCode(),0,0,KPN,Offers( F_DealCode(),"ask1")+M*MinPrice(F_DealCode()));//
      }
      ELSE IF (F_SellPosition()==0)//空頭持倉為0
      {
       MessageOut ("當前沒有空頭持倉");
       T_Deal(F_DealCode(),0,0,KPN,Offers( F_DealCode(),"ask1")+M*MinPrice(F_DealCode()));//以KPN手發出買開委托
      }
     }
    IF (F_Sig()==SPK) //
     {
      IF (F_BuyPosition()>0 && F_BuyPosition()<KPN)//
      {
       T_Deal(F_DealCode(),1,1,F_BuyPosition(),Offers( F_DealCode(),"bid1")-M*MinPrice(F_DealCode()));//
       T_Deal(F_DealCode(),1,0,KPN,Offers( F_DealCode(),"bid1")-M*MinPrice(F_DealCode()));//
      }
      ELSE IF (F_BuyPosition()>=KPN)//
      {
       T_Deal(F_DealCode(),1,1,KPN,Offers( F_DealCode(),"bid1")-M*MinPrice(F_DealCode()));//
       T_Deal(F_DealCode(),1,0,KPN,Offers( F_DealCode(),"bid1")-M*MinPrice(F_DealCode()));//
      }
      ELSE IF (F_BuyPosition()==0)//
      {
       MessageOut ("當前沒有多頭持倉");
       T_Deal(F_DealCode(),1,0,KPN,Offers( F_DealCode(),"bid1")-M*MinPrice(F_DealCode()));//
      }
     }
     WriteGlobal("LASTWITHDRAW", LastWithDrawFinsh);
    }
     

     

  • 贏順技術人員: 老師們吃飯去了?

     

  • 贏順客服:

    組件不發委托的原因有很多,不光是編寫的問題,向您咨詢下,您加載的是什么合約,所有的信號都沒有委托?還是第一根信號沒有委托?是否進行了倉位初始化的設定?

     

  • 網友回復: 用了這個下單組件,下午出現開倉信號后不斷幫我開倉,一秒一次開倉信號,直到沒有資金。。。。。。。。。我在下單參數里面選擇了“等K線走完下單“,應該對此沒有什么影響啊 原來同樣的模型,用軟件自身的下單設置,沒有使用過濾也是用得好好的啊~

     

  • 網友回復: 是組件問題還是模型問題呢?

 

如果以上指標公式不適用于您常用的行情軟件

或者您想改編成選股公式,以便快速選出某種形態個股的話,

可以聯系我們相關技術人員 QQ: 262069696  點擊在線交流進行 有償 改編!

 


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

相關文章

    沒有相關內容
主站蜘蛛池模板: 欧美在线精品永久免费播放 | 亚洲深夜福利视频 | 日韩美女va在线毛片免费知 | 久久国产高清一区二区三区 | 日本免费黄色录像 | 成人69视频在线观看免费 | 九九99在线视频 | 日本全黄三级在线观看 | 99视频精品全部免费免费观 | 羞羞视频网址 | 日本精品a在线观看 | 糟蹋小少妇17p | 右手影院亚洲欧美 | 欧美一级做一a做片性视频 欧美一级做性受 | 亚洲国产精品久久网午夜 | 91精品国产高清久久久久久 | 中文字幕日韩精品亚洲七区 | 国产日产久久高清欧美一区 | 激情综| 久久亚洲欧美成人精品 | 性放荡一级小说 | 中文字幕一区二区三区永久 | 色综合在 | 成人在线h | 天天干女人 | 欧美日韩一区二区亚洲 | 免费在线观看污片 | 日本一区二区三区不卡在线视频 | 美女视频永久黄网站在线观看 | 国产成人高清精品免费软件 | 亚洲成av人片在线观看无码 | 免费一级 一片一毛片 | 免费无遮挡无遮羞在线看 | 成人午夜在线视频 | 爽爽影院在线 | 成人国产一区二区三区精品 | 一本一道dvd在线播放器 | 日本特级黄录像片 | 亚洲日本免费 | 激情综合色五月丁香六月亚洲 | 中文字幕人成乱码在线观看 |