pizzz318 發表於 12-7-18 11:46

Amibroker 切換視窗的問題

各位好, 小弟目前用ABTW 讓AmiBroker接收即時資料, 自動產生訊號, 透過API或是策略檔給下單大師下單

但是有一個問題...

就是畫面一定要停留在圖表那頁, 不能亂動, 一旦切換到其他視窗或是其他頁籤, 程式似乎就不會運作(不會產生下單訊號), 就算用AA設每2秒 scan也是一樣

是否是AB的先天限制, 還是小弟哪裡設定有問題?

pizzz318 發表於 12-7-18 13:15

樓上的大大, 感謝您的回應, 那篇帖子我之前有爬到過
但是我的問題不太一樣, 不是滑鼠點到其他根歷史K線造成輸出的倉位錯誤
而是當視窗沒有在focus的時候, 或是AB的頁籤沒有在圖表那頁的時候, 就不會輸出TXT檔
狀況有點不太一樣...

sdnian 發表於 12-7-18 13:21

不同視窗.. 是指同一個商品不同的 afl 嗎?

pizzz318 發表於 12-7-18 13:25

sdnian 發表於 12-7-18 13:21 static/image/common/back.gif
不同視窗.. 是指同一個商品不同的 afl 嗎?

不是, 是切換到其他軟體去看一下別的東西, 例如瀏覽器, 或是下單大師等等

kilroy 發表於 12-7-18 13:25

會嗎?                                              

pizzz318 發表於 12-7-18 13:39

補充一下, 我是在win7 64上面跑 32bit 的AB 5.50.2, 會不會跟這有關係?

kilroy 發表於 12-7-18 13:45

要不要貼個寫出倉位的碼來看看

         

good88 發表於 12-7-18 13:48

有沒有可能你的電腦不夠好??????{:4_172:}

pizzz318 發表於 12-7-20 10:21

自問自答一下, 這問題困擾了幾天, 終於找到solution
因為AFL是在 price 有 refresh 的時候會去執行, 例如有即時資料進來, 或是barreplay
而為了節省資源, AB預設要在程式visible的時候才會更新price
所以要在程式碼前面加上
RequestTimedRefresh( interval, onlyvisible = True );

例如我現在是用
RequestTimedRefresh( 0.5, False );

這樣AB每0.5秒會去更新線圖, 然後AB不在focus或是minimize也沒關係, price一樣會更新, 這樣AFL才會一直有在執行

--
沒人有一樣的問題我還蠻驚訝的, 難道大家都有專用的電腦可以開著不去動他?@@

sdnian 發表於 12-7-20 13:24

本帖最後由 sdnian 於 12-7-20 13:31 編輯

pizzz318 發表於 12-7-20 10:21 static/image/common/back.gif
自問自答一下, 這問題困擾了幾天, 終於找到solution
因為AFL是在 price 有 refresh 的時候會去執行, 例如有 ...
這個問題引起我的好奇, 所以我做了一些測試.. 我的結論是.. (如果有錯請糾正)
1. AB 的視窗只要不最小化, 是不是有 focus 沒影響. 換句話說, 切換到其他視窗, AB 的視窗在背景 (不是最小化), 這樣 afl 還是有在執行. (也許這可以解釋 pizzz318 大最後的問題, 好像沒有人遇到同樣的問題? 也許大多數人操作的習慣是直接切換視窗, 而不特別做最小化.)

2. afl 要執行, 除了報價有更新之外, 還必須是 AB 裡的 Pane 有 focus (如果 Pane 是最大化), 或者 Pane 沒有最大化. (這是指同時有多個 Pane 的狀況)

3. pizzz318 大說的方法, 不管任何狀態都能確保 afl 有在執行.

PS: 我的環境是 Win7 x64, AB x64 5.50.5..



vedel 發表於 12-7-28 02:39

這個問題我好像有發生過,不過後來我是另外寫程式呼叫scan function,還可以自定時間比方說7min 5秒 8之類的@@".
頁: [1]
查看完整版本: Amibroker 切換視窗的問題