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

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

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

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

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

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

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

    固定交易一手.

    對信號消失的處理

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

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




    bigen

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


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

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

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

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

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

                             }
                   }

    end



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



    謝謝                       

     

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

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

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


    2:Return;

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

      (2):我上面要加嗎?
      

     

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

    又經(jīng)過幾個小時的奮斗,搞出來的止損,日內(nèi)時間控制,與收盤前平倉.

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

    Params
    Numeric Lots(1);單次開倉手?jǐn)?shù)
    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) \\返回當(dāng)前公式應(yīng)用的帳戶下當(dāng)前商品的總持倉 (無持倉)
    {
       IF(A>B) \\開多條件
       {
          A_SendOrder(Enum_Buy,Enum_Entry,lost,Q_AskPrice()+N*MinMove*PriceScale);
    )\\發(fā)送委托單 開多倉一手
        }
          
        } else IF(C>D) \\ 開空條件
           {

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

         {  IF(C>D) \\ 在持多倉的情況,出現(xiàn)開空信號的處理
             {
                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點(diǎn)止損

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

         } else if(A_SellPosition>0)\\ 持空倉的情況
                 {
                 IF(A>B) \\在持空倉的情況,出現(xiàn)了開多信號處理
                  {  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點(diǎn)止損
                    {     
                        A_SendOrder(Enum_Buy,Enum_Exit,A_SellPosition,Q_BidPrice()+N*MinMove*PriceScale);\\平空倉   
                         } else If( C<D)            \\在持空倉的情況,達(dá)到平空條件平倉   
                             {
                               A_SendOrder(Enum_Buy,Enum_Exit,A_sellPosition(),Q_BidPrice()+N*MinMove*PriceScale);\\平空倉

                             }
                   } else If(CurrentTime*100 >= mycputime )  //平倉時間設(shè)置
      {
        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

     

  • 網(wǎng)友回復(fù): 本帖最后由 xiaosong 于 2013-7-20 17:49 編輯

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

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

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

     

  • 網(wǎng)友回復(fù): 昨晚與今天在網(wǎng)看了一天的貼.

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

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

       就會二次運(yùn)行.

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

      這就發(fā)二次單,如果都成交,就會成交二次.

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

         

      

       

 

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

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


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

相關(guān)文章

    沒有相關(guān)內(nèi)容
主站蜘蛛池模板: 国产一级a毛片 | 国产精品免费视频网站 | 亚洲韩国日本欧美一区二区三区 | 成人免费观看男女羞羞视频 | 波多野结衣久久精品免费播放 | 欧美青青草 | 欧美成人在线观看 | 草草在线观看视频 | 狠狠综合久久综合88亚洲日本 | papa视频 | 国产黄色片在线观看 | 欧美操操| 宅男在线永久免费观看99 | 午夜免费看视频 | 免费在线黄视频 | 欧美性一级交视频 | 午夜高清免费观看视频 | 天天爽夜夜爽每晚高澡 | 影音先锋亚洲资源 | 国产高清一区二区三区免费视频 | 国产亚洲3p无码一区二区 | 日韩h片 | 亚洲丶国产丶欧美一区二区三区 | 亚洲免费观看视频 | 国产手机在线αⅴ片无码观看 | 亚州毛色毛片免费观看 | 丁香六月欧美 | 中文字幕成人免费高清在线 | 欧美午夜剧场 | 一个人www在线视频 一二三四在线视频社区8 | 国产成人精品精品欧美 | 性视频一级 | 免费香蕉一区二区在线观看 | 中国人xxxxxxx免费看视频 | 免费的一级黄色片 | 成人免费看黄网站无遮挡 | 夜夜性日日交xxx性视频 | 草草影院www色欧美极品 | 欧美日韩三 | 久久国产综合 | 欧美在线免费播放 |