人人爽天天爽夜夜爽qc-人人爽天天爽夜夜爽曰-人人天天爱天天做天天摸-人人天天夜夜-色网站在线-色网站在线看

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

求助死循環 [開拓者 TB]

 

  • 咨詢內容: 我的用戶函數:
    // 簡稱: NthCrossUpMAHighOverBarPos
    // 名稱: 回溯第N個上纏繞MA頂值、收過MABar索引值
    // 類別: 用戶函數
    // 類型: 用戶函數
    // 輸出: 數值型
    //------------------------------------------------------------------------
    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
    //------------------------------------------------------------------------
    我的公式應用:
    // 簡稱: TproNthCrossUpMAHighOverBarPos
    // 名稱: 驗證回溯遞增第N個上纏繞MA頂值、收過MABar索引值
    // 類別: 公式應用
    // 類型: 用戶應用
    // 輸出:
    //------------------------------------------------------------------------
    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
    //------------------------------------------------------------------------

    上述公式應用插入超級圖表,出現死循環,請教TB老師解決辦法,多謝!

     

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

     

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

     

  • 網友回復: 本帖最后由 wwr_5817 于 2012-12-19 15:05 編輯

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

     

  • 網友回復:
    請管理員tradeblazer繼續解答我的問題!
    我的用戶函數:
    // 簡稱: NthCrossUpMAHighOverBarPos
    // 名稱: 回溯第N個上纏繞MA頂值、收過MABar索引值
    // 類別: 用戶函數
    // 類型: 用戶函數
    // 輸出: 數值型
    //------------------------------------------------------------------------
    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
    //------------------------------------------------------------------------
    我的公式應用1:
    / 簡稱: TproNthCrossUpMAHighOverBarPos
    // 名稱: 驗證回溯遞增第N個上纏繞MA頂值、收過MABar索引值
    // 類別: 公式應用
    // 類型: 用戶應用
    // 輸出:
    //------------------------------------------------------------------------
    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中調用戶函數前i="+Text(i));
             Commentary("While中調用戶函數前j="+Text(j));
             Commentary("While中調用戶函數前MyBarPos="+Text(MyBarPos));
             Commentary("While中調用戶函數前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
    //------------------------------------------------------------------------
    我的公式應用2:
    // 簡稱: TNthCrossUpMAHighOverBarPos
    // 名稱: 驗證回溯第N個上纏繞MA頂值、收過MABar索引值
    // 類別: 公式應用
    // 類型: 用戶應用
    // 輸出:
    //------------------------------------------------------------------------
    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樓的答復,我在1樓的公式應用不死循環了,但其結果在N=2時恒為0。用公式應用2驗證,我的用戶函數NthCrossUpMAHighOverBarPos(2,5,CrossUpMAOverBarPos)正確,但在1樓的公式應用中加入Commentary語句的公式應用1中While內首次調用NthCrossUpMAHighOverBarPos(2,5,CrossUpMAOverBarPos)結果為0,不知何故?公式應用1中While行后第二行插入“Commentary("While中調用戶函數前j="+Text(j));”,再次陷入死循環!現在,用本層的用戶函數和1樓的公式應用仍然死循環!

    另外,您于3樓的答復是否表明,用戶自編用戶函數中調用(系統自帶用戶函數)時,用戶自編用戶函數的參數默認值須不小于(系統自帶用戶函數)的參數默認值?

    切盼盡快指教!多謝!

 

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

可聯系技術人員 QQ: 262069696  點擊在線交流進行 有償 編寫!不貴!點擊查看價格!


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

相關文章

    沒有相關內容
主站蜘蛛池模板: 天天弄天天干 | 成人影视大全 | 刺激一区仑乱 | 草逼视频免费观看 | 国产一级理论片 | 天天插天天透 | 2021精品国夜夜天天拍拍 | 亚洲一区色图 | 日韩福利视频导航 | 亚洲日本va中文字幕婷婷 | 欧美精彩狠狠色丁香婷婷 | 欧日韩视频 | 国产亚洲高清在线精品99 | 国产免费一区二区三区 | 亚洲欧美日韩中另类在线 | 你懂的在线免费观看 | 日本高清中文字幕视频在线 | 天天看天天爽 | 久久99久久99精品免观看麻豆 | 国产精品视频白浆免费视频 | 黄色片视频免费 | 人与鲁牲交持级毛片 | 日本动漫的18涩涩视频 | 18免费视频| 亚洲免费视频观看 | 亚洲欧美在线看 | 国产高清精品一级毛片 | 又粗又黄又猛又爽大片免费 | 亚洲污网站 | 国内外成人免费视频 | 国产高清视频青青青在线 | 在线观看视频一区 | 中文字幕日韩高清版毛片 | 国产在线欧美精品中文一区 | 久久亚洲欧美 | 成人免费播放 | 免费看黄色一级毛片 | 日韩在线观看免费 | 毛片又大又粗又长又硬 | 免费成人在线观看 | 三级三级三级网站网址 |