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


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

相關文章

    沒有相關內容
主站蜘蛛池模板: 亚洲乱码无码永久不卡在线| 搞av.com| 国产免费一区二区三区在线观看| 乱人伦中文字幕电影| 久久国产精品鲁丝片| 黄色网址免费大全| 日本三级欧美三级人妇英文 | 精品99在线观看| 天堂AV无码AV一区二区三区| 亚洲天堂中文网| 9lporm自拍视频在线| 蜜臀AV一区二区| 欧美日韩乱妇高清免费| 国产欧美日韩综合精品一区二区| 久久久久波多野结衣高潮| 精品亚洲成a人无码成a在线观看| 天堂网在线资源www最新版| 啊灬啊灬啊灬快好深用力免费 | 国内大量揄拍人妻精品視頻| 免费边摸边吃奶边叫床视频| lisaannxxxxx| 欧美成人精品第一区二区三区| 国产成人AV综合色| 亚洲人成图片小说网站| 亚洲欧美日韩人成| 日本www.色| 人妻精品久久久久中文字幕69| 4480yy苍苍私人| 成人毛片免费视频| 亚洲成a人片在线观看久| 色就色欧美综合偷拍区a| 国内女人喷潮完整视频| 久久久精品人妻一区亚美研究所| 色婷婷亚洲十月十月色天| 在线黄视频网站| 亚洲欧美日韩综合久久久久| 97色伦图片97综合影院| 日韩欧美亚洲综合一区二区| 免费国产黄网站在线观看视频| 九九视频在线观看6| 小宝极品内射国产在线|