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

請版主老師幫忙看看問題何在 [開拓者 TB]

  • 咨詢內容: 本帖最后由 torowills 于 2013-12-5 18:53 編輯

    Params
    BOOL lastprofitabletradefilter(True);

    Vars
    NumericSeries ma1;
    NumericSeries ma2;
    boolSeries lastbuy(false);
    boolSeries lastsell(false);
    NumericSeries takeprofitset(10);
    Numeric myentryprice;
    Numeric myexitprice;
    Numeric minpoint;


    Begin
    If(barstatus==0)
    {
    lastbuy=true;
    lastsell=true;
    }
    Commentary("lastbuy="+iifstring(lastbuy,"true","False"));
    Commentary("lastsell="+iifstring(lastsell,"true","False"));
    minpoint=MinMove*PriceScale;

    ma1=AverageFC(close,5);
    PlotNumeric("MA1",ma1);
    ma2=AverageFC(close,10);
    PlotNumeric("MA2",ma2);


    If(marketposition==0)
       {      If(CrossOver(ma1[1],ma2[1])  && ((!lastprofitabletradefilter)or(lastbuy)))
                            {Buy(1,open);
                            lastbuy=False;
                            lastsell=true;
                            MyEntryPrice=open;}
                    if(crossunder(ma1[1],ma2[1])  && ((!lastprofitabletradefilter)or(lastsell)))
                        {SellShort(1,open);
                            lastsell=false;
                            lastbuy=True;
                            MyEntryPrice=open;}
            }

    if(marketposition==1)
         { if(high>=myentryprice+TakeProfitSet*minpoint)
                    {     myexitprice=myentryprice+TakeProfitSet*minpoint;
                            If(Open > MyExitPrice)
                {MyExitPrice = Open;                       
                Sell(0,MyExitPrice);
                            lastbuy=False;
                            lastsell=true;}
                            }else
                     {
                                                             if(CrossUnder(ma1[1],ma2[1]))
                                                             {Sell(0,open);       
                                                              lastbuy=False;
                                              lastsell=true;}
                                  
                     }
    }
    else if(marketposition==-1 )
        {  If(Low <= MyEntryPrice - TakeProfitSet*MinPoint)   
            {   MyExitPrice = MyEntryPrice - TakeProfitSet*MinPoint;
                If(Open < MyExitPrice)
                {MyExitPrice = Open;                       
                BuyToCover(0,MyExitPrice);
                            lastsell=false;
                            lastbuy=True;}
                    }else
                            {
                                             if(CrossOver(ma1[1],ma2[1]))         
                                             {BuyToCover(0,open);
                                              lastsell=false;
                                      lastbuy=True;}
                 }        
        }
    End
    希望達到的效果是,5分鐘K線情況下,
    5均線上穿10均線,開多,10跳止盈,(開倉后若下穿止損)。不管是止盈還是止損,不再開多,坐等開空
    5均線下穿10均線,開空,10跳止盈,(開倉后若上穿止損)。不管是止盈還是止損,不再開空,坐等開多


    請老師幫忙看看這模型編寫上有沒有什么問題,個人發現的問題如下,請老師幫忙修改
    存在幾個問題:
    1,編譯的時候跳出來4個邏輯錯誤,
    2,回溯:舉了能看得見的例子IF1312,12月3號15.00開空,為什么在9.15分滿足了10跳的利潤,為什么它沒止盈,反而到了9.35去止損了?
    3,  回溯:舉了能看得見的例子IF1312,  12月4號9.35 明顯5均線上穿10均線,為什么沒開多?


    本人新人再次希望得到老師的幫助與提點

     

  • TB技術人員: 本帖最后由 jerrywind 于 2013-12-5 16:39 編輯

    1,編譯的時候跳出來4個邏輯錯誤
    >>>>>這個只是警告信息,不是錯誤信息,可以忽略;

    if(high>=myentryprice+TakeProfitSet*minpoint)
    >>>>>myentryprice<-該變量在沒有被賦值的情況下就被使用了,即該值為0,所以似乎止盈的情況從未被觸發;做空時也是一樣的;

    lastbuy和lastsell
    >>>>>這兩個變量聲明成了數組,就是說在開倉后想保存是否可以再開多或者空的標志(想用在 不管是止盈還是止損,不再開多/空,坐等開空/多),但是并沒有被用到過,例如lastbuy[1];所以這兩個變量根本沒有起到數組的作用;
    是想表達如下的意思嗎?

    /*lastbuy=True;
    lastsell=true;
    */
    if (not (lastbuy || lastsell)) {//說明之前還從沒有產生過開倉信號
            lastbuy=True;
            lastsell=true;
    } else {
            lastbuy=lastbuy[1];
            lastsell=lastsell[1];
    }


    NumericSeries takeprofitset(10);
    >>>>> 聲明這個數組變量的意思是?是否是想聲明一個代表10個跳的變量?-----> Numeric takeprofitset(10);?

    問題挺多的,沒法改,修改的量和重新編碼差不多,再仔細琢磨琢磨吧。

     

  • TB客服: if(high>=myentryprice+TakeProfitSet*minpoint)
    >>>>>myentryprice<-該變量在沒有被賦值的情況下就被使用了,即該值為0,所以似乎止盈的情況從未被觸發;做空時也是一樣的;-------------原文中的表達已經做了修正,確實漏了


    lastbuy和lastsell  抄襲了海龜中的 :
    boolseries prebreakoutlaiure(false)    以及長周期的開倉  if(marketposion==0  && ((lastprofitabletradefilter)or (prebreakoutfailure)))
    希望在lastbuy在等于true的時候才去開多。

    NumericSeries takeprofitset(10);
    >>>>> 聲明這個數組變量的意思是?是否是想聲明一個代表10個跳的變量?-----> Numeric takeprofitset(10);?-------------這是從“交易策略進階”中直接抄襲下來的

    不過好像抄襲的出問題了,依舊不是很明白,問題出在了哪



     

  • 網友回復: 文華的麥語言我也試過了,不過總覺得沒有TB的適合個人,不過文華有人會出來幫大家解決問題,管理員們,我想你們上班一定也很辛苦,但好歹出來幫助一下像我這樣不是非常精通TB的人,畢竟TB要做的更大更好,需要更多的人,金字塔沒有了基層漲不高。我希望用TB做交易,為此做好了所有的準備,只差策略代碼化,再次希望得到大家和管理員的幫助,謝謝

     

  • 網友回復: 望老師指點

 

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

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


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

相關文章

    沒有相關內容
主站蜘蛛池模板: 91精品欧美产品免费观看| 四名学生毛还没长齐在线视频| 久久精品美女视频| 白桦楚然小说叫什么| 国产成人精品A视频一区| a网站在线观看| 无遮挡无删动漫肉在线观看| 动漫成人在线观看| 99视频免费在线观看| 日本午夜大片a在线观看| 午夜一级做a爰片久久毛片| 久久综合九色综合欧美就去吻| 天堂网在线www| 中文字幕视频在线观看| 欧洲国产成人精品91铁牛tv| 人体大胆做受免费视频| 色吧亚洲欧美另类| 天堂av无码av一区二区三区| 久久久国产精华液| 琴帝type=小说| 国产日韩在线亚洲字幕中文| h在线看免费视频网站男男| 日本SM极度另类视频| 亚洲人成网7777777国产| 色国产精品一区在线观看| 天天摸天天碰成人免费视频| 久久久久久曰本av免费免费| 欧美在线视频导航| 人人狠狠综合久久亚洲| 美女的大胸又黄又www又爽| 国产高清视频在线播放www色| 丰满人妻被黑人中出849| 果冻传媒电影免费看| 亚洲精品自产拍在线观看| 精品美女在线观看| 国产精品亚洲产品一区二区三区| 久久久精品人妻一区二区三区四 | xxxxx做受大片视频| 在线观看中文字幕码| 一本久道久久综合中文字幕| 欧美性猛交xxxx|