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


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

相關文章

    沒有相關內容
主站蜘蛛池模板: 女人十八毛片免费观 | 久久国产亚洲精品 | 成人毛片免费看 | 狠狠干.com | 不卡的在线视频免费观看 | 成人激情免费视频 | 亚洲激情网址 | 成人黄色网| 欧美亚洲综合在线观看 | 日本色综合网 | 免费a级在线观看完整片 | 亚洲欧美一区二区三区四区 | 瑟瑟综合 | 久久久精品免费热线观看 | 97超精品视频在线观看 | 欧美中文综合在线视频 | 亚洲精品宾馆在线精品酒店 | 国产精品九九久久一区hh | 亚洲成在人 | 四虎影院在线免费观看视频 | 欧美日韩小视频 | 亚洲日韩欧美一区二区在线 | 久久五月天综合网 | 欧美国产成人在线 | 亚洲国产欧美日韩一区二区三区 | 午夜一级毛片 | 天天干视频 | 亚洲精品一区二区久久久久 | 亚洲精品第一区二区在线 | 日韩免费观看一级毛片看看 | 91精品国产综合久久婷婷 | 国产精品福利自产拍网站 | 久草热线 | 日日夜人人澡人人澡人人看免 | 国产亚洲美女精品久久久2020 | 91日韩欧美 | 午夜一级 | 国产精品久久久久秋霞影视 | 伊人色在线 | 婷婷成人基地 | 成年女人午夜毛片免费看 |