大伊人青草狠狠久久-大伊香蕉精品视频在线-大伊香蕉精品一区视频在线-大伊香蕉在线精品不卡视频-大伊香蕉在线精品视频75-大伊香蕉在线精品视频人碰人

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

內建函數NthExtremes拷貝到自定義函數中后再編譯有警示 [開拓者 TB]

  • 咨詢內容: 本帖最后由 china_lizhi 于 2016-3-9 13:05 編輯

    把內建函數NthExtremes中的源代碼原封不動地拷貝到了自定義函數中了,然后編譯對如下兩行代碼有如下的警示:
                    NthMaxValue = Extremes(Price, Length, True, nMaxBar);
                    NthMinValue = Extremes(Price, Length, False, nMinBar);
    這兩行提示:FOR、WHILE、IF、ELSE中包含序列函數,可能存在潛在的邏輯錯誤。

     

  • TB技術人員: 懇請提供函數NthExtremes中的代碼的詳細注解,以幫助TB初學者入門。謝謝

    懇請客服對于以下代碼給予詳細的注釋,以便于初學者入門

     

  • TB客服: 本帖最后由 china_lizhi 于 2016-3-9 13:06 編輯

    //------------------------------------------------------------------------
    // 簡稱: NthExtremes
    // 名稱: 求N極值
    // 類別: 用戶函數
    // 類型: 內建函數
    // 輸出: 數值型
    //------------------------------------------------------------------------

    Params
            NumericSeries Price(1);
            Numeric Length(10);
            Numeric N(5);
            Bool bMax(True);
            NumericRef NthExtremeBar;
    Vars
            Numeric nMaxBar;
            Numeric NthMaxValue;
            Numeric nMinBar;
            Numeric NthMinValue;
            Numeric TmpValue;
            Numeric NthReturnValue;
            Numeric nBetterCnt;
            Numeric nEqualCnt;
            Numeric nEqualIndex;
            Numeric i;
            Numeric j;
            Numeric k;
    Begin
            if (Length > 0 && N>0 && N <= Length)
            {
                    NthMaxValue = Extremes(Price, Length, True, nMaxBar);
                    NthMinValue = Extremes(Price, Length, False, nMinBar);
                   
                    If(bMax)
                    {
                            For i = 2 To N
                            {
                                    TmpValue = NthMinValue - 1;
                                    nBetterCnt = 0;
                                    nEqualCnt = 0;
                                    For j = 0 To Length - 1
                                    {
                                            If ( Price[j] > NthMaxValue)
                                            {
                                                    nBetterCnt = nBetterCnt + 1;
                                            }else If ( Price[j] < NthMaxValue)
                                            {
                                                    if (Price[j] > TmpValue)
                                                    {
                                                            TmpValue = Price[j] ;
                                                            nMaxBar = j;
                                                    }
                                            }Else
                                            {
                                                    nEqualCnt = nEqualCnt + 1;
                                            }
                                    }
                                           
                                    if (nBetterCnt + nEqualCnt >= i)
                                    {
                                            nEqualIndex = 0;
                                            for  k = 0 To  Length - 1
                                            {
                                                    if (Price[k] == NthMaxValue)
                                                    {
                                                            nEqualIndex = nEqualIndex + 1;
                                                            if (nEqualIndex == (i - nBetterCnt))
                                                            {
                                                                    nMaxBar = k;
                                                            }
                                                    }
                                            }
                                    }else
                                    {
                                            NthMaxValue = TmpValue;
                                    }                               
                            }
                            NthExtremeBar = nMaxBar;
                            NthReturnValue = NthMaxValue;
                    }Else
                    {
                            For i = 2 To N
                            {
                                    TmpValue = NthMaxValue + 1;
                                    nBetterCnt = 0;
                                    nEqualCnt = 0;
                                    For j = 0 To Length - 1
                                    {
                                            If ( Price[j] < NthMinValue)
                                            {
                                                    nBetterCnt = nBetterCnt + 1;
                                            }else If ( Price[j] > NthMinValue)
                                            {
                                                    if (Price[j] < TmpValue)
                                                    {
                                                            TmpValue = Price[j] ;
                                                            nMinBar = j;
                                                    }
                                            }Else
                                            {
                                                    nEqualCnt = nEqualCnt + 1;
                                            }
                                    }
                                           
                                    if (nBetterCnt + nEqualCnt >= i)
                                    {
                                            nEqualIndex = 0;
                                            for  k = 0 To  Length - 1
                                            {
                                                    if (Price[k] == NthMinValue)
                                                    {
                                                            nEqualIndex = nEqualIndex + 1;
                                                            if (nEqualIndex == (i - nBetterCnt))
                                                            {
                                                                    nMinBar = k;
                                                            }
                                                    }
                                            }
                                    }else
                                    {
                                            NthMinValue = TmpValue;
                                    }                               
                            }
                            NthExtremeBar = nMinBar;
                            NthReturnValue = NthMinValue;
                    }
            }Else
            {
                    NthReturnValue = -1;
                    NthExtremeBar = -1;
            }
            Return NthReturnValue;
    End

    //------------------------------------------------------------------------
    // 編譯版本        GS2010.12.08
    // 版權所有        TradeBlazer Software 2003-2010
    // 更改聲明        TradeBlazer Software保留對TradeBlazer平
    //                        臺每一版本的TradeBlazer公式修改和重寫的權利
    //------------------------------------------------------------------------

 

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

可聯系技術人員 QQ: 511411198  點擊這里給我發消息進行 有償 編寫!不貴!點擊查看價格!


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

相關文章

    沒有相關內容
主站蜘蛛池模板: 精品国精品国产自在久国产应用 | 97免费视频在线 | 久久精品视频免费看 | 国产一区二区在线观看视频 | 亚洲第一综合色 | 成人在线天堂 | 五月天婷婷在线免费观看 | 性www| 国产美女mm131爽爽爽免费 | 色尼玛亚洲综合 | 九色视频网址 | 99久久精品费精品国产一区二 | 亚洲精品色综合久久 | 国产美女白丝袜精品_a不卡 | 纯欧美一级毛片免费 | 成人免费视频在线 | 欧美第一视频 | 一级日本强免费 | 日本在线不卡免费 | 国产精品久久久久久久久齐齐 | 欧美性色黄大片一级毛片视频 | 精品日本亚洲一区二区三区 | 亚洲无总热门 | 国产成人a视频在线观看 | 欧美精品二区 | 成人久久久精品乱码一区二区三区 | 伊人久久久综在合线久久在播 | 日本综合久久 | 国内偷自视频区视频综合 | 99久久精品无码一区二区毛片 | 青青热久久国产久精品秒播 | 国产成人一区二区三区在线视频 | 欧美亚洲另类视频 | 高清不卡毛片免费观看 | 国产成人综合在线视频 | 亚洲欧洲一区二区三区在线观看 | 四虎在线免费观看视频 | 99re热视频在线 | 四虎永久免费最新在线 | 亚洲免费精品视频 | 久久久久久久久久爱 |