您現(xiàn)在的位置:程序化交易>> 期貨公式>> 交易開拓者(TB)>> 開拓者知識>>正文內(nèi)容

a函數(shù)為什么不發(fā)單,急.. [開拓者 TB]

  • 咨詢內(nèi)容: 本帖最后由 xiaosong 于 2013-7-24 08:11 編輯

    Begin   //if(BarStatus==2 && Time==0.090000 && CurrentTime<0.090000) Return; // 集合競價過濾

    If (barstatus==0 || GetGlobalVar(1)==InvalidNumeric)         
         {
           If(A_BuyPosition==0)
            {      
             setglobalvar(1,0);
            } else If(A_BuyPosition>0)               
                {
                   SetGlobalVar(1,1);
                }
            }
         else if(GetGlobalVar(1)!=InvalidNumeric)
                  {
                    SetGlobalVar(1,GetGlobalVar(1));
                  }

    If (barstatus==0 || GetGlobalVar(2)==InvalidNumeric)
         {
           If(A_SellPosition==0)
             {
               SetGlobalVar(2,0);
                           
              } else If(A_SellPosition>0)
                   {
                     SetGlobalVar(2,1);
                   }  
           } else if(GetGlobalVar(2)!=InvalidNumeric)
                   {
                     SetGlobalVar(2,GetGlobalVar(2));            
                        }

    If (barstatus==0 || GetGlobalVar(0)==InvalidNumeric)
        {
           if(A_TotalPosition()==0)
             {
              SetGlobalVar(0,0);
             }else if(A_TotalPosition()!=0)
              {
               SetGlobalVar(0,1);
              }
        } else if(GetGlobalVar(0)!=InvalidNumeric)
             {
                SetGlobalVar(0,GetGlobalVar(0));
             }

    conEntryReady=CurrentTime*100 >=tradBegin  and CurrentTime*100<tradEnd and Q_LowerLimit>20*MinMove*PriceScale AND Q_UpperLimit-C>20*MinMove*PriceScale;//不靠近漲跌停


    if(A_GetOpenOrderCount==0 and A_TotalPosition()==0 AND  A_AccountID!="" and conEntryReady AND GetGlobalVar(0)==0 AND GetGlobalVar(1)==0 AND GetGlobalVar(2)==0) //返回當(dāng)前公式應(yīng)用的帳戶下當(dāng)前商品的總持倉 (無持倉)
    {
       IF(a>b) //開多條件
       {
          A_SendOrder(Enum_Buy,Enum_Entry,Lots,Q_AskPrice()+N*MinMove*PriceScale);//發(fā)送委托單 開多倉一手
          SetGlobalVar(0,1);
          SetGlobalVar(1,1);
          SetGlobalVar(2,0);
          
         }
       IF(a<b) // 開空條件
          {
             A_SendOrder(Enum_Sell,Enum_Entry,Lots,Q_BidPrice()-N*MinMove*PriceScale); //發(fā)送委托單 開空倉一手
          SetGlobalVar(0,1);
             SetGlobalVar(1,1);
             SetGlobalVar(2,0);
           }
       }


    急啊.......................
    ...........................................
    ..................

     

  • TB技術(shù)人員: 管量員在嗎?版主在嗎????????????????????????????

    我是你們付費用戶啊.

     

  • TB客服:
    xiaosong 發(fā)表于 2013-7-24 08:08
    管量員在嗎?版主在嗎????????????????????????????

    我是你們付費用戶啊. ...


    抱歉啊。公司的論壇維護人員是沒有上夜班的。所以沒法在夜里及時的回復(fù)您的問題,請諒解。

    你的公式,前面一段的回局變量的賦值是干什么用的呢??感覺邏輯上有不太合理的地方呢。
    其一,a_xxx類函數(shù)只在最后K線有效,所以你條件里的barstatus==0的情況下是絕對不能取到a_buyposition==0這樣的判斷。于是你只能從 GetGlobalVar(1)==InvalidNumeric這一條件進入判斷。既然如此 ,那barstatus==0放在這里也是沒有必要的。
    其二,看到這些全局變量僅是簡單地判斷持倉而進行賦值的。感覺沒有必要啊。在后面的交易中,直接判斷持倉量來決定是否下單更好,不必要增加這三個全局變量的。

    交易部分。
    1,建議不要使用上述三個全局變量的判斷。直接判斷持倉量來決定開平動作就好。
    2,建議將所有用得到的判斷變量都輸出日志,查看一下到底是哪些交易不符合你的要求,從而沒有發(fā)出指令的。
    3,想要判斷多空均無持倉,直接使用a_buyposition==0,a_sellposition==0即可,不必要判斷a_totalposition的.
    4,因為a_xxxx函數(shù),只在最后K線有效,建議在使用中加上barstatus==2的判斷能提高效率。

     

  • 網(wǎng)友回復(fù): 謝謝老大. 謝謝回貼,這個軟件是不錯,是能解決小資金的執(zhí)行力的問題. 但是編程的確是有難度,這主限制它的推廣

    你們不是說:當(dāng)一個Tick來時觸發(fā)條件,這時發(fā)單,如果因延時成交回單沒有回來時,再來一個Tick觸發(fā)條件,再發(fā)一次單.
    所以,我設(shè)想三個全面變量. 0 為開與平. 1為持多倉與無持多倉, 2為持空倉與無持

    Begin   //if(BarStatus==2 && Time==0.090000 && CurrentTime<0.090000) Return; // 集合競價過濾

    If (barstatus==2 || GetGlobalVar(1)==InvalidNumeric)         
         {
           If(A_BuyPosition==0)
            {      
             setglobalvar(1,0);
            } else If(A_BuyPosition>0)               
                {
                   SetGlobalVar(1,1);
                }
            }
         else if(barstatus==2 || GetGlobalVar(1)!=InvalidNumeric)
                  {
                    SetGlobalVar(1,GetGlobalVar(1));
                  }

    If (barstatus==2 || GetGlobalVar(2)==InvalidNumeric)
         {
           If(A_SellPosition==0)
             {
               SetGlobalVar(2,0);
                           
              } else If(A_SellPosition>0)
                   {
                     SetGlobalVar(2,1);
                   }  
           } else if(barstatus==2 GetGlobalVar(2)!=InvalidNumeric)
                   {
                     SetGlobalVar(2,GetGlobalVar(2));            
                        }

    If (barstatus==2 || GetGlobalVar(0)==InvalidNumeric)
        {
           if(a_buyposition==0 and a_sellposition==0)
             {
              SetGlobalVar(0,0);
             }else if(A_TotalPosition()!=0)
              {
               SetGlobalVar(0,1);
              }
        } else if(barstatus==2 || GetGlobalVar(0)!=InvalidNumeric)
             {
                SetGlobalVar(0,GetGlobalVar(0));
             }



    if(barstatus==2 and a_buyposition==0 and a_sellposition==0 AND  GetGlobalVar(0)==0 AND GetGlobalVar(1)==0 AND GetGlobalVar

    (2)==0) )無持倉
    {
       IF(a>b) //開多條件
       {
          A_SendOrder(Enum_Buy,Enum_Entry,Lots,Q_AskPrice()+N*MinMove*PriceScale);//發(fā)送委托單 開多倉一手
          SetGlobalVar(0,1); 因為開了倉 全面變量0設(shè)為1
          SetGlobalVar(1,1); 因為開的多 全面變量1設(shè)為1
          SetGlobalVar(2,0);
          
         }
       IF(a<b) // 開空條件
          {
          A_SendOrder(Enum_Sell,Enum_Entry,Lots,Q_BidPrice()-N*MinMove*PriceScale); //發(fā)送委托單 開空倉一手
             SetGlobalVar(0,1); 因為開了倉 全面變量0設(shè)為1
             SetGlobalVar(1,1);
             SetGlobalVar(2,0); 因為開的多 全面變量2設(shè)為1
           }
       }
                     SetGlobalVar(2,GetGlobalVar(2));            
                        }
       



    if(barstatus==2 and a_buyposition>0 and a_sellposition==0 AND  GetGlobalVar(0)==1 AND GetGlobalVar(1)==1 AND GetGlobalVar

    (2)==0) ) //持多倉,在沒有檢查到用戶函數(shù),又因為有全局變量的二種控制,所以,保證不重發(fā)單

    {  if(c>b) 平多條件
         
         ..........................................
             SetGlobalVar(0,1); 因為平了倉 全面變量0設(shè)為0
             SetGlobalVar(1,1); 因為平多了 全面變量1設(shè)為0
             SetGlobalVar(2,0);

      }

     

  • 網(wǎng)友回復(fù):
    xiaosong 發(fā)表于 2013-7-24 11:46
    謝謝老大. 謝謝回貼,這個軟件是不錯,是能解決小資金的執(zhí)行力的問題. 但是編程的確是有難度,這主限制它的 ...


    這樣寫,感覺不是很合理喲。至少不是很適用于實際交易。
    建議先看一下F1里公式策略進階里關(guān)于a_sendorder與全局變量配合使用的例子。

 

有思路,想編寫各種指標(biāo)公式,程序化交易模型,選股公式,預(yù)警公式的朋友

可聯(lián)系技術(shù)人員 QQ: 1145508240  有需要幫忙請點擊這里留言!!!進行 有償 編寫!不貴!點擊查看價格!


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

相關(guān)文章

    沒有相關(guān)內(nèi)容
主站蜘蛛池模板: 国产免费无码一区二区视频| japanese老熟妇乱子伦视频| 69堂在线观看| 欧美一级免费在线观看| 在线视频亚洲欧美| 亚洲国产精品久久久久婷婷软件| 黄a大片av永久免费| 成人午夜性a一级毛片美女| 亚洲狠狠色丁香婷婷综合| 黄色三级电影网址| 在线精品日韩一区二区三区| 久久青草免费91线频观看站街| 精品福利视频网站| 国产精品综合在线| 久久久无码精品亚洲日韩蜜桃| 精品国产乱码久久久久久浪潮| 国产精品模特hd在线| 久久国产精品久久| 真实乱视频国产免费观看| 国产真实伦视频在线观看| 中文成人无字幕乱码精品区| 热re99久久精品国产66热| 国产成人精品无码一区二区 | 亚洲入口无毒网址你懂的| 韩国全部三级伦电影在线播放| 巨大欧美黑人xxxxbbbb| 亚洲国产精品一区二区久| 精品中文字幕一区在线| 国产福利永久在线视频无毒不卡| jizz中国免费| 成年无码av片在线| 亚洲日本乱码一区二区在线二产线| 青娱乐手机在线视频| 夜先锋av资源网站| 中文字幕国产欧美| 欧美性xxxx极品高清| 国产丝袜第一页| 97se色综合一区二区二区| 日本人成动漫网站在线观看| 亚洲精品欧美精品日韩精品| 野花视频在线观看免费观看最新|