2009年7月3日 星期五
程式交易自動下單,奇狐也行!
這一篇我歸類在交易工具中,我只是想把一篇網友已經實際使用奇狐來做"自動下單"介紹拉過來。因為來這個Blog的朋友應該多數都會對程式交易有興趣。
原出處:http://dt.idv.tw/viewthread.php?tid=299&extra=page%3D1
作者:阿酷
---------------原文開始----------------
各位朋友好:
以下我將說明個人運用奇狐與自動下單機執行程式交易2年多來的經驗談,及一些個人認為必須的除錯保險處理機制。
在1個月之前,本人還是一直承受自動程式交易過程中,掛載有奇狐及自動下單機等軟體的電腦,在執行自動交易時會有當機或造成自動交易流程停擺之困擾。
所幸在個人學習、搜索vbs等教學網頁時,發現一個可能解決我多年困擾的方法,但為求慎重我本人於98年2月22日至今天98年3月25日,這1個月的時間內,個人先嘗試此方法是否可行且穩定,有了結論之後才敢分享給朋友們應用、以期使朋友們的程式交易環境更趨穩定與安全。
在這1個月的時間內,本人的交易電腦共運行了800多筆的交易,實驗結果→「每筆均成功」且電腦主機穩定到不可思議,就連快市中急挫急拉的即時盤都不會有所問題。
所以經過了這段時間的客觀實驗,我也較能主觀的認為,我已經找到解決之道了。
以下將先說明一些必要的注意事項:
以免朋友們直接複製運用而不知其原理,反而造成困擾、失敗;其實我要說的只是要表達「您還要再檢查看看的意思」
注意事項:
1.若您掛寫於奇狐內的vbs輸出文字檔的「路徑」有資料夾的設定,那您要先確認一下這個資料夾是「已經建立了嗎」,或者您把文字檔生成的路徑都指向c:\磁碟機,這樣就不會因為自已的疏忽忘了新建資料夾,那您叫文字檔要生成存在那呢?不要懷疑就是有的朋友會忘了。
2.把生成的文字檔「手動刪除它」,再開啟奇狐開程式畫面,看看文字檔是否會「自動再生成」,這也是應該要作的,但還是不要懷疑就是有的朋友會忘了。
ok了就這兩個本來就要知道但必須再度提醒各位的重點。
以下的兩個圖是我以前盤中所擔心的
1.電腦主機發出「執行vbs出錯」的視窗
2.選除這個視窗後造成奇狐當掉的視窗
各位朋友好:
以下我將說明個人運用奇狐與自動下單機執行程式交易2年多來的經驗談,及一些個人認為必須的除錯保險處理機制。
在1個月之前,本人還是一直承受自動程式交易過程中,掛載有奇狐及自動下單機等軟體的電腦,在執行自動交易時會有當機或造成自動交易流程停擺之困擾。
所幸在個人學習、搜索vbs等教學網頁時,發現一個可能解決我多年困擾的方法,但為求慎重我本人於98年2月22日至今天98年3月25日,這1個月的時間內,個人先嘗試此方法是否可行且穩定,有了結論之後才敢分享給朋友們應用、以期使朋友們的程式交易環境更趨穩定與安全。
在這1個月的時間內,本人的交易電腦共運行了800多筆的交易,實驗結果→「每筆均成功」且電腦主機穩定到不可思議,就連快市中急挫急拉的即時盤都不會有所問題。
所以經過了這段時間的客觀實驗,我也較能主觀的認為,我已經找到解決之道了。
以下將先說明一些必要的注意事項:
以免朋友們直接複製運用而不知其原理,反而造成困擾、失敗;其實我要說的只是要表達「您還要再檢查看看的意思」
注意事項:
1.若您掛寫於奇狐內的vbs輸出文字檔的「路徑」有資料夾的設定,那您要先確認一下這個資料夾是「已經建立了嗎」,或者您把文字檔生成的路徑都指向c:\磁碟機,這樣就不會因為自已的疏忽忘了新建資料夾,那您叫文字檔要生成存在那呢?不要懷疑就是有的朋友會忘了。
2.把生成的文字檔「手動刪除它」,再開啟奇狐開程式畫面,看看文字檔是否會「自動再生成」,這也是應該要作的,但還是不要懷疑就是有的朋友會忘了。
ok了就這兩個本來就要知道但必須再度提醒各位的重點。
以下的兩個圖是我以前盤中所擔心的
1.電腦主機發出「執行vbs出錯」的視窗
2.選除這個視窗後造成奇狐當掉的視窗
就是這樣,就造成了自動程式交易環境的破壞與流程的不存在,所以風險就出現了。
在之前我會寫個簡單的autoit執行檔,自動偵測及回復奇狐等下單環境來解決危機,且前也都還留著,但用到的機會可能不大了,但還是建議要有這樣的機制,但基於每個人的電腦環境不同,有機會再詳述了。
進入主題:
1.一般掛載於奇狐內的vbs程式碼如下:(這裡以生成3個文字檔為例)
2.答案揭曉:(目前我用的VBS程式碼)
差別只在於:
各位朋友好:
以下我將說明個人運用奇狐與自動下單機執行程式交易2年多來的經驗談,及一些個人認為必須的除錯保險處理機制。
在1個月之前,本人還是一直承受自動程式交易過程中,掛載有奇狐及自動下單機等軟體的電腦,在執行自動交易時會有當機或造成自動交易流程停擺之困擾。
所幸在個人學習、搜索vbs等教學網頁時,發現一個可能解決我多年困擾的方法,但為求慎重我本人於98年2月22日至今天98年3月25日,這1個月的時間內,個人先嘗試此方法是否可行且穩定,有了結論之後才敢分享給朋友們應用、以期使朋友們的程式交易環境更趨穩定與安全。
在這1個月的時間內,本人的交易電腦共運行了800多筆的交易,實驗結果→「每筆均成功」且電腦主機穩定到不可思議,就連快市中急挫急拉的即時盤都不會有所問題。
所以經過了這段時間的客觀實驗,我也較能主觀的認為,我已經找到解決之道了。
以下將先說明一些必要的注意事項:
以免朋友們直接複製運用而不知其原理,反而造成困擾、失敗;其實我要說的只是要表達「您還要再檢查看看的意思」
注意事項:
1.若您掛寫於奇狐內的vbs輸出文字檔的「路徑」有資料夾的設定,那您要先確認一下這個資料夾是「已經建立了嗎」,或者您把文字檔生成的路徑都指向c:\磁碟機,這樣就不會因為自已的疏忽忘了新建資料夾,那您叫文字檔要生成存在那呢?不要懷疑就是有的朋友會忘了。
2.把生成的文字檔「手動刪除它」,再開啟奇狐開程式畫面,看看文字檔是否會「自動再生成」,這也是應該要作的,但還是不要懷疑就是有的朋友會忘了。
ok了就這兩個本來就要知道但必須再度提醒各位的重點。
以下的兩個圖是我以前盤中所擔心的
1.電腦主機發出「執行vbs出錯」的視窗
2.選除這個視窗後造成奇狐當掉的視窗
就是這樣,就造成了自動程式交易環境的破壞與流程的不存在,所以風險就出現了。
在之前我會寫個簡單的autoit執行檔,自動偵測及回復奇狐等下單環境來解決危機,且前也都還留著,但用到的機會可能不大了,但還是建議要有這樣的機制,但基於每個人的電腦環境不同,有機會再詳述了。
進入主題:
1.一般掛載於奇狐內的vbs程式碼如下:(這裡以生成3個文字檔為例)
<%
Dim fso, MyFile1,fso2, MyFile2,fso3, MyFile3
IA1 = FFL.VarData("IA1")
Set fso = CreateObject("Scripting.FileSystemObject")
Set MyFile1= fso.CreateTextFile("c:\IA1.txt", True)
MyFile1.WriteLine(IA1)
MyFile1.Close
IA2 = FFL.VarData("IA2")
Set fso2 = CreateObject("Scripting.FileSystemObject")
Set MyFile2= fso2.CreateTextFile("C:\IA2.txt", True)
MyFile2.WriteLine(IA2)
MyFile2.Close
IA3 = FFL.VarData("IA3")
Set fso3 = CreateObject("Scripting.FileSystemObject")
Set MyFile3= fso3.CreateTextFile("C:\IA3.txt", True)
MyFile3.WriteLine(IA3)
MyFile3.Close
%>
2.答案揭曉:(目前我用的VBS程式碼)
<%
on error resume next
Dim fso, MyFile1,fso2, MyFile2,fso3, MyFile3
IA1 = FFL.VarData("IA1")
Set fso = CreateObject("Scripting.FileSystemObject")
Set MyFile1= fso.CreateTextFile("c:\IA1.txt", True)
MyFile1.WriteLine(IA1)
MyFile1.Close
IA2 = FFL.VarData("IA2")
Set fso2 = CreateObject("Scripting.FileSystemObject")
Set MyFile2= fso2.CreateTextFile("C:\IA2.txt", True)
MyFile2.WriteLine(IA2)
MyFile2.Close
IA3 = FFL.VarData("IA3")
Set fso3 = CreateObject("Scripting.FileSystemObject")
Set MyFile3= fso3.CreateTextFile("C:\IA3.txt", True)
MyFile3.WriteLine(IA3)
MyFile3.Close
err.clear
%>
差別只在於:
<%
on error resume next
err.clear
%>
對只差在這裡,在<% %>裡的第1行加入on error resume next 而在最後1行加入err.clear
就是這短短的兩行讓我找了2年快6個月,這段vbs碼用法如下:
On Error Resume Next 會使程式從接著發生錯誤陳述式之後的陳述式繼續執行。或是從接著含有 On Error Resume Next 陳述式之程序的陳述式繼續執行。這個陳述式可以使程式不管執行階段錯誤而繼續執行下去。您可以將錯誤處理常式放在錯誤會發生的地方,而不必另放在同一程序裏的其它位置。當另一個程序被呼叫的時候,On Error Resume Next 不會發生作用。所以如果您希望常式裏有自建錯誤處理常式,您應該在每個呼叫的常式裏執行 On Error Resume Next 陳述式。
個人看法如下:
1.一般朋友掛載於奇狐內的vbs碼,是「絕對正確的」,這也是很多朋友們或是奇狐論譠等朋友一直不解的疑惑,或者就是這樣讓奇狐一直不敢大力宣揚,奇狐「是能配合自動下單機作自動程式交易的決策軟體」;我一直怕奇狐會在台灣不見了,因為我怕奇狐淪為畫面好、聲光佳的「看盤」軟體,我用奇狐6年多了,我是要買來「看」的嗎><,在hts、ts等能配合自動下單機自動運行自動程式交易的今天,若還…那我看…,實在太愛奇狐了,所以我很怕「失去它」。
好在我解決了,希望大家也愈來愈愛奇狐,因為奇狐是一級棒的,過了今天應該用奇狐配合自動下單機的朋友們會大大的增加吧,真好^^奇狐萬歲。
2.@@拉得有點遠了,拉回話題既然掛寫入奇狐內的vbs程式碼是正確的,那怎會出現「執行vbs出錯」這個警示視窗呢?就我有限的知識所知原因可能在於「主控電腦→就是您的電腦主機」基於提醒或者察覺,「多個」軟體或執行檔,「同時」針對一個檔案(就是那個文字檔),作存取的動作,又比如說,電腦主機是爸爸,而奇狐是哥哥、下單機是弟弟,哥哥與弟弟在爭搶一個「糖果(就是文字檔拉)」,這時老爸察覺了,糖果是要給誰好呢?所以電腦主機就出現「執行vbs出錯」的警示視窗,來告訴使用者,您自已來解決吧。
就是這個意思吧,所以重點在於「不要讓電腦主機來出現『執行vbs』出錯」的這個視窗,或者說,我們自動的表明說已知道了,這是正常的,您不用來告訴我。
而on error resume next這段語句,就有這樣的功能,它是一段「除錯且讓vbs程式碼繼續執行下去」的語句,也就有「不讓電腦主機出現提醒視窗」的作用。
探討:
1.掛載於奇狐內的vbs程式碼是公認絕對正確的。
2.雖然您會主觀的認知,我用的on error resume next這段語句,是除錯語句,代表「若真的有錯」它也會讓vbs程式繼續執行下去;您或許還會有疑問,這樣行嗎?
3.您去搜索一下網路我用的這段vbs語句,它也算是種「保險」機制,因為電腦聰明但總會有不明之衝突,這時電腦主機處理不了,當然會叫使用者自已處理了,所以會有提醒視窗,又偏偏提醒視窗是「多餘的」因為第1點就說明:「掛載於奇狐內的vbs程式碼是公認絕對正確的,且實際上也是能正常生成文字檔,且若是單純開啟奇狐而沒其他軟體之狀態下,電腦是沒有問題的。
4.偏偏電腦主機說老哥您自已來處理,哥哥弟弟搶糖果的狀況(出現那個執行vbs出錯的視窗),而您不去理它,久了它就真的當給您看了。
5.所以用了這句語法後,就等於自動的告訴電腦主機,您不用再出現「執行vbs出錯」的視窗,而不出現這個視窗,奇狐就不會當了^^。
以上祝各位網友從此投資順利、一生均安。
我是阿酷
-------------------------原文結束------------------------------
最後,提醒您:不管使用什麼軟體,用那一種下單機都一樣,請在真的投入金錢上線之前,多做一段時日的"模擬下單"。不要隨便的跟自己的錢開玩笑。
熱門文章
-
在 MultiCharts 或是 TradeStation 中都有 Set開頭的一些指令可以運用,比如 停損─SetStopLoss、停利─SetProfitTarget,這些都是所謂的 ThisBar 模式運作的特殊指令,它們讓你在條件成立的當根K棒就可以做出對應動作,而不是一...
-
在 MultiCharts 裡,本來我以為 EntryPrice(0) 就代表了最後一個進場的成本價,經過測試後,確定了 EntryPrice( 0 ) 不是最後一次進場價,而是最後進場方向的第一筆價格(可查閱"程式交易語法大全 page 255")。什麼意思...
-
去年開發「 把策略訊號轉換成選擇權去執行 」的時候,一直有個實務上的困擾:標的物價格。 我要把訊號轉成選擇權的時候,事前不能精準的知道要交易哪一個履約價、Put 或 Call,需要在訊號或市況變化的當下才決定交易標的。但在 MultiCharts 的運作架構上,需要開啟欲取...
-
殷鑑不遠。這是 2019/07/03 的台指期貨,在大約 10來秒的時間之中,台指閃崩了近 500點,並且快速回復。這樣類似的事件,在台指不是空前,也不會絕後,即使台灣期貨交易所有所謂的動態穩定機制在運作,這一天,據我所聽聞到也有不少友人在這很短的時間內... 中槍了。這裡,我們...