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

如此雙均線系統(tǒng),咋還出現(xiàn)信號(hào)消失呢? - TradeBlazer公式 [開(kāi)拓者 TB]

  • 咨詢內(nèi)容: 我在模擬交易中,測(cè)試陳總講課的例子,但還是出現(xiàn)信號(hào)消失問(wèn)題,很是不解。請(qǐng)各位高手能給予幫助。先謝了

    程序代碼如下:
    1. Params                                                
    2.         Numeric Length1(8);                // 短均線周期
    3.         Numeric Length2(22);                 // 長(zhǎng)均線周期
    4.         Numeric InitialStop(6);                                // 初始止損比例*1000
    5.         Numeric BreakEvenStop(10);                // 保本止損比例*1000
    6.         Numeric TrailingStop(14);                // 追蹤止損比例*1000
    7.         Numeric Lots(1);                            // 頭寸大小   
    8.        
    9. Vars                                                   
    10.         NumericSeries MA1;                           
    11.         NumericSeries MA2;
    12.         BoolSeries condBuy(false);                // 做多條件
    13.         BoolSeries condSell(false);                // 做空條件
    14.            Numeric MyPrice;
    15.         NumericSeries HigherAfterEntry;        // 多頭盈利峰值價(jià)
    16.         NumericSeries LowerAfterEntry;        // 空頭盈利峰值價(jià)
    17.         BoolSeries bLongStoped(false);        // 當(dāng)前均線多頭趨勢(shì)下是否有過(guò)一次進(jìn)場(chǎng)
    18.         BoolSeries bShortStoped(false);        // 當(dāng)前均線空頭趨勢(shì)下是否有過(guò)一次進(jìn)場(chǎng)
    19.         Numeric StopLine(0);

    20. Begin

    21.         // 把上一根bar的出場(chǎng)狀況傳遞過(guò)來(lái)
    22.         if (BarStatus > 0)
    23.         {
    24.                 bLongStoped = bLongStoped[1];
    25.                 bShortStoped = bShortStoped[1];
    26.         }

    27.         // 傳遞或比較盈利峰值價(jià)
    28.         If(BarsSinceEntry >= 1)
    29.         {
    30.                 HigherAfterEntry = Max(HigherAfterEntry[1],High[1]);
    31.                 LowerAfterEntry = Min(LowerAfterEntry[1],Low[1]);
    32.         }
    33.         Else
    34.         {
    35.                 HigherAfterEntry = HigherAfterEntry[1];
    36.                 LowerAfterEntry = LowerAfterEntry[1];
    37.         }

    38.         MA1 = AverageFC(Close,Length1);              
    39.         MA2 = AverageFC(Close,Length2);
    40.         PlotNumeric("MA1",MA1);
    41.         PlotNumeric("MA2",MA2);

    42.         // 計(jì)算是否出現(xiàn)了金叉死叉
    43.         condBuy = CrossOver(MA1,MA2);
    44.         condSell = CrossUnder(MA1,MA2);

    45.         // 如果當(dāng)前bar沒(méi)有發(fā)生交叉,則將前一個(gè)Bar的交叉狀態(tài)傳遞下去
    46.         if ( condBuy == false and condSell == false )
    47.         {
    48.                 condBuy = condBuy[1];
    49.                 condSell = condSell[1];
    50.         }

    51.         // 過(guò)濾集合競(jìng)價(jià)
    52.         If((BarType==1 or BarType==2) && BarStatus == 2 && date!=date[1] && high==low)         return;
    53.         If(BarType==0 && BarStatus == 2 && CurrentTime<=0.09 && high==low)                                 return;

    54.         // 多頭初次入場(chǎng)
    55.         If (MarketPosition!=1 and condBuy[1]==true and bLongStoped==false)
    56.         {
    57.                 Buy(Lots,Open);
    58.                
    59.                 HigherAfterEntry = Open;
    60.                 LowerAfterEntry = Open;
    61.                 bLongStoped = false;
    62.                 bShortStoped = false;                       
    63.         }

    64.         // 空頭初次入場(chǎng)
    65.         If (MarketPosition!=-1 and condSell[1]==true and bShortStoped==false)
    66.         {
    67.                 HigherAfterEntry = Open;
    68.                 LowerAfterEntry = Open;
    69.                 bLongStoped = false;
    70.                 bShortStoped = false;
    71.         }

    72.         // 多頭再次入場(chǎng),必須突破前次出場(chǎng)前的高點(diǎn)
    73.         If(bLongStoped and MarketPosition==0 and High > HigherAfterEntry)
    74.         {
    75.                 MyPrice = HigherAfterEntry;
    76.                 If(Open > MyPrice) MyPrice = Open;
    77.                 Buy(Lots,MyPrice);
    78.                
    79.                 bLongStoped = False;
    80.                 HigherAfterEntry = MyPrice;
    81.                 LowerAfterEntry = MyPrice;

    82.                 Return;                // 再次入場(chǎng),開(kāi)倉(cāng)bar不平倉(cāng)
    83.         }

    84.         // 空頭再次入場(chǎng),必須跌破前次出場(chǎng)前的低點(diǎn)
    85.         If(bShortStoped and MarketPosition==0 and Low < LowerAfterEntry)
    86.         {
    87.                 MyPrice = LowerAfterEntry;
    88.                 If(Open < MyPrice) MyPrice = Open;
    89.                 SellShort(Lots,MyPrice);
    90.                        
    91.                 bShortStoped = False;
    92.                 HigherAfterEntry = MyPrice;
    93.                 LowerAfterEntry = MyPrice;
    94.                        
    95.                 Return;                // 再次入場(chǎng),開(kāi)倉(cāng)bar不平倉(cāng)
    96.         }

    97.         // 止損部分
    98.         If(MarketPosition==1)        // 持多頭
    99.         {
    100.                 StopLine = EntryPrice * (1-InitialStop/1000);                        // 初始止損
    101.                 If (HigherAfterEntry >= EntryPrice * (1+BreakEvenStop/1000))        StopLine = EntryPrice;                //保本止損
    102.                 If (StopLine < HigherAfterEntry*(1-TrailingStop/1000))                StopLine = HigherAfterEntry*(1-TrailingStop/1000);                // 追蹤止損
    103.                
    104.                 // 止損觸發(fā)
    105.                 If(Low <= StopLine)
    106.                 {
    107.                         MyPrice = StopLine;
    108.                         If(Open < MyPrice) MyPrice = Open;
    109.                         Sell(Lots,MyPrice);
    110.                         bLongStoped = True;                // 止損后設(shè)置標(biāo)志
    111.                 }
    112.         }
    113.         Else If(MarketPosition==-1)        // 持空
    114.         {
    115.                                 StopLine = EntryPrice * (1+InitialStop/1000);                                  // 初始止損
    116.                 If (LowerAfterEntry <= EntryPrice *(1-BreakEvenStop/1000))                            StopLine = EntryPrice;                //保本止損
    117.                 If (StopLine > LowerAfterEntry*(1+TrailingStop/1000))                            StopLine = LowerAfterEntry*(1+TrailingStop/1000);        // 追蹤止損
    118.                
    119.                 // 止損觸發(fā)
    120.                 If(High >= StopLine)
    121.                 {
    122.                         MyPrice = StopLine;
    123.                         If(Open > MyPrice) MyPrice = Open;
    124.                         BuyToCover(Lots,MyPrice);
    125.                         bShortStoped = True;        // 止損后設(shè)置標(biāo)志
    126.                 }
    127.         }
    128. End

     

  • TB技術(shù)人員: 自己頂一個(gè)

     

  • TB客服: 回復(fù) 1# kongwei1107


    是哪個(gè)信號(hào)出現(xiàn)信號(hào)消失?
    看了一下條件,是用歷史條件判斷的,應(yīng)該不會(huì)出現(xiàn)信號(hào)消失的。

     

  • 網(wǎng)友回復(fù): 回復(fù) 3# lh948

    是啊,我也覺(jué)得奇怪。

    我是用30MIN周期的CF1201做測(cè)試的,昨天下午在平多和開(kāi)空時(shí)都出現(xiàn)信號(hào)消失提示。

    還有一個(gè)很奇怪的事情:在昨天實(shí)時(shí)過(guò)程中,在消息中心中顯示的信號(hào)消失提示,在今天的消息中心里又沒(méi)有了呢?我設(shè)的是保留20天的消息,也記錄有昨天的信息,但惟獨(dú)缺了信號(hào)消失的內(nèi)容,我想拷屏也不行了。

     

  • 網(wǎng)友回復(fù): 回復(fù) 4# kongwei1107


    將條件fileappend到文件里,如果出現(xiàn)信號(hào)消失,就到文件中找相應(yīng)時(shí)間的日志內(nèi)容看看是哪些條件不滿足。

【字體: 】【打印文章】【查看評(píng)論

相關(guān)文章

    沒(méi)有相關(guān)內(nèi)容
主站蜘蛛池模板: 97视频免费观看2区| 亚洲AV香蕉一区区二区三区| 蝌蚪网站免费观看| 国产高清一级伦理| 中文天堂最新版www| 最近中文字幕在线中文视频| 人人添人人澡人人澡人人人人| 花季传媒在线观看| 国产精品午夜无码av体验区| 一个人看的www免费高清| 日本高清com| 亚洲国产成人精品无码一区二区 | 天天躁日日躁狠狠躁av麻豆| 久久精品国产久精国产一老狼| 欧美野外疯狂做受xxxx高潮| 午夜老司机免费视频| 黑人玩弄漂亮少妇高潮大叫 | 亚洲午夜爱爱香蕉片| 看全色黄大色大片| 国产一区二区三区不卡在线观看 | 韩国理伦片在线观看手机版 | 美国经典三级版在线播放| 国产欧美日韩在线观看精品| aaaa级毛片| 插B内射18免费视频| 亚洲AV无码国产一区二区三区| 污视频网站在线观看| 午夜亚洲av永久无码精品| 韩国三级中文字幕hd久久精品| 国内外一级毛片| 两个人看的www免费| 最近中文字幕免费完整| 亚洲精品偷拍无码不卡av| 精品无码成人片一区二区| 国产午夜鲁丝片av无码免费| 你懂得视频在线观看| 在车里被撞了八次高c| 中国性猛交xxxxx免费看| 日韩在线一区二区三区视频| 亚洲手机中文字幕| 舞蹈班的三个小女孩唐嫣|