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

想問一下關于全局變量的問題,誰能給解答一下 [開拓者 TB]

  • 咨詢內容: 我想問一下關于全局變量的問題。關于這個程序,1,全局變量必須初始化嗎?2這個程序是從全局變量初始化的語句先執行嗎?但是為什么執行出來的結果是else if那句放在最前面?3在語句  if (Date+Time > bartime)中bartime不是賦值是0嗎,怎么跟Date+Time比較大小。
    Vars
            NumericSeries TickCnt;
            Numeric bartime;
    Begin
            bartime = GetGlobalVar(0);
            if (bartime == InvalidNumeric)//bar時間初始化
            {
                bartime = 0;
                SetGlobalVar(0,bartime);
                TickCnt = 1;
                SetGlobalVar(1,TickCnt);
                FileAppend("d:\\Sample_13.log","Bartime ="+DateTimeToString(date+time) +"\t計數器初始化, Global(0) = "+text(bartime)+ "\tGlobal(1) = "+Text(TickCnt));
                   
            }
       if (Date+Time > bartime)
       {
               bartime = Date + Time;
               SetGlobalVar(0,bartime);
               TickCnt = 1;
               SetGlobalVar(1,TickCnt);
               FileAppend("d:\\Sample_13.log","Bartime = "+DateTimeToString(date+time)+"\t新K線產生,Global(0) = "+DateTimeToString(bartime)+ "\tGlobal(1) = "+Text(TickCnt));
             
       }
       Else If (Date+Time==bartime)
       {
               TickCnt = GetGlobalVar(1) + 1;
               SetGlobalVar(1,TickCnt);
               FileAppend("d:\\Sample_13.log","Bartime = "+DateTimeToString(date+time)+"\t原K線增加計數,Global(0) = "+DateTimeToString(bartime)+"\t Global(1) = "+Text(TickCnt));
       }
            
       Commentary("TickCnt="+text(TickCnt));
    End.

     

  • TB技術人員: 1.并沒有規定全局變量必須要初始化后方可使用。未賦值前,全局變量的初值是無效值。如你所貼的例子里,全局變量就沒有初始化的呀。
    2.不是很理解你的問題。代碼是按從上向下的順序開始 執行的,滿足條件的,就執行條件內語句,不滿足的條件,則不會執行條件內語句啊。在實時行情中的最后K線上,是會滿足else if里的內容并執行,但不會是else if放在最前面。
    3.請仔細看代碼,只有在bartime==invalidnumeric時,才會給bartime賦值為0,其它條件下均不為0.

     

  • TB客服: 您好,比如說if (Date+Time > bartime)語句,bartime之前并沒有賦值,這個時候怎么比較呀?

     

  • 網友回復: Bartime = 2014-08-26 15:14:00        原K線增加計數,Global(0) = 2014-08-26 15:14:00         Global(1) = 2
    Bartime =2014-08-19 11:15:00        計數器初始化, Global(0) = 0        Global(1) = 1
    Bartime = 2014-08-19 11:15:00        新K線產生,Global(0) = 2014-08-19 11:15:00        Global(1) = 1
    Bartime = 2014-08-19 11:20:00        新K線產生,Global(0) = 2014-08-19 11:20:00        Global(1) = 1
    Bartime = 2014-08-19 11:25:00        新K線產生,Global(0) = 2014-08-19 11:25:00        Global(1) = 1
    Bartime = 2014-08-19 13:00:00        新K線產生,Global(0) = 2014-08-19 13:00:00        Global(1) = 1
    Bartime = 2014-08-19 13:05:00        新K線產生,Global(0) = 2014-08-19 13:05:00        Global(1) = 1
    Bartime = 2014-08-19 13:10:00        新K線產生,Global(0) = 2014-08-19 13:10:00        Global(1) = 1
    您看這是 執行出來的程序,為什么把這句放在第一句?Bartime = 2014-08-26 15:14:00        原K線增加計數,Global(0) = 2014-08-26 15:14:00         Global(1) = 2

     

  • 網友回復:
    yekunpeng 發表于 2014-8-27 10:52
    Bartime = 2014-08-26 15:14:00        原K線增加計數,Global(0) = 2014-08-26 15:14:00         Global(1) = 2
    Bartime = ...

    我建議你按如下方法來測試一下好不好?
    1.將原有的d盤下的sample_13的記錄文件全部刪掉
    2.重新打開一個圖表,將樣本數設置為10或20;
    3.在圖表上插入該公式應用
    4.打開指定路徑下的日志文件,看看內容是啥。

    我這里測試得到的結果如下截圖
    yyy.png (42.97 KB, 下載次數: 0) 2014-8-27 11:24:54 上傳 下載次數: 0

 

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

可聯系技術人員 QQ: 1145508240  點擊這里給我發消息進行 有償 編寫!不貴!點擊查看價格!


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

相關文章

    沒有相關內容
主站蜘蛛池模板: 第一福利官方导航| 免费在线视频a| 日产乱码卡一卡2卡3卡.章节| 亚洲精品中文字幕乱码影院| 草久视频在线观看| 国产精品国产三级在线专区 | 老司机成人影院| 国产欧美精品一区二区| av潮喷大喷水系列无码| 护士的小嫩嫩好紧好爽在线播放| 亚洲人成网站免费播放| 琪琪色在线播放| 国产AV一区二区三区传媒| 日韩在线第三页| 国内外一级毛片| 一区二区中文字幕在线观看| 日本老熟老太hd| 亚洲伦理一区二区| 污视频免费网站| 出包王女第四季op| 萌白酱在线视频| 国产激情一区二区三区在线观看| 99久久人妻精品免费一区| 成人品视频观看在线| 久久夜色精品国产网站| 欧美一级欧美三级在线观看 | 77777亚洲午夜久久多喷| 嫩草成人永久免费观看| 久久99精品久久久久久动态图| 最近最新中文字幕完整版免费高清| 亚洲色偷偷色噜噜狠狠99网| 综合网激情五月| 国产偷国产偷亚洲高清日韩| www.尤物在线| 污网站在线观看免费| 嘟嘟嘟www在线观看免费高清| 黑人巨茎大战俄罗斯美女| 国产精品自在线观看剧情| eeuss影影院www在线播放| 成人年无码AV片在线观看| 久久久午夜精品理论片|