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

[模型]深刻理解交易開拓者的執行流程[開拓者公式]

相關標簽: 開拓者程序化交易 、 交易開拓者 、 交易開拓者論壇 、 開拓者交易軟件 、 交易開拓者源碼破解 、 交易開拓者破解 、 交易開拓者無法使用 、 交易開拓者百分比止盈 、 tb交易開拓者 、

斷斷續續接觸TB一個多月了,乍看之下,TB似乎比較簡單,就是一個Bar一個Bar地去運行自己編寫的公式。 通過模擬帳戶測試了一段時間,才發現有很多東西需要進一步去弄清楚。 問題:TB在歷史數據測試中的運行機制和交易時間的運行機制有何區別? 下面是我的理解,請大家來不斷修改和完善。我認為,很多交易程序中的問題,都是由于對TB的運行機理不清楚而埋下了隱患。 <strong>【在歷史數據測試時】</strong>假設商品樣本中有2000條K線,TB的執行過程是: 1、先顯示出2000條K線。此時,由于有歷史數據,每根K線的數據都是現成的。最后一根K線,也是歷史數據。所有的數據都是靜止的,也沒有新的數據進來。 2、從第一條K線開始(最左邊的一條),開始執行交易公式,讀取參數值。然后,初始化局部變量,執行begin和end之間的代碼。 3、然后,進入下一根K線(Bar),再初始化局部變量,執行begin和end之間的代碼。 4、依次處理所有的K線。 5、在某根K線上,發現符合開倉條件,于是在超級圖表上顯示出開倉標識,并修改marketposition的值。 6、繼續運行下面的K線。 7、在某根K線上,發現符合平倉條件,于是在超級圖表上顯示出平倉標識,并在開倉和平倉價之間畫出連線。若該筆交易盈利,則用紅色連線,若該筆交易虧損,則用綠色連線。 8、繼續運行后面的K線,直到最后一條。 值得注意的是: 1、由于是歷史數據,每根Bar都是現成的,是沒有Tick的概念的。交易代碼,在每根bar上運行一遍。 2、由于參數是不能動態改變的,所以,雖然也是程序代碼的一部分,但沒有必要在每根Bar上都讀取一次。只在第一根Bar上讀取參數,以后共用即可。 3、由于是歷史數據,不會再發生改變,所以,不會出現信號時有時無的現象。 4、由于是歷史數據,沒有買賣盤的動態數據,所以,不會出現滑點,也不會出現成交不了的現象。 <strong>【在交易時間前啟動自動交易】</strong>假設商品樣本中有200條數據,假設在開盤前2分鐘啟動TB的自動交易,TB的執行過程是: 1、對于已經存在的200條K線,第一根的BarStatus是0,中間的是1,最后面一根是2。對于BarStatus小于2的K線,只在每根Bar上運行一次交易代碼。 2、從第一根K線,直到第200根K線,在每根K線上運行一次交易代碼。如果發現某些K線符合開倉或平倉條件,只是顯示標識符號,但不實際發出交易指令,因為還沒開盤。 3、開盤后,分筆交易數據(tick)開始傳過來。為了保持實時性,TB就必須對每個tick做出響應,就是在每個tick都運行一次程序代碼。 由此可見,交易時間里,每根最新的Bar上,程序代碼都被多次執行。這一點,和歷史數據測試時明顯不同。 4、由于在最新的一根bar上,交易代碼反復被Tick數據觸發,而此時下一根bar還沒出現,這條Bar的數據中,除了開盤價之外,其他的比如:收盤價、最高價、最低價都在隨著每個Tick的變動而變動。當下一根K線出現的瞬間,這條Bar的所有數據才能被確定下來。 如果交易代碼中的開平倉條件中,用到了close、high、low,則有可能使信號時有時無。同樣的一根Bar上,由于主力的拉升,價格突然走高,符合了買入條件,該Tick出現后,交易代碼執行一次,發現符合買入條件,就發出買入指令。下一筆,價格又被打壓下來,再次執行交易代碼,買入條件又不符合了,但剛才的買入指令已經發出去了,甚至已經成交了。價格如此反復幾次,就會在該Bar上反復買入多次。從而形成反復開倉。如果該Bar最終定型時,價格被打壓回來了,超級圖表上在該Bar上是不會顯示任何交易信號的,但實際上,卻在該Bar上買入了多次。 <strong>【在交易時間內啟動自動交易】</strong>假設商品樣本中有200條數據,假設在開盤后2分鐘啟動TB的自動交易,TB的執行過程是: 1、讀取出200條Bar,其中,有2條還是開盤后剛產生的。 2、在前199根Bar上,每根Bar上執行一次交易代碼。如果發現某些Bar上符合開平倉條件,僅僅顯示交易信號,但不實際發出交易指令。因為你遲到了,剛才的行情已經成為歷史了。 3、在新的Bar上,依據Tick去運行交易代碼。 由此可見,TB的交易指令,應該只能在Barstauts=2且有行情數據時才能發出。這一點,應該是TB內部的運行機制,不需要我們在TB代碼中去再寫一遍。 根據以上的分析,可得知: 1、如果交易代碼中,在開平倉指令外假如if(barstatus==2),則在歷史數據測試中,就不會顯示出交易信號。因為除了最后一根bar之外,前面的Bar都不復合條件。但這樣的代碼,在交易開始后,是可以正常運作的。 問題是,加上這個條件有什么用呢? 在歷史數據測試中,加上顯示不了信號;在交易時間,TB又僅僅處理最新的一根Bar中的Tick,加了也沒用。經常看到別人在代碼中加上barstatus==2,不知道是想干什么用。 2、使用最新Bar的數據去做判斷(Open除外),容易引發誤開倉或反復開倉。要消除,在買賣條件中,就只能用前面K線的數據去做判斷,或使用high>high[1],low<low[1]之類的判斷。 上面是我對TB運行機制的一些粗淺理解,望高手對其中的錯誤之處給與糾正。謝謝!

 

公式源碼導入教程: 【文華財經(贏智 贏順)如何導入模型指標源碼的教程方法】 【博易大師如何導入模型指標源碼的教程方法】 【大智慧新一代公式源碼導入方法教程

 

 

如果以上指標公式不適用于您常用的行情軟件

或者您想改編成選股公式,以便快速選出某種形態個股的話,

可以聯系我們相關技術人員 QQ: 262069696  點擊在線交流進行 有償 改編!

 


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

相關文章

    沒有相關內容
  主站蜘蛛池模板: 欧美一级黄色片免费看| 中文字幕一区日韩精品| 福利视频欧美一区二区三区| 国产特黄特色一级特色大片| 一本大道东京热无码一区| 暖暖直播在线观看| 国产亚洲日韩在线a不卡| 97人妻人人揉人人躁人人| 欧美性69式xxxx护士| 国产国产精品人在线视| 99精品无人区乱码1区2区3区| 日本动态120秒免费| 亚洲大片在线观看| 精品99在线观看| 国产午夜无码福利在线看网站 | 破了亲妺妺的处免费视频国产| 国产在线精品二区赵丽颖 | 四虎精品1515hh| 中文字幕激情视频| 把女人弄爽大黄a大片片| 你懂的网址免费国产| 青草午夜精品视频在线观看| 国产精品无码翘臀在线观看| yy6080新视觉旧里番高清资源| 日本在线免费看片| 亚洲一区中文字幕在线观看| 美女被免费网站在线视| 国产成人综合在线观看网站| 91香蕉国产线在线观看免费| 已婚同事11p| 久久一区二区明星换脸| 最近的2019中文字幕hd| 亚洲欧美日韩在线精品2021 | 在线视频网站WWW色| 久草视频免费在线| 欧美色图在线视频| 免费观看我爱你电影| 日本zzzzwww大片免费| 成人午夜18免费看| 久久精品国产99国产精偷| 欧美日韩欧美日韩|