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

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

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

    程序代碼如下:
    1. Params                                                
    2.         Numeric Length1(8);                // 短均線周期
    3.         Numeric Length2(22);                 // 長均線周期
    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ì)下是否有過一次進(jìn)場(chǎng)
    18.         BoolSeries bShortStoped(false);        // 當(dāng)前均線空頭趨勢(shì)下是否有過一次進(jìn)場(chǎng)
    19.         Numeric StopLine(0);

    20. Begin

    21.         // 把上一根bar的出場(chǎng)狀況傳遞過來
    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沒有發(fā)生交叉,則將前一個(gè)Bar的交叉狀態(tài)傳遞下去
    46.         if ( condBuy == false and condSell == false )
    47.         {
    48.                 condBuy = condBuy[1];
    49.                 condSell = condSell[1];
    50.         }

    51.         // 過濾集合競(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),開倉bar不平倉
    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),開倉bar不平倉
    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

    是啊,我也覺得奇怪。

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

    還有一個(gè)很奇怪的事情:在昨天實(shí)時(shí)過程中,在消息中心中顯示的信號(hào)消失提示,在今天的消息中心里又沒有了呢?我設(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)文章

    沒有相關(guān)內(nèi)容
主站蜘蛛池模板: 韩国演艺圈悲参39全集都有谁| 一级做a爱片久久毛片| 爱情岛永久免费| 国产亚洲欧美日韩精品一区二区 | 国自产拍在线天天更新91 | 丰满少妇大力进入| 欧美一区二区三区激情视频| 免费人成在线观看视频高潮| 被两个同桌绑起来玩乳动态gif| 国产精品无码素人福利不卡| 一个人hd高清在线观看| 日本全黄三级在线观看| 亚洲国产午夜精品理论片| 福利一区二区三区视频在线观看| 国产偷自视频区视频| 18到20女人一级毛片| 天天摸天天干天天操| 中文字幕乱码无码人妻系列蜜桃| 最近中文字幕完整国语视频| 亚洲深深色噜噜狠狠爱网站 | 天天干天天色综合网| 国产乱人伦偷精品视频下| 91w乳液78w78wyw5| 小说区图片区综合久久88| 久久天天躁狠狠躁夜夜免费观看| 欧美粗大猛烈老熟妇| 再深点灬舒服灬太大了快点h视频| 青青青青青青久久久免费观看| 国产精品无码无卡在线播放| jizz国产在线播放| 成人激爽3d动漫网站在线| 久久精品成人欧美大片免费| 欧美成人在线免费| 亚洲综合色成在线播放| 精品亚洲成a人片在线观看| 国产乱弄免费视频| 成人三级精品视频在线观看| 国产精品对白刺激久久久| 99re66热这里只有精品17| 女子校生下媚药在线观看| 亚洲中文字幕久久精品无码va|