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

如此雙均線系統,咋還出現信號消失呢? - TradeBlazer公式 [開拓者 TB]

  • 咨詢內容: 我在模擬交易中,測試陳總講課的例子,但還是出現信號消失問題,很是不解。請各位高手能給予幫助。先謝了

    程序代碼如下:
    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;        // 多頭盈利峰值價
    16.         NumericSeries LowerAfterEntry;        // 空頭盈利峰值價
    17.         BoolSeries bLongStoped(false);        // 當前均線多頭趨勢下是否有過一次進場
    18.         BoolSeries bShortStoped(false);        // 當前均線空頭趨勢下是否有過一次進場
    19.         Numeric StopLine(0);

    20. Begin

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

    27.         // 傳遞或比較盈利峰值價
    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.         // 計算是否出現了金叉死叉
    43.         condBuy = CrossOver(MA1,MA2);
    44.         condSell = CrossUnder(MA1,MA2);

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

    51.         // 過濾集合競價
    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.         // 多頭初次入場
    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.         // 空頭初次入場
    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.         // 多頭再次入場,必須突破前次出場前的高點
    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;                // 再次入場,開倉bar不平倉
    83.         }

    84.         // 空頭再次入場,必須跌破前次出場前的低點
    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;                // 再次入場,開倉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.                 // 止損觸發
    105.                 If(Low <= StopLine)
    106.                 {
    107.                         MyPrice = StopLine;
    108.                         If(Open < MyPrice) MyPrice = Open;
    109.                         Sell(Lots,MyPrice);
    110.                         bLongStoped = True;                // 止損后設置標志
    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.                 // 止損觸發
    120.                 If(High >= StopLine)
    121.                 {
    122.                         MyPrice = StopLine;
    123.                         If(Open > MyPrice) MyPrice = Open;
    124.                         BuyToCover(Lots,MyPrice);
    125.                         bShortStoped = True;        // 止損后設置標志
    126.                 }
    127.         }
    128. End

     

  • TB技術人員: 自己頂一個

     

  • TB客服: 回復 1# kongwei1107


    是哪個信號出現信號消失?
    看了一下條件,是用歷史條件判斷的,應該不會出現信號消失的。

     

  • 網友回復: 回復 3# lh948

    是啊,我也覺得奇怪。

    我是用30MIN周期的CF1201做測試的,昨天下午在平多和開空時都出現信號消失提示。

    還有一個很奇怪的事情:在昨天實時過程中,在消息中心中顯示的信號消失提示,在今天的消息中心里又沒有了呢?我設的是保留20天的消息,也記錄有昨天的信息,但惟獨缺了信號消失的內容,我想拷屏也不行了。

     

  • 網友回復: 回復 4# kongwei1107


    將條件fileappend到文件里,如果出現信號消失,就到文件中找相應時間的日志內容看看是哪些條件不滿足。

 

如果以上指標公式不適用于您常用的行情軟件

或者您想改編成選股公式,以便快速選出某種形態個股的話,

可以聯系我們相關技術人員 QQ: 262069696  點擊在線交流進行 有償 改編!

 


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

相關文章

    指定的模型還沒有相關內容!
主站蜘蛛池模板: 色综合小说天天综合网| JAPANESE在线播放国产| 最近免费中文字幕大全视频| 亚洲精品狼友在线播放| 精品国产麻豆免费人成网站| 国产免费久久久久久无码| 亚洲色欲色欲www| 国产麻豆综合视频在线观看| www.日本高清视频| 成人性生交大片免费看| 久久午夜羞羞影院免费观看| 最新无码a∨在线观看| 亚洲国产综合无码一区| 污污成人一区二区三区四区| 伊人婷婷综合缴情亚洲五月| 精品亚洲成a人无码成a在线观看| 四虎影院成人在线观看俺也去色官网| 高嫁肉柳风车动漫| 国产成人亚洲午夜电影| 久草视频精品在线| 国产精品一区二区av| 2020国产精品永久在线观看| 国产黄色毛片视频| 999影院成人在线影院| 大帝AV在线一区二区三区| ririai66在线观看视频| 宝贝过来趴好张开腿让我看看| 中国明星16xxxxhd| 成全视频在线观看免费高清动漫视频下载 | 十八禁视频网站在线观看| 老司机亚洲精品影院| 国产乱叫456在线| 青草青草伊人精品视频| 国产在线无码精品电影网| 黑色毛衣在线播放| 国产成人精品1024在线| 国产精品亚洲四区在线观看| 国产欧美日产中文| 久久亚洲精品专区蓝色区| 国产极品美女到高潮| 国产喷水在线观看|