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

開拓者求N天前的收盤價closD(N)原理,源碼[開拓者公式]

  • 咨詢內容: //------------------------------------------------------------------------
    // 簡稱: CloseD
    // 名稱: 求N天前的收盤價
    // 類別: 用戶函數
    // 類型: 內建函數
    // 輸出: 數值型
    //------------------------------------------------------------------------

    Params
            Numeric daysAgo(2);
    Vars
            NumericSeries barCnt;
            NumericSeries dayClose;
            Numeric i;
            Numeric j;
            Numeric nIndex(0);
            Numeric CBIndex;
    Begin
            CBIndex = CurrentBar;
            If(CBIndex == 0 || Date != Date[1])
            {
                    barCnt = 1;
            }Else
            {
                    barCnt = barCnt + 1;
            }
            dayClose = Close;
                   
            If(daysAgo == 0)
            {
                    return dayClose;//程序化交易 www.tumamayizhan.com
            }Else
            {
                    For i = 1 To daysAgo
                    {
                            If( i == 1)
                            {       
                                    j = 0;
                            }Else
                            {
                                    j = j + BarCnt[j];                               
                            }
                            If (j > CBIndex )
                                    Return InvalidNumeric;
                            nIndex = nIndex + BarCnt[j];
                    }
                    Return dayClose[nIndex];
            }
    End

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

     

  • TB技術人員:
    BarCnt記錄的是從當天第一根K線到當前K線的K線數
    所以回溯BarCnt就可得到前一天最后一K的收盤價,也就是CloseD(1)
    當回溯天數大于1,比如2:
    1. For i = 1 To daysAgo

    2.                 {

    3.                         If( i == 1)

    4.                         {      

    5.                                 j = 0;

    6.                         }Else

    7.                         {

    8.                                 j = j + BarCnt[j];                              

    9.                         }

    10.                         If (j > CBIndex )

    11.                                 Return InvalidNumeric;

    12.                         nIndex = nIndex + BarCnt[j];
    復制代碼i = 1時,j=0,nIndex = 0 + BarCnt[0] = BarCnt(cxh99.com),也就是回溯到前一天的最后一K;
    i = 2,j = 0 + BarCnt[0] = BarCnt
    nIndex = BarCnt+BarCnt[BarCnt]
    也就是回溯到前一天的前一天的最后一K;

    OK,以此類推。

     

  • TB客服: 謝謝樓上,有一點懂了;
    但是還有一點不明白,barCnt是NumericSeries,也就是序列,但是barCnt的每個元素并沒有初始賦值呀,真是奇怪了。
    比如:nIndex = BarCnt+BarCnt[BarCnt];
    BarCnt[BarCnt]沒有初始賦值,就使用,不會出錯嗎?

     

  • 網友回復: 比如以下代碼:
    Begin
            CBIndex = CurrentBar;
            If(CBIndex == 0 || Date != Date[1])
            {
                    barCnt = 1;
            }Else
            {
                    barCnt = barCnt + 1;
            }//www.tumamayizhan.com

    如果第一次執行Else里面的代碼,barCnt = barCnt + 1;而barCnt沒有初始值,不會出錯嗎?

     

  • 網友回復: 程序是從圖上第一根K線開始執行的

    此時CBIndex == 0成立,barCnt = 1,沒有問題

 

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

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

 


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

相關文章

    沒有相關內容
  主站蜘蛛池模板: wc女厕所散尿hd| 亚洲乱码一区av春药高潮| 久久久久国产一区二区三区| 爱情岛论坛亚洲永久入口口| 国产卡1卡2卡三卡在线| 97精品免费视频| 成人动漫综合网| 人与动人物A级毛片在线| 韩国伦理电影我妻子的秘密| 国内精品自产拍在线观看| 亚洲人配人种jizz| 精品亚洲成a人片在线观看| 国模大胆一区二区三区| 中文无线乱码二三四区| 美女图片在线视频精品播放| 国产真实伦在线视频免费观看| chinese体育生gayxxxxhd| 欧美大片va欧美在线播放| 加勒比色综合久久久久久久久| 99re热久久这里只有精品首页| 成人毛片18女人毛片免费96| 亚洲av日韩综合一区久热| 美女把腿扒开让男人桶爽国产| 国产熟睡乱子伦视频| 99热在线播放| 日韩欧美亚洲视频| 亚洲白嫩在线观看| 精品国产品香蕉在线观看| 国产又大又长又粗又硬的免费视频| 4444在线观看片| 天天爽夜夜爽夜夜爽精品视频 | 亚洲精品欧美精品日韩精品 | 久久精品无码专区免费青青| 欧美综合图片一区二区三区| 免费观看中文字幕| **一级一级毛片免费观看| 女人与公狗交酡过程高清视频| 中文字幕人妻偷伦在线视频| 日韩a无吗一区二区三区| 亚洲午夜精品久久久久久人妖| 特级毛片在线观看|