您現在的位置:程序化交易>> 期貨公式>> 交易開拓者(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  點擊這里給我發消息進行 有償 編寫!不貴!點擊查看價格!


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

相關文章

    沒有相關內容
主站蜘蛛池模板: 高清一区二区三区视频| 丰满人妻一区二区三区视频53 | 欧美精品中文字幕亚洲专区| 国产午夜无码视频免费网站| 99re热久久这里只有精品6 | 四虎永久免费影院| 一个色中文字幕| 婷婷综合激六月情网| 久久经典免费视频| 男女一进一出抽搐免费视频| 无遮挡辣妞范1000部免费观看| 成**人特级毛片www免费| 免费一级国产大片| 黄色毛片在线播放| 坐公交车弄了2个小时小视频| 亚洲精品成人片在线播放| 国产精品揄拍一区二区久久| 无码国产色欲XXXXX视频| 亚洲欧美国产va在线播放| 韩国三级中文字幕hd久久精品| 天天射天天干天天色| 久久精品国产免费观看| 波多野结衣中文丝袜字幕| 国产一区二区三区免费在线视频| 5060午夜一级一片| 欧美成人免费午夜全| 又大又粗又爽a级毛片免费看| 四虎国产精品高清在线观看| 无翼日本全彩漫画大全全彩| 亚洲五月丁香综合视频| 特级毛片全部免费播放| 嘟嘟嘟www在线观看免费高清 | 成人午夜短视频| 久久国产免费观看精品| 欧美videosdesexo肥婆| 亚洲欧美日韩国产| 狼群视频在线观看www| 国产成人免费A在线视频| 337p日本欧洲亚洲大胆色噜噜| 女神们的丝袜脚战争h| 中文字幕第二页|