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

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

新手學用A函數編程.請幫助看一下邏輯性 [開拓者 TB]

  • 咨詢內容: 本帖最后由 xiaosong 于 2013-7-20 12:01 編輯

    我用交易開拓者幾天,這個軟件的確能解決執行力的問題,但是坑爸的事,編程的確有一點難.

    下面是我的思維(才學習幾天,如何止損原碼看不懂,還是日內時間控制也是搞不清楚)

    1:如果A>B是開多條件
    2: 如果A<B是平多條件
    3:如果C>D是開空條件
    4:如果C<D是平空條件

    固定交易一手.

    對信號消失的處理

    1:如果開多信號出現后,信號又消失,也開倉,如果再出現開多信號就不開多倉. 如果出現反向的開空信號就,就平多倉,開空倉

    2:開空也是一樣如處理了




    bigen

        ................................
        ..................................


    if(A_TotalPosition()=0) \\返回當前公式應用的帳戶下當前商品的總持倉 (無持倉)
    {
       IF(A>B) \\開多條件
       {
         if(A_BuyPosition()=0) \\返回當前公式應用的帳戶下當前商品的買入持倉  \\沒有多倉持倉 ( 我想了一下,前面的入口是沒有持多倉空倉,才能進來.所以,這里是不是,滿足了開多條件,直接開多倉了?不要這個IF)
           {
            A_SendOrder(..........) \\針對當前公式應用的帳戶、商品發送委托單 \\開倉一手
           }
           }
       } els IF(C>D) \\ 開空條件
           {
            IF(A_SellPosition()=0) \\\\返回當前公式應用的帳戶下當前商品的賣出持倉 \\沒有持空倉  (( 我想了一下,前面的入口是沒有持多倉空倉,才能進來.所以,這里是不是,滿足了開空條件,直接開多倉了?不要這個IF)
              {
               A_SendOrder(..........) \\針對當前公式應用的帳戶、商品發送委托單 \\開空倉一手
              }
            }
    }else if(A_BuyPosition()!=0) \\ 有多倉的情況

         {   IF(C>D) \\ 開空條件 \\  有持多倉的情況,出現了開空信號處理
             {
               A_SendOrder(..........)               \\平多倉
               A_SendOrder(..........)               \\開空倉
             } else if( 開多倉的價格-k最高價)>=20)  \\\止損 在持多倉的情況,如果下跌,下跌超過20點止損

                    {  A_SendOrder(..........)   \\平多倉
                      } else if(A<B)             \\平多條件  ,在持多倉的情況,如果上跌,達到平多條件平倉
                             {
                              A_SendOrder(..........)               \\平多倉
                              }

         } else if(  A_SellPosition()!=0)\\ 有空倉的情況
                 {
                 IF(A>B) \\開多條件    有持空倉的情況,出現了開多信號處理
                  {  A_SendOrder(..........)               \\平空倉
                     A_SendOrder(..........)               \\開多倉
                  } else if(開空倉的價格-k最低價)>=-20)  \\\止損  在持空倉的情況,如果上跌,上漲超過20點止損

                         { A_SendOrder(..........)               \\開空倉   
                         } else If( C<D)            \\是平空條件       在持空倉的情況,如果下跌,達到平空條件平倉   
                             {
                              A_SendOrder(..........)               \\平空倉

                             }
                   }

    end



    各位大哥,我是新人,請指教小弟,看一下有沒有什么邏輯性錯誤了...



    謝謝                       

     

  • TB技術人員: 還有幾個問題請教.

    1:如開盤后15后才交易,收盤前14.55平倉.

      (1):網上有原碼,我也看不懂。請教
            要把原碼放在那里了?????????????????????????????????????????????????????


    2:Return;

       在網上,有一些函數加得有Return; Return;是返回
    (1)加與不加有什么差異?

      (2):我上面要加嗎?
      

     

  • TB客服: 本帖最后由 xiaosong 于 2013-7-20 15:32 編輯

    又經過幾個小時的奮斗,搞出來的止損,日內時間控制,與收盤前平倉.

    那位朋友來看一下有錯誤嗎?

    Params
    Numeric Lots(1);單次開倉手數
    Numeric tradBegin(930); 開倉時間
    Numeric tradEnd(1456); 開倉截止時間
    Numeric mycputime(14.58);    //電腦時間 收盤前平倉
    Numeric N(2);                //相對買賣盤的偏移值
    Numeric K(0);                //0為多空都平;1為只平多單;-1為只平空單


    bigen

        ................................
        ..................................
    if(Time>=0.0001*tradBegin And Time<=0.1500)  if( CurrentTime*100 >=tradBegin and  tradEnd>=CurrentTime*100)  \\兩種方案,不知那種方案正確

    {


    if(A_TotalPosition()=0) \\返回當前公式應用的帳戶下當前商品的總持倉 (無持倉)
    {
       IF(A>B) \\開多條件
       {
          A_SendOrder(Enum_Buy,Enum_Entry,lost,Q_AskPrice()+N*MinMove*PriceScale);
    )\\發送委托單 開多倉一手
        }
          
        } else IF(C>D) \\ 開空條件
           {

            A_SendOrder(Enum_Sell,Enum_Entry,lost,Q_BidPrice()-N*MinMove*PriceScale); \\發送委托單 開空倉一手
             
            }
    }else if(A_BuyPosition>0) \\ 持多倉的情況

         {  IF(C>D) \\ 在持多倉的情況,出現開空信號的處理
             {
                A_SendOrder(Enum_Sell,Enum_Exit, A_sellPosition(),Q_BidPrice()-N*MinMove*PriceScale);  \\平多倉
                A_SendOrder(Enum_Sell,Enum_Entry,lost,Q_BidPrice()-N*MinMove*PriceScale); \\開空倉
             } else if( A_BuyAvgPrice()-Q_BidPrice>20)  \\\止損 在持多倉的情況,如果下跌,下跌超過20點止損

                    {  A_SendOrder(Enum_Sell,Enum_Exit, A_BuyPosition,Q_BidPrice()-N*MinMove*PriceScale);  \\平多倉 注:是平倉,不是平今
                      } else if(A<B)             \\在持多倉的情況,達到平多條件平倉
                             {
                              A_SendOrder(Enum_Sell,Enum_Exit, A_BuyPosition(),Q_BidPrice()-N*MinMove*PriceScale);  \\平多倉
                              }

         } else if(A_SellPosition>0)\\ 持空倉的情況
                 {
                 IF(A>B) \\在持空倉的情況,出現了開多信號處理
                  {  A_SendOrder(Enum_Buy,Enum_Exit,A_sellPosition(),Q_AskPrice()+N*MinMove*PriceScale); \\平空倉
                     A_SendOrder(Enum_Buy,Enum_Entry,lost,Q_AskPrice()+N*MinMove*PriceScale);        \\開多倉
                  } else if(Q_AskPrice-A_SellAvgPrice)>20)  \\止損  在持空倉的情況,如果上跌,上漲超過20點止損
                    {     
                        A_SendOrder(Enum_Buy,Enum_Exit,A_SellPosition,Q_BidPrice()+N*MinMove*PriceScale);\\平空倉   
                         } else If( C<D)            \\在持空倉的情況,達到平空條件平倉   
                             {
                               A_SendOrder(Enum_Buy,Enum_Exit,A_sellPosition(),Q_BidPrice()+N*MinMove*PriceScale);\\平空倉

                             }
                   } else If(CurrentTime*100 >= mycputime )  //平倉時間設置
      {
        If (A_BuyPosition()>0 && A_GetOpenOrderCount()==0 and K>=0)
        {
          A_SendOrder(Enum_Sell,Enum_Exit,A_BuyPosition(),Q_BidPrice()-N*MinMove*PriceScale);
        }
        If (A_sellPosition()>0 && A_GetOpenOrderCount()==0 and K<=0)
        {
          A_SendOrder(Enum_Buy,Enum_Exit,A_sellPosition(),Q_AskPrice()+N*MinMove*PriceScale);
        }
       }

    }

    end

     

  • 網友回復: 本帖最后由 xiaosong 于 2013-7-20 17:49 編輯

    版主老大,各位論壇上的朋友在嗎?
    上面的我的公式中,
    1:用A函數在,在一根K線會,發生反復發單的情況嗎?

    2:達到條件后開倉后,馬上進去有倉的入口,在有入倉的入口,只有三個條件入口: 反向開倉平倉入口,止損入口, 按要求平倉入口.
         沒在再開多樣倉向的入口

    3:我在這個公式中,要用全局變量嗎?

     

  • 網友回復: 昨晚與今天在網看了一天的貼.

    1:每當Tick來時,如果激發開倉條件,就會發單.
         A_SendOrder(Enum_Buy,Enum_Entry,Lots,Q_AskPrice()+N*MinMove*PriceScale);//發送委托單 開多倉一手
       
        雖然if(A_TotalPosition()==0),是沒有持倉時的入口,好相if(A_TotalPosition()==0)能控制,有持倉時不進來.
        但是因為時間的延時,發單成交的數據遲遲不返回,斷網..或者發單不成交.

       在上一個發單(Tick激發開倉條件)------------------又一次Tick激發開倉條件--------------------到發單交成返回之間.

       就會二次運行.

       if(A_TotalPosition()==0),
    {
      }

      這就發二次單,如果都成交,就會成交二次.

    2:這種Tick激發方式,能保證成交的及時性. 如果都采用Bar方式,價格就差很多.

         

      

       

 

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

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


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

相關文章

    沒有相關內容
主站蜘蛛池模板: 97免费在线观看视频 | 神马午夜嘿嘿 | 老扒夜夜春宵粗大好爽aa毛片 | 成人精品一区二区激情 | 欧美视频在线第一页 | 亚洲国产精品乱码一区二区三区 | 手机看片日韩高清国产欧美 | 精品 日韩 国产 欧美在线观看 | 亚洲精品tv久久久久久久久久 | 一级片在线视频 | 一级a性色生活片毛片 | 毛片在线观看视频 | 福利第一页| 亚洲日本韩国欧美 | 成人gav| 手机在线伦理片 | 在线欧洲成人免费视频 | 香港aa三级久久三级 | 婷婷在线成人免费观看搜索 | 91精品国产一区二区三区左线 | 日本一区二区三区免费观看 | 成人欧美一区二区三区黑人 | 国产高清在线精品二区一 | 美女色黄 | 黄色一区二区三区 | 中文字幕在线观看网站 | 日韩欧美精品中文字幕 | 免费在线播放毛片 | 4k岛国精品午夜高清在线观看 | 日韩中文字幕精品免费一区 | 免费在线看黄网站 | 亚洲www美色 | 中文字幕第一页在线视频 | 一本一道波多野结衣一区二区 | fc2在线亚洲一区 | 在线播放精品视频 | 亚洲夜夜骑| 天天干天天天天 | 黄色短视频网站 | 无遮挡h肉3d动漫在线观看 | 亚洲专区欧美 |