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

開拓者參數(shù)聲明的數(shù)據(jù)類型錯誤 [開拓者 TB]

  • 咨詢內(nèi)容: Params
            Numeric TimeFrame(1440);   
            // 目標時間周期:月線=40320,周線=10080,日線=1440,4小時線=240
            // 其他1小時內(nèi)的周期等于相應(yīng)的分鐘數(shù),如:1小時=60, 30分鐘=30。。。
            // 支持不規(guī)則分鐘數(shù),如3分鐘,8分鐘,之類都行
            
            Numeric BarsBack(1);
            // 目標時間周期BAR偏移:
            // 1--表示將目標時間周期下的前1根K線數(shù)據(jù)作為與當前Bar對應(yīng)的目標時間周期下的K線數(shù)據(jù)
            // 0--表示將目標時間周期下的截止到目前為止的數(shù)據(jù)轉(zhuǎn)換為與當前BAR對應(yīng)的目標時間周期下K線數(shù)據(jù)
            
            NumericRef oCurBar;                 // 目標時間周期下的Bar索引
            NumericRef oOPenHT;         // 目標時間周期下的開盤價
            NumericRef oHighHT;         // 目標時間周期下的最高價
            NumericRef oLowHT;          // 目標時間周期下的最低價
            NumericRef oCloseHT;        // 目標時間周期下的收盤價
            NumericRef oVolHT;          // 目標時間周期下的成交量
            NumericRef oOpenIntHT;      // 目標時間周期下的持倉量

    Vars
            NumericSeries barCnt;
            NumericSeries CurBar;
            NumericSeries barCntSum;
            NumericSeries OpenHT;
            NumericSeries HighHT;
            NumericSeries LowHT;
            NumericSeries CloseHT;
            NumericSeries VolHT;
            NumericSeries OpenIntHT;
            Numeric CurTime;
            Numeric PreTime;
            bool condition(false);
            Numeric i;
    Begin
            If (TimeFrame == 40320)                 // 月線
            {
                    CurTime = Month;
                    PreTime = Month[1];
            }
            Else If (TimeFrame == 10080)                        // 周線
            {
                    CurTime = IntPart(DateDiff(19700105,Date)/7);
                    PreTime = IntPart(DateDiff(19700105,Date[1])/7);
            }
            Else                                                                        // 其他時間周期
            {
                    CurTime = IntPart((DateDiff(19700105,date)*1440 + Hour*60 + Minute)/TimeFrame);
                    PreTime = IntPart((DateDiff(19700105,date[1])*1440 + Hour[1]*60 + Minute[1])/TimeFrame);
            }
            condition = CurTime != PreTime;

            If (CurrentBar==0)                // 如果是第一根Bar, CurBar=0
            {
                    barCnt = 0;
                    CurBar = 0;
                    OpenHT = Open;
                    HighHT = High;
                    LowHT = Low;
                    CloseHT = Close;
                    VolHT = Vol;
                    OpenIntHT = OpenInt;
            }
            Else
            {
                    If(Condition)               
                    // 如果在目標周期下,屬于另一根K線,則CurBar加1
                    {
                            barCnt = 1;
                            CurBar = CurBar[1] + 1;
                            OpenHT = Open;
                            HighHT = High;
                            LowHT = Low;
                            VolHT = Vol;
                    }Else
                    // 如果在目標周期下,屬于同一根K線,則CurBar不變,但最高價和最低價要記錄價格的變化,成交量要累加
                    {
                            barCnt = barCnt[1] + 1;
                            CurBar = CurBar[1];
                            OpenHT = OpenHT[1];
                            HighHT = Max(HighHT[1],High);
                            LowHT = Min(LowHT[1],Low);
                            VolHT = VolHT[1] + Vol;
                    }
                    // 收盤價和持倉量總是取最新值
                    CloseHT = Close;
                    OpenIntHT = OpenInt;
            }
            
            // 上面的程序,在每根小周期的K線上,記錄了它所屬的大時間周期下的開高低收等值的變化。
            // 接下來,要把在大的時間周期級別上,屬于同一根K線的開高低收這些數(shù)據(jù),記錄在這一組小周期K線的最后一根上。
            barCntSum = barCnt ;
            If(BarsBack == 0)
            // 如果Bar偏移參數(shù)為0,則取每根小周期K線上保留的大時間周期截止到這根小周期K線為止的BAR數(shù)據(jù)
            {
                    barCntSum = 0 ;
            }Else If(BarsBack == 1)
            // 如果Bar偏移參數(shù)為1,則取大時間周期的上一根K線的BAr數(shù)據(jù)
            {
                    barCntSum = barCnt ;
            }Else
            // 如果BAR偏移參數(shù)為其他,則取大時間周期的指定偏移后的那根K線的BAR數(shù)據(jù)
            {
                    For i = 2 To BarsBack
                    {
                            barCntSum = barCntSum + barCnt[barCntSum];
                    }
            }

            // 最后將相應(yīng)的K線數(shù)據(jù)作為引用參數(shù)返回
            oCurBar = CurBar;
            oOpenHT = OpenHT[barCntSum];
            oHighHT = HighHT[barCntSum];
            oLowHT = LowHT[barCntSum];
            oCloseHT = CloseHT[barCntSum];
            oVolHT = VolHT[barCntSum];
            oOpenIntHT = OpenIntHT[barCntSum];
            Return barCnt;
    End

     

  • TB技術(shù)人員: 回復(fù) 1# kspdjm


    公式應(yīng)用中不需要使用NumericRef引用參數(shù)類型

 

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

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


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

相關(guān)文章

    沒有相關(guān)內(nèi)容
主站蜘蛛池模板: 亚洲av永久无码精品水牛影视| 国产午夜精品一区二区三区| 中文字幕日韩一区二区三区不卡| 欧美成年黄网站色视频| 国产chinesehd在线观看| **俄罗斯毛片免费| 女人被男人狂躁视频免费| 久久精品亚洲一区二区三区浴池| 欧美视屏在线观看| 别急慢慢来在线观看 | 欧美sss视频| 免费jlzzjlzz在线播放视频| 荫蒂添的好舒服视频| 国产男女爽爽爽免费视频| 99久高清在线观看视频| 成人国产经典视频在线观看| 久久精品免费视频观看| 欧美性色黄在线视频| 免费a级毛片在线播放| 老师你的兔子好软水好多作文高清 | 成年大片免费视频| 亚洲AV香蕉一区区二区三区| 永世沉沦v文bysnow全文阅读| 冲田杏梨在线精品二区| 草草影院永久在线观看| 国产无遮挡又黄又爽免费网站| 7777奇米四色成人眼影| 天天想你在线视频免费观看| 中文无码字幕中文有码字幕| 日韩电影免费在线观看网站| 亚洲国产成人va在线观看网址| 淫444kkk| 你是我的城池营垒免费观看完整版| 美女被艹免费视频| 国产免费av片在线观看播放| 免费能直接在线观看黄的视频| 国产精品视频第一区二区三区| www中文字幕在线观看| 成人小视频在线观看| 久久久久久久伊人电影| 日韩伦人妻无码|