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

求助死循環(huán) [開拓者 TB]

 

  • 咨詢內(nèi)容: 我的用戶函數(shù):
    // 簡稱: NthCrossUpMAHighOverBarPos
    // 名稱: 回溯第N個上纏繞MA頂值、收過MABar索引值
    // 類別: 用戶函數(shù)
    // 類型: 用戶函數(shù)
    // 輸出: 數(shù)值型
    //------------------------------------------------------------------------
    Params
            Numeric N(0);
            Numeric Length(0);
            NumericRef CrossUpMAOverBarPos;
    Vars
            Numeric ReBarsCrossOverMA(0);
            Numeric ReBarsCrossOverMAplus(0);
            Numeric ReBarsCrossUnderMA(0);
            Numeric i;
            Numeric CrossUpMAHigh;
    Begin
            ReBarsCrossOverMA=NthCon(CrossOver(C,AverageFC(C,Length)),N);
            ReBarsCrossOverMAplus=NthCon(CrossOver(C,AverageFC(C,Length)),N+1);
            ReBarsCrossUnderMA=NthCon(CrossUnder(C,AverageFC(C,Length)),N);
            If ((ReBarsCrossOverMA<ReBarsCrossUnderMA)&&((CurrentBar-ReBarsCrossOverMAplus)>(Length-1)))
            {
                For i=ReBarsCrossOverMAplus DownTo ReBarsCrossUnderMA
                 {
                    If (H[i] > CrossUpMAHigh)
                        CrossUpMAHigh = H[i];
                }
               CrossUpMAOverBarPos=CurrentBar-ReBarsCrossOverMAplus;
            }
            Return CrossUpMAHigh;
    End
    //------------------------------------------------------------------------
    我的公式應(yīng)用:
    // 簡稱: TproNthCrossUpMAHighOverBarPos
    // 名稱: 驗證回溯遞增第N個上纏繞MA頂值、收過MABar索引值
    // 類別: 公式應(yīng)用
    // 類型: 用戶應(yīng)用
    // 輸出:
    //------------------------------------------------------------------------
    Params
            Numeric N(2);
            Numeric Length(5);
    Vars
            Numeric CrossUpMAHigh;
            Numeric CrossUpMAOverBarPos;
            Numeric i;
            Numeric j;
            Numeric MyHigh;
            Numeric MyBarPos;
    Begin
            i=2;
            j=1;
            CrossUpMAHigh=NthCrossUpMAHighOverBarPos(1,Length,CrossUpMAOverBarPos);
            MyBarPos=CrossUpMAOverBarPos;
            While ((j<N)&&(MyBarPos>0))
            {MyHigh=NthCrossUpMAHighOverBarPos(i,Length,CrossUpMAOverBarPos);
             MyBarPos=CrossUpMAOverBarPos;
             i=i+1;
             If (MyHigh>CrossUpMAHigh)
                   {CrossUpMAHigh=MyHigh;
              j=j+1;
             }
            }
            If (MyBarPos==0)
            {CrossUpMAHigh=0;
            }
            Commentary("回溯遞增第"+Text(N)+"個上纏繞MA頂值"+Text(CrossUpMAHigh));
            Commentary("回溯遞增第"+Text(N)+"個上纏繞MA收過MABar索引值"+Text(MyBarPos));
    End
    //------------------------------------------------------------------------

    上述公式應(yīng)用插入超級圖表,出現(xiàn)死循環(huán),請教TB老師解決辦法,多謝!

     

  • TB技術(shù)人員: 應(yīng)TB工程師的要求,發(fā)了上面的帖子,通了4次電話,過了4個小時,仍沒有回復(fù),TB服務(wù)太差了!如果不想解決,為何要我發(fā)帖干等?

     

  • TB客服: 用戶函數(shù)那 N的值應(yīng)要大于等于1的自然數(shù), 您初始付的值為0

     

  • 網(wǎng)友回復(fù): 本帖最后由 wwr_5817 于 2012-12-19 15:05 編輯

    多謝LZ,LZ實在是高!不死循環(huán)了!可結(jié)果在N>1時恒為0,可否再指點指點?

     

  • 網(wǎng)友回復(fù):
    請管理員tradeblazer繼續(xù)解答我的問題!
    我的用戶函數(shù):
    // 簡稱: NthCrossUpMAHighOverBarPos
    // 名稱: 回溯第N個上纏繞MA頂值、收過MABar索引值
    // 類別: 用戶函數(shù)
    // 類型: 用戶函數(shù)
    // 輸出: 數(shù)值型
    //------------------------------------------------------------------------
    Params
            Numeric N(1);
            Numeric Length(5);
            NumericRef CrossUpMAOverBarPos;
    Vars
            Numeric ReBarsCrossOverMA(0);
            Numeric ReBarsCrossOverMAplus(0);
            Numeric ReBarsCrossUnderMA(0);
            Numeric i;
            Numeric CrossUpMAHigh;
    Begin
            ReBarsCrossOverMA=NthCon(CrossOver(C,AverageFC(C,Length)),N);
            ReBarsCrossOverMAplus=NthCon(CrossOver(C,AverageFC(C,Length)),N+1);
            ReBarsCrossUnderMA=NthCon(CrossUnder(C,AverageFC(C,Length)),N);
            If ((ReBarsCrossOverMA<ReBarsCrossUnderMA)&&((CurrentBar-ReBarsCrossOverMAplus)>(Length-1)))
            {
                  For i=ReBarsCrossOverMAplus DownTo ReBarsCrossUnderMA
                 {
                     If (H[i] > CrossUpMAHigh)
                           CrossUpMAHigh = H[i];
                 }
                CrossUpMAOverBarPos=CurrentBar-ReBarsCrossOverMAplus;
            }
            Return CrossUpMAHigh;
    End
    //------------------------------------------------------------------------
    我的公式應(yīng)用1:
    / 簡稱: TproNthCrossUpMAHighOverBarPos
    // 名稱: 驗證回溯遞增第N個上纏繞MA頂值、收過MABar索引值
    // 類別: 公式應(yīng)用
    // 類型: 用戶應(yīng)用
    // 輸出:
    //------------------------------------------------------------------------
    Params
            Numeric N(2);
            Numeric Length(5);
    Vars
            Numeric CrossUpMAHigh;
            Numeric CrossUpMAOverBarPos;
            Numeric i;
            Numeric j;
            Numeric MyHigh;
            Numeric MyBarPos;
    Begin
            i=2;
            j=1;
            CrossUpMAHigh=NthCrossUpMAHighOverBarPos(1,Length,CrossUpMAOverBarPos);
            MyBarPos=CrossUpMAOverBarPos;
            Commentary("While前CrossUpMAHigh="+Text(CrossUpMAHigh));
            Commentary("While前MyBarPos="+Text(MyBarPos));
            Commentary("While前j="+Text(j));
            Commentary("While前N="+Text(N));
            While ((j<N)&&(MyBarPos>0))
            {Commentary("While中調(diào)用戶函數(shù)前i="+Text(i));
             Commentary("While中調(diào)用戶函數(shù)前j="+Text(j));
             Commentary("While中調(diào)用戶函數(shù)前MyBarPos="+Text(MyBarPos));
             Commentary("While中調(diào)用戶函數(shù)前MyHigh="+Text(MyHigh));
             MyHigh=NthCrossUpMAHighOverBarPos(i,Length,CrossUpMAOverBarPos);
             Commentary("While中NthCrossUpMAHighOverBarPos(i,Length,CrossUpMAOverBarPos)="+Text(NthCrossUpMAHighOverBarPos(i,Length,CrossUpMAOverBarPos)));
             Commentary("While中CrossUpMAOverBarPos="+Text(CrossUpMAOverBarPos));
             MyBarPos=CrossUpMAOverBarPos;
             Commentary("While中i+1前i="+Text(i));
             Commentary("While中i+1前MyBarPos="+Text(MyBarPos));
             Commentary("While中i+1前MyHigh="+Text(MyHigh));
             i=i+1;
             Commentary("While中i="+Text(i));
             Commentary("While中MyBarPos="+Text(MyBarPos));
             Commentary("While中MyHigh="+Text(MyHigh));
             Commentary("While中CrossUpMAHigh="+Text(CrossUpMAHigh));
             If (MyHigh>CrossUpMAHigh)
         {CrossUpMAHigh=MyHigh;
              j=j+1;
              Commentary("While中j="+Text(j));
              Commentary("While中MyBarPos="+Text(MyBarPos));
              Commentary("While中CrossUpMAHigh="+Text(CrossUpMAHigh));
             }
            }
            If (MyBarPos==0)
            {CrossUpMAHigh=0;
            }
            Commentary("回溯遞增第"+Text(N)+"個上纏繞MA頂值"+Text(CrossUpMAHigh));
            Commentary("回溯遞增第"+Text(N)+"個上纏繞MA收過MABar索引值"+Text(MyBarPos));
    End
    //------------------------------------------------------------------------
    我的公式應(yīng)用2:
    // 簡稱: TNthCrossUpMAHighOverBarPos
    // 名稱: 驗證回溯第N個上纏繞MA頂值、收過MABar索引值
    // 類別: 公式應(yīng)用
    // 類型: 用戶應(yīng)用
    // 輸出:
    //------------------------------------------------------------------------
    Params
            Numeric N(2);
            Numeric Length(5);
    Vars
            Numeric CrossUpMAHigh;
            Numeric CrossUpMAOverBarPos;
    Begin
            CrossUpMAHigh=NthCrossUpMAHighOverBarPos(N,Length,CrossUpMAOverBarPos);
            Commentary("回溯第"+Text(N)+"個上纏繞MA頂值"+Text(CrossUpMAHigh));
            Commentary("回溯第"+Text(N)+"個上纏繞MA收過MABar索引值"+Text(CrossUpMAOverBarPos));
    End
    //------------------------------------------------------------------------
    您于3樓的答復(fù),我在1樓的公式應(yīng)用不死循環(huán)了,但其結(jié)果在N=2時恒為0。用公式應(yīng)用2驗證,我的用戶函數(shù)NthCrossUpMAHighOverBarPos(2,5,CrossUpMAOverBarPos)正確,但在1樓的公式應(yīng)用中加入Commentary語句的公式應(yīng)用1中While內(nèi)首次調(diào)用NthCrossUpMAHighOverBarPos(2,5,CrossUpMAOverBarPos)結(jié)果為0,不知何故?公式應(yīng)用1中While行后第二行插入“Commentary("While中調(diào)用戶函數(shù)前j="+Text(j));”,再次陷入死循環(huán)!現(xiàn)在,用本層的用戶函數(shù)和1樓的公式應(yīng)用仍然死循環(huán)!

    另外,您于3樓的答復(fù)是否表明,用戶自編用戶函數(shù)中調(diào)用(系統(tǒng)自帶用戶函數(shù))時,用戶自編用戶函數(shù)的參數(shù)默認(rèn)值須不小于(系統(tǒng)自帶用戶函數(shù))的參數(shù)默認(rèn)值?

    切盼盡快指教!多謝!

 

有思路,想編寫各種指標(biāo)公式,程序化交易模型,選股公式,預(yù)警公式的朋友

可聯(lián)系技術(shù)人員 QQ: 262069696  點擊在線交流進(jìn)行 有償 編寫!不貴!點擊查看價格!


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

相關(guān)文章

    沒有相關(guān)內(nèi)容
主站蜘蛛池模板: www.com.av| 亚洲gv天堂无码男同在线观看| 青梅竹马嗯哦ch| 国产超碰人人模人人爽人人喊 | 青草青草久热精品视频在线观看 | 欧美丰满熟妇乱XXXXX网站| 北条麻妃毛片在线视频| 91视频综合网| 国内不卡一二三四区| 中文亚洲日韩欧美| 日韩精品专区av无码| 亚洲欧美综合在线天堂| 精品国产欧美精品v| 国产在线国偷精品免费看| 5566中文字幕| 天天躁夜夜躁狠狠躁2021西西| 久久久不卡国产精品一区二区| 欧洲美熟女乱又伦av影片| 亚洲色大成网站WWW尤物| 美女把尿口扒开给男人桶视频| 国产成人A∨激情视频厨房| 91在线|亚洲| 女人pp被扒开流水了| 中文字幕视频在线| 曰皮全部过程视频免费国产30分钟| 亚洲欧美色一区二区三区| 秋葵视频在线高清免费下载| 国产亚洲欧美成人久久片| 四虎在线最新永久免费| 国内精品久久久久久无码不卡| 一本色道久久综合亚洲精品高清| 日韩中文字幕在线一区二区三区| 亚洲大尺度无码无码专区| 狠狠躁天天躁无码中文字幕图| 四虎www成人影院| 香蕉视频911| 国产毛多水多高潮高清| 78成人精品电影在线播放 | 欧美日韩国产一区二区三区欧| 免费看美女脱衣服| 老司机激情影院|