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

為什么每根K線出現(xiàn)這樣如附圖的情況 - TradeBlazer公式 [開拓者 TB]

  • 咨詢內容: 為什么每根K線出現(xiàn)這樣如附圖的情況?我編程的是破十日實體K線交易,怎么避免?
    程序如:Params
        Numeric TrailingSet(0.01);       // 回撤開倉比例設置,從最高點下跌的比例
            Numeric StopLossSet(0.015);        // 止損比例設置
        Numeric ndates(10);                // 10天的突破

        Numeric nOffset(20);                // 突破式的價格偏移
            Numeric ATRLength(10);

            Numeric MyPos(0);
            Numeric InvalidNumric(1);

            Numeric FastLength(5);
            Numeric SlowLength(10);
            Numeric Con1(0);
            Numeric Length(1);
           
           

           


        Bool LastProfitableTradeFilter(True);   // 使用入市過濾條件
           

    Vars
            NumericSeries AvgValue1;
            NumericSeries AvgValue2;

      
        Numeric myPrice;
           
        Numeric DatePoint;
        Numeric lots(1);
            Bool SendOrderThisBar(False);                  // 當前Bar有過交易
            NumericSeries preEntryPrice(0);               // 前一次開倉的價格
        Numeric myEntryPrice(0);                   // 開倉價格
        Numeric myExitPrice(0);                    // 平倉價格
            NumericSeries AvgTR;                                        // ATR  平均波動周期
            Numeric N;                              // N 值
             NumericSeries CloseD(10);
        NumericSeries OpenD(10);
            Numeric temp;
            Numeric temp1;
        Numeric mytradecount;
        Numeric Midprice;       
            Numeric CURRENTemp;
            NumericSeries highest;
            NumericSeries Lowest;


           
            BoolSeries PreBreakoutFailure(false);
    Begin
            AvgValue1 = AverageFC(Close,FastLength);   
            AvgValue2 = AverageFC(Close,SlowLength);
              datePoint = nOffset*PriceScale;

                Highest=Max(OpenD(10),CloseD(10));

                        lowest=Min(OpenD(10),CloseD(10));
                             AvgTR = XAverage(TrueRange,ATRLength);   //平均波動周期=指數(shù)平均數(shù)=平均波動周期內的真值范圍
                      N = AvgTR[1];                                 // N=上一周期平均波動周期
                             
                                                      //限制一天中的交易次數(shù)?需要限制最大交易次數(shù)為1次       
    if( Close[Length] == InvalidNumeric)
            {
                    temp=InvalidNumeric;
                   
            }Else
            {   
                CURRENTemp=(myEntryprice-close[1])/close[1];
                    temp = (Open -close[1])/ close[1];
                     temp1=(close[1]-close[2])/close[2];
            }       
                   
    if(BarStatus==0)
      {
       mypos=0;
       SetGlobalVar(0,mypos);
       }Else
       {
       mypos=GetGlobalVar(0);
       }
                                                                              

    If ( GetGlobalVar(0)==InvalidNumric &&(BarStatus == 2));
    {       SetGlobalVar(0,MyPos);        
                    If(MarketPosition == 0 &&Date != Date[1]&&(!LastProfitableTradeFilter));
                      {
                            IF(myEntryPrice>=highest&&GetGlobalVar(0)==0 OR temp>=0.02 OR CURRENTemp>=0.02 ) ;
                                {(MYpos!=1);//沒有記錄有多單的信息
                                    myEntryPrice = IIF(myEntryPrice < Open, Open,myEntryPrice);
                           SendOrderThisBar=true ;
                                       preEntryPrice = myEntryPrice;
                              buy(1,myEntryprice+PriceScale()*MinMove+datePoint);
                                             SetGlobalVar(0,1); //全局變量的值記錄為1,表示此時已經開了多單
                                         mytradecount = mytradecount + 1;
                                   
                     }If(myEntryPrice<=lowest&&GetGlobalVar(0)==0 OR temp<=-0.02 or CURRENTemp<=-0.02) ;
                                   {(MYpos!=-1);//沒有記錄有空單的信息
                                       myEntryPrice = IIF(myEntryPrice > Open, Open,myEntryPrice); // 大跳空的時候用開盤價代替
                                      SendOrderThisBar=true ;
                                       preEntryPrice = myEntryPrice;
                                       SellShort(1,myEntryPrice-PriceScale()*MinMove-datePoint);
                                       SetGlobalVar(0,-1); //全局變量的值記錄為1,表示此時已經開了空單
                                       mytradecount = mytradecount + 1;  
                                     }
                      }
                      If ( GetGlobalVar(0)==InvalidNumric &&(BarStatus == 2));//////如果前一日K線漲幅大于2%,今日K線又順勢跳空或者在昨日收盤價,(不管逆勢否),則順勢跟進
    {       SetGlobalVar(0,MyPos);        
                    If(MarketPosition == 0 &&Date != Date[1]&&(!LastProfitableTradeFilter));
                      {
                            IF(temp1>=0.02&&open>=close[1]&&GetGlobalVar(0)==0  ) ;
                                {(MYpos!=1);//沒有記錄有多單的信息
                                    myEntryPrice = open;
                           SendOrderThisBar=true ;
                                       preEntryPrice = myEntryPrice;
                              buy(1,myEntryprice+PriceScale()*MinMove+datePoint);
                                             SetGlobalVar(0,1); //全局變量的值記錄為1,表示此時已經開了多單
                                         mytradecount = mytradecount + 1;
                                   
                     }
                                     IF(temp1<=-0.02&&open<=close[1]&&GetGlobalVar(0)==0  ) ;
                                {(MYpos!=1);//沒有記錄有多單的信息
                                    myEntryPrice = open;
                           SendOrderThisBar=true ;
                                       preEntryPrice = myEntryPrice;
                              SellShort(1,myEntryprice-PriceScale()*MinMove+datePoint);
                                             SetGlobalVar(0,-1); //全局變量的值記錄為1,表示此時已經開了多單
                                         mytradecount = mytradecount + 1;
                                    }
                     }
                      }////////////////
                      If(MarketPosition == 1&&Date != Date[1]) // 有多倉的情況
        {      
                            If(close<open)
                       {(MYpos!=-1);  
                       Abs((High-Close)/Open)>=StopLossSet;
                           mytradecount = mytradecount + 1;
                myExitPrice = Max(highest,close);
                            myExitPrice = IIF(myExitPrice > Open, Open,myExitPrice); // 跳空的時候用開盤價代替
                  Sell(0,myExitPrice-PriceScale()*MinMove-datePoint);    // 數(shù)量用0的情況下將全部平倉//產生一個多頭平倉的操作               ??????????
                SetGlobalVar(0,1);                       
               }Else
            {
                If(preEntryPrice!=InvalidNumeric&&Date != Date[1] );//前一次開倉價格為有郊值
                {
                    If(Open >= preEntryPrice + 0.5*N) ;// 如果開盤就超過設定的1/2N,則直接用開盤價增倉。//上一周期的平均波動周期
                    {(MYpos!=-1);
                        myEntryPrice = Open;//開倉價為開盤價
                                            mytradecount = mytradecount + 1;
                                            preEntryPrice = myEntryPrice;//以預先價為入市價
                        Buy(1,myEntryPrice+PriceScale()*MinMove+datePoint);//以可開手數(shù)開多倉
                                            SetGlobalVar(0,1);
                                            SendOrderThisBar=true;//當前BAR沒有交易過
                    }

                    while(High>= preEntryPrice + 0.5*N) // 以最高價為標準,判斷能進行幾次增倉.反復執(zhí)行該操作直到<為止.執(zhí)行一次.就進行下面操作.直到<0
                    {(myPos!=-1);
                        myEntryPrice = preEntryPrice + 0.5 * N;//設定價為入市價增倉
                        preEntryPrice = myEntryPrice;//以預先價格為入市價
                                            mytradecount = mytradecount + 1;
                        Buy(1,myEntryPrice+PriceScale()*MinMove+datePoint);//開多倉
                                            SetGlobalVar(0,1);
                                            SendOrderThisBar=true;//當前BAR沒有交易過                                       
                    }
                    }
                           
                // 止損指令
                      
                            If( close<open && SendOrderThisBar == True&&GetGlobalVar(0)==1); // 最低價小于等于預先價-設定價且當前BAR未交易過
                            {(mypos!=-1);   
                            Abs((High-Close)/Open)>=StopLossSet;
                                    myExitPrice = Max(highest,(close+open)/2);
                                    mytradecount = mytradecount + 1;
                                    Sell(0,myExitPrice-PriceScale()*MinMove-datePoint); // 數(shù)量用0的情況下將全部平倉//平多倉
                                    PreBreakoutFailure=True;//前一次已突破
                                    SetGlobalVar(0,0);
                            }
            }
                   
                     }Else If(MarketPosition ==-1) // 有空倉的情況
        {
            If(open<close&&GetGlobalVar(0)==-1)   
            {(myPos!=1);   
                    Abs((Close-Low)/Open)>=StopLossSet;
                        mytradecount = mytradecount + 1;
                myExitPrice = Min(lowest,(open+close)/2);
                            myExitPrice = IIF(myExitPrice < Open, Open,myExitPrice); // 大跳空的時候用開盤價代替//當大跳空時.以開倉價為平倉價
           BuyToCover(0,myExitPrice+PriceScale()*MinMove+datePoint);    // 數(shù)量用0的情況下將全部平倉//空頭平倉
                            SetGlobalVar(0,0);
            }
                       }
    }

           
                      
            End

    未命名.rar

    2011-11-28 22:45:55 上傳

    下載次數(shù): 8

     

  • TB技術人員: 回復 1# 603602982


    是因為在一根bar上同時滿足多個條件,導致一個bar上又開又平。
    使用buy、sell、sellshort、buytocover的交易指令,不需要配合全局變量,并且也是不能防止信號消失.

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

相關文章

    沒有相關內容
主站蜘蛛池模板: 人人狠狠综合久久亚洲| 扒开女人双腿猛进入爽爽视频| 国自产精品手机在线观看视频| 久久88色综合色鬼| 日韩视频在线一区| 再深点灬舒服灬太大了ship | 日韩中文字幕不卡| 亚洲人成片在线观看| 欧美黄色免费看| 国产中文字幕一区| 欧美色图在线视频| 国产精品视频在| 99久久综合狠狠综合久久| 好大好硬好深好爽的视频| 中文字幕一区二区三区永久| 欧美性69式xxxx护士| 人人妻人人澡人人爽人人dvd| 精品国产Av一区二区三区| 国产精品久久久久9999| 99久无码中文字幕一本久道| 婷婷人人爽人人爽人人片| 五月婷中文字幕| 真实乱小说在线阅读| 国产在线观看一区二区三区 | 在线观看视频日韩| 久久久久久人妻无码| 日韩美一区二区| 伊人免费在线观看高清版| 美国式禁忌4桥矿超棒| 国产一区日韩二区欧美三区| 18禁男女爽爽爽午夜网站免费| 在线看无码的免费网站| fulidown国产精品合集| 好紧好爽欲yy18p| 一级毛片免费视频网站| 成人国产在线24小时播放视频| 亚洲av无码欧洲av无码网站| 白丝女班长被弄得娇喘不停| 动漫美女羞羞漫画| 综合久久久久久久综合网| 啊!摁摁~啊!用力~快点视频免费|