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

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

開拓者TB的RangeBreak交易模型源碼[開拓者公式]

  • 咨詢內容: 本帖最后由 rookies 于 2012-7-20 21:23 編輯

    日內效果不如隔日來得好

    Params
            Numeric PercentOfRange(0.5);     //突破系數(shù)
            Numeric ExitOnCloseMins(14.55);  //最后交易時間
            Numeric MinRange(0.002);   //開盤價的百分比
            Numeric Lots(1);  //開倉量
    Vars
            Numeric MyExitPrice;
            Numeric DayOpen;
            Numeric preDayRange;
            Numeric UpperBand;    //上軌
            Numeric LowerBand;   //下軌
            Numeric MyPrice;

    Begin

            DayOpen = OpenD(0);
            preDayRange = HighD(1)-LowD(1);                                           //昨日波幅
            PreDayRange = Max(PreDayRange,DayOpen*MinRange);        
            UpperBand = DayOpen+PreDayRange*PercentOfRange;          //求出上軌
            LowerBand = DayOpen-PreDayRange*PercentOfRange;           //求出下軌
            PlotNumeric("UpperBand",UpperBand);
            PlotNumeric("LowerBand",LowerBand);
                   
                   
            
            If(MarketPosition!=1 && High>=UpperBand && Time<ExitOnCloseMins/100)           //開多條件  價格高于上軌,時間小于0.145500
            {
                            MyPrice = Max(UpperBand,Open);
                            Buy(Lots,MyPrice);
                                    Return;
             
            }

            If(MarketPosition!=-1 && Low<=LowerBand &&Time<ExitOnCloseMins/100)
            {
                            MyPrice = Min(LowerBand,Open);
                            SellShort(Lots,MyPrice);
                            Return;
            }


            If( MarketPosition==1 && Low<LowerBand)  //多頭中如果下破下軌止損
            {
                     MyExitPrice=Min(Open,LowerBand);
                    Sell(Lots,MyExitPrice);
                    Return;
                     
            }

            If( MarketPosition==-1 && High>UpperBand)  //空頭中如果上穿上軌止損
            {
                     MyExitPrice=Max(Open,UpperBand);
                    BuytoCover(Lots,MyExitPrice);
                     Return;
            }
    End


     

  • TB技術人員: 本帖最后由 rookies 于 2012-7-21 11:25 編輯

    隔日情況下,允許二次開倉,可以提高盈利率

    Params
            Numeric PercentOfRange(0.5);
            Numeric ExitOnCloseMins(14.50);
            Numeric MinRange(0.002);
            Numeric Lots(1);
            Numeric StopPointUpper(1);
            Numeric StopPointLower(1);
            Numeric Length(12);
            Numeric TakeStart(0.1);
            Numeric TakeStop(0.5);
    Vars
            Numeric LastTradeMins(14.00);
            NumericSeries Ma;
            Numeric MyExitPrice;
            Numeric DayOpen;
            Numeric preDayRange;
            Numeric UpperBand;
            Numeric LowerBand;
            Numeric MyPrice;

            Numeric StopLine;
            BoolSeries UpperStoped;
            BoolSeries LowerStoped;
            NumericSeries HigherAfterEntry;
            NumericSeries LowerAfterEntry;
            String BoolSet;
    Begin

            Ma=Average(Close,Length);
            DayOpen = OpenD(0);
            preDayRange = HighD(1)-LowD(1);
            PreDayRange = Max(PreDayRange,DayOpen*MinRange);
            Commentary("DayOpen="+Text(DayOpen));
            Commentary("preDayRange="+Text(preDayRange));
            UpperBand = DayOpen+PreDayRange*PercentOfRange;
            LowerBand = DayOpen-PreDayRange*PercentOfRange;
            Commentary("UpperBand="+Text(DayOpen+PreDayRange*PercentOfRange));
            Commentary("UpperBand="+Text(DayOpen-PreDayRange*PercentOfRange));
            PlotNumeric("UpperBand",UpperBand);
            PlotNumeric("LowerBand",LowerBand);
                   
                   
            If(Date!=Date[1])
            {
                    UpperStoped=True;
                    LowerStoped=True;

            }
           
            If(UpperStoped && LowerStoped)
            {
                    If(MarketPosition!=1 && High>=UpperBand && Time<ExitOnCloseMins/100)
                    {
                            MyPrice = Max(UpperBand,Open);
                            Buy(Lots,MyPrice);
                            UpperStoped=False;
                            Return;
             
                    }
            }
            If(!UpperStoped)
            {
                    If(MarketPosition!=1 && High>=UpperBand && High>=HigherAfterEntry && Time<ExitOnCloseMins/100)
                    {
                            MyPrice = Max(UpperBand,Open);
                            MyPrice = Max(HigherAfterEntry,MyPrice);
                            Buy(Lots,MyPrice);
                            PlotString("二次建倉","二次建倉");
                            Return;
                    }
           
                    If(LowerStoped && MarketPosition==1 && Low<=LowerBand && Time<ExitOnCloseMins/100)
                    {
                    MyPrice = Min(LowerBand,Open);
                    Sell(Lots,MyPrice);
                    LowerStoped=False;
                    PlotString("反向建倉","反向建倉");
                    Return;
                   
                    }
             
            }

           
           
            If(UpperStoped && LowerStoped)
            {
                    If(MarketPosition!=-1 && Low<=LowerBand &&Time<ExitOnCloseMins/100)// && Time<=ExitOnCloseMins/100)
                    {
                            MyPrice = Min(LowerBand,Open);
                            SellShort(Lots,MyPrice);
                            LowerStoped=False;
                            Return;
                   
                    }
            }
            If(!LowerStoped)
            {
                    If(MarketPosition!=-1 && Low<=LowerBand && Low<=LowerAfterEntry &&Time<ExitOnCloseMins/100)
                    {
                            MyPrice = Min(LowerBand,Open);
                            MyPrice = Min(LowerAfterEntry,MyPrice);
                            SellShort(Lots,MyPrice);
                            PlotString("二次建倉","二次建倉");
                            Return;
                    }
           
                    If(UpperStoped && MarketPosition==-1  && High>=UpperBand &&  Time<ExitOnCloseMins/100)
                    {
                    MyPrice = Max(UpperBand,Open);
                    BuyToCover(Lots,MyPrice);
                    UpperStoped=False;
                    PlotString("反向建倉","反向建倉");
                    Return;
                   
                    }
           
           
            }


    End

     

  • TB客服: 本帖最后由 rookies 于 2012-7-21 11:14 編輯

    應學友要求    加入反向平倉和二次建倉   RU000 5分測試效果如圖,如果做得更細一些的話會有更好的效果  15分上效果更好一些

     

  • 網(wǎng)友回復: 本帖最后由 rookies 于 2012-7-21 11:25 編輯

    加入動態(tài)止盈和止損

    Params
            Numeric PercentOfRange(0.5);
            Numeric ExitOnCloseMins(14.50);
            Numeric MinRange(0.002);
            Numeric Lots(1);
            Numeric StopPointUpper(1);
            Numeric StopPointLower(1);
            Numeric Length(12);
            Numeric TakeStart(0.1);
            Numeric TakeStop(0.5);
    Vars
            Numeric LastTradeMins(14.00);
            NumericSeries Ma;
            Numeric MyExitPrice;
            Numeric DayOpen;
            Numeric preDayRange;
            Numeric UpperBand;
            Numeric LowerBand;
            Numeric MyPrice;

            Numeric StopLine;
            BoolSeries UpperStoped;
            BoolSeries LowerStoped;
            NumericSeries HigherAfterEntry;
            NumericSeries LowerAfterEntry;
            String BoolSet;
    Begin

            Ma=Average(Close,Length);
            DayOpen = OpenD(0);
            preDayRange = HighD(1)-LowD(1);
            PreDayRange = Max(PreDayRange,DayOpen*MinRange);
            Commentary("DayOpen="+Text(DayOpen));
            Commentary("preDayRange="+Text(preDayRange));
            UpperBand = DayOpen+PreDayRange*PercentOfRange;
            LowerBand = DayOpen-PreDayRange*PercentOfRange;
            Commentary("UpperBand="+Text(DayOpen+PreDayRange*PercentOfRange));
            Commentary("UpperBand="+Text(DayOpen-PreDayRange*PercentOfRange));
            PlotNumeric("UpperBand",UpperBand);
            PlotNumeric("LowerBand",LowerBand);
                   
                   
            If(Date!=Date[1])
            {
                    UpperStoped=True;
                    LowerStoped=True;

            }
            
            If(UpperStoped && LowerStoped)
            {
                    If(MarketPosition!=1 && High>=UpperBand && Time<ExitOnCloseMins/100)
                    {
                            MyPrice = Max(UpperBand,Open);
                            Buy(Lots,MyPrice);
                            UpperStoped=False;
                            Return;
             
                    }
            }
            If(!UpperStoped)
            {
                    If(MarketPosition!=1 && High>=UpperBand && High>=HigherAfterEntry && Time<ExitOnCloseMins/100)
                    {
                            MyPrice = Max(UpperBand,Open);
                            MyPrice = Max(HigherAfterEntry,MyPrice);
                            Buy(Lots,MyPrice);
                            PlotString("二次建倉","二次建倉");
                            Return;
                    }
            
                    If(LowerStoped && MarketPosition==1 && Low<=LowerBand && Time<ExitOnCloseMins/100)
                    {
                    MyPrice = Min(LowerBand,Open);
                    Sell(Lots,MyPrice);
                    LowerStoped=False;
                    PlotString("反向建倉","反向建倉");
                    Return;
                   
                    }
             
            }

            
            
            If(UpperStoped && LowerStoped)
            {
                    If(MarketPosition!=-1 && Low<=LowerBand &&Time<ExitOnCloseMins/100)// && Time<=ExitOnCloseMins/100)
                    {
                            MyPrice = Min(LowerBand,Open);
                            SellShort(Lots,MyPrice);
                            LowerStoped=False;
                            Return;
                   
                    }
            }
            If(!LowerStoped)
            {
                    If(MarketPosition!=-1 && Low<=LowerBand && Low<=LowerAfterEntry &&Time<ExitOnCloseMins/100)
                    {
                            MyPrice = Min(LowerBand,Open);
                            MyPrice = Min(LowerAfterEntry,MyPrice);
                            SellShort(Lots,MyPrice);
                            PlotString("二次建倉","二次建倉");
                            Return;
                    }
            
                    If(UpperStoped && MarketPosition==-1  && High>=UpperBand &&  Time<ExitOnCloseMins/100)
                    {
                    MyPrice = Max(UpperBand,Open);
                    BuyToCover(Lots,MyPrice);
                    UpperStoped=False;
                    PlotString("反向建倉","反向建倉");
                    Return;
                   
                    }
            
            
            }


         If(MarketPosition<>0 && BarsSinceEntry==1)
            {
                    HigherAfterEntry=AvgEntryPrice;
                    LowerAfterEntry=AvgEntryPrice;
            }
            Else If(BarsSinceEntry>1)
            {
                    HigherAfterEntry=Max(HigherAfterEntry,High[1]);
                    LowerAfterEntry=Min(LowerAfterEntry,Low[1]);
            }
            Commentary("HigherAfterEntry"+Text(HigherAfterEntry));
            Commentary("LowerAfterEntry"+Text(LowerAfterEntry));
            If(MarketPosition==1)
            {
                    If(HigherAfterEntry>=AvgEntryPrice+DayOpen*TakeStart*0.01)
                    {
                           
                            StopLine=HigherAfterEntry-DayOpen*TakeStop*0.01;
                            Commentary("StopLineHigherAftetEntry"+Text(StopLine));
                    }
                    Else
                   
                    {
                   
                            StopLine=UpperBand-DayOpen*StopPointUpper*0.01;
                            Commentary("StopLine"+Text(StopLine));
                    }
                   
                    If(Low<=StopLine)
                    {
                            MyExitPrice=Min(StopLine,Open);
                            Sell(Lots,MyExitPrice);
                           

                    }
           
           
            }
           
           
           
           
            If(MarketPosition==-1)
            {
                    If(LowerAfterEntry<=AvgEntryPrice-DayOpen*TakeStart*0.01)
                    {
                            StopLine=LowerAfterEntry+DayOpen*TakeStop*0.01;
                            Commentary("StopLineLowerAfterEntry"+Text(StopLine));
                    }
                    Else
                    {
                            StopLine=LowerBand+DayOpen*StopPointLower*0.01;
                            Commentary("StopLine"+Text(StopLine));
                    }

                    If(High>=StopLine)
                    {
                            MyExitPrice=Max(StopLine,Open);
                            BuyToCover(Lots,MyExitPrice);
                    }
           
            }



    End

     

  • 網(wǎng)友回復:呵呵  沙發(fā)  剛準備 周末 研究點模型  你就來發(fā)了

 

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

可聯(lián)系技術人員 QQ: 262069696  點擊在線交流進行 有償 編寫!不貴!點擊查看價格!

 


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

相關文章

    沒有相關內容
  主站蜘蛛池模板: www永久免费视频 | 日本一区二区三区在线 视频 | 日本免费高清一区 | 印度一级毛片免费的 | 日韩精品久久久久影院 | 国产成人免费视频 | 国产亚洲综合激情校园小说 | 五月深爱婷婷 | 一级黄色大片免费 | 国产精品成人观看视频国产奇米 | 高清女女同性一区二区 | 欧美一区二区在线观看免费网站 | 免费一区二区三区在线视频 | 日韩在线观看内窥镜 | 欧洲在线 | 成人免费毛片观看 | 男女无遮挡在线完整视频 | 欧美亚洲天堂网 | 国内日本精品视频在线观看 | 欧美日韩一级大片 | 成人特黄午夜性a一级毛片 成人网18免费软件 成人网免费 | 日韩欧美在线精品 | 天堂网www在线资源中文 | 黄色大片久久 | 任我鲁这里有精品视频在线播 | 天天做夜夜做久久做狠狠 | 欧美日韩亚洲m码色帝国 | 免费黄色小视频网站 | 国产伦久视频免费观看 视频 | 国产精品视频网址 | 黄色激情视频在线观看 | 丁香六月综合网 | 小视频黄色 | 日本三级视频在线观看 | 欧美成人另类人妖 | 久久精品国产精品亚洲艾 | 亚洲经典在线中文字幕 | 日韩美女一级片 | 丁香六月在线观看 | 免费色视频在线观看 | 看全色黄大色黄大片免责看的 |