大伊人青草狠狠久久-大伊香蕉精品视频在线-大伊香蕉精品一区视频在线-大伊香蕉在线精品不卡视频-大伊香蕉在线精品视频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  點擊這里給我發消息進行 有償 編寫!不貴!點擊查看價格!


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

相關文章

    沒有相關內容
主站蜘蛛池模板: 亚洲综合在线视频 | 日本亚洲视频 | 高清国产在线 | 国内精品视频一区二区八戒 | 成人在线视频网址 | 成人最新午夜免费视频 | 国产美女免费国产 | 最新精品亚洲成a人在线观看 | 精品视频久久久 | 黄片毛片一级片 | 不卡一级毛片免费高清 | 亚洲五月花| 九九热在线精品 | 午夜美女久久久久爽久久 | 国产激情视频一区二区三区 | 香蕉eeww99国产在线观看 | 久久精品99久久香蕉国产色戒 | 久久久精品久久视频只有精品 | 久久99九九99九九精品 | 奇米色第四色 | 四虎影院在线网址 | 综合se| 日本aⅴ网站| 国产欧美日韩精品第三区 | 欧美日韩在线观看区一二 | 97天天做天天爱夜夜爽 | 男人的网站在线观看 | 一区二区三区免费视频 www | 国产精品91视频 | 色妞bbbb女女女女 | 曰曰鲁夜夜免费播放视频 | 日日草视频 | 国产激情一区二区三区四区 | 国产国语videosex | 亚洲人人草 | 久久福利网站 | 久久久免费精品 | 天天拍夜夜拍 | 欧美精品视| 中文字幕在线看日本大片 | 欧美体内she精视频毛片 |