Acer2266 發表於 13-8-31 20:52

EXCEL 轉 TXT 檔

今天下午在研究一些籌碼的東西
目前每天有整理盤後籌碼
但是想擴大他的運用
已經先完成部分 結合到 Multicharts
不過要轉成文字檔
目前想到的是
寫一個VBA每天整理籌碼完畢後
轉存到另外一個文字檔
不知道有沒有人熟悉 excel 和 VBA
有更好的建議

hchsieh 發表於 13-8-31 21:43

報告Acer大,Excel和VBA剛好我有寫過
Acer大是要把Excel裡的資料經過一些處理後,存成Text檔嗎?

Acer2266 發表於 13-8-31 22:00

hchsieh 發表於 13-8-31 21:43 static/image/common/back.gif
報告Acer大,Excel和VBA剛好我有寫過
Acer大是要把Excel裡的資料經過一些處理後,存成Text檔嗎? ...

剛剛用很偷懶的方法
在 excel 中 錄製巨集
另外將巨集弄成一個按鈕
看來是可以做到的
回家後再慢慢想

台北的雨要下到幾時阿 @@"
準備接女兒回家去
高速公路這種雨真不好搞

hchsieh 發表於 13-8-31 22:17

Acer2266 發表於 13-8-31 22:00 static/image/common/back.gif
剛剛用很偷懶的方法
在 excel 中 錄製巨集
另外將巨集弄成一個按鈕


呵呵,如果是簡單的處理
用巨集應該就夠用了

南部已經連續下了好幾天了
現在也還是在下
Acer大在雨天開車要注意安全


rockwell 發表於 13-9-1 00:30

本帖最後由 rockwell 於 13-9-1 00:53 編輯

Acer2266 發表於 13-8-31 22:00 static/image/common/back.gif
剛剛用很偷懶的方法
在 excel 中 錄製巨集
另外將巨集弄成一個按鈕

Acer大,要注意 MC 吃的 TXT 文字檔是 ANSI 還是 UNICODE 的格式,

如果沒有特別需要,VBA輸出ANSI格式的文字檔,語法大概如下列所示:

Sub VbaTest()

    Open "D:\Acer2266.txt" For Output As #1

    Print #1, "路人:「Acer大,你賺很大喔~~~」"

    Print #1, ""

    Print #1, "Acer大:「啥~~~ 是剛好而已。」"

    Close #1

End sub

但如果是 Unicode 格式,就不能這樣用了,就是要用另種寫法,有需要再提。


============= 以下為00:53修改 ===============

突然發覺Acer大好像只是要用Excel運算而已,我多心了。{:4_210:}

Acer2266 發表於 13-9-1 08:07



目前我比較笨的做法是整個籌碼資料存在一個 excel 檔裡面
第一個 worksheet 是 Data (因為證交所 期交所 三不五時會改格式 所以集中管理)
另外每個 worksheet 則是用簡單 VBA 到第一個worksheet 裡面抓需要的資料 複製貼上而已
可以看到我紅色框起來的部分 每天只要開啟檔案後 逐頁 按下按鈕 最底下就增加一列新資料
現在要加入新的需求 將 一些資料能轉出一個 TXT 檔

當然如果能夠整個將籌碼蒐集方式改變 那是更棒的
不過我只會搞些土炮 高手們就別笑我了 ^^"
下面是 目前整個檔案的 個工作表




電腦人 發表於 13-9-1 09:43

本帖最後由 電腦人 於 13-9-1 09:49 編輯

Acer2266 發表於 13-9-1 08:07 static/image/common/back.gif
目前我比較笨的做法是整個籌碼資料存在一個 excel 檔裡面
第一個 worksheet 是 Data (因為證交所 期交所...
可以用這個XLS2TXT

http://wizard.ae.krakow.pl/~jb/xls2txt/

支援不同字元集

===========================

不過會寫程式的話,建議就下載PYTHON,JAVA,VISUAL STUDIO之類的程式來量身定做吧
這樣會比較快
因為跟VBA一樣是程式

基本上只要了解上面語言的其中三項即可
(1)讀檔函數
(2)寫檔函數
(3)關檔函數

痛一次,以後很好維護
證交所期交所怎麼改都不怕
用EXCEL是很好上手,但後面會越變越雜
尤其是每天要人工多按一個鈕,很煩
這些程式寫好後,加入每天下載排程反而比較方便

rockwell 發表於 13-9-1 10:54

Acer2266 發表於 13-9-1 08:07 static/image/common/back.gif
目前我比較笨的做法是整個籌碼資料存在一個 excel 檔裡面
第一個 worksheet 是 Data (因為證交所 期交所...
關於逐頁按下按鈕:可以把按鈕整合,按1次就全部自己更新,
不過ACER大,你的工作表也才8頁,按1次跟按8次好像也沒便利多少。
還是ACER大是希望按1次就好了?


至於輸出TXT檔:
因為沒有用 MC,剛菇了一下,好像是吃ANSI格式的 txt 文字檔的樣子,
那就如5F所說的那樣,也是可以在VBA中做到,不過" "裡面的部分就要做修改了。
只是ACER大給的一些資訊還不足,所以也沒辦法寫貼近可以應用的範例給A大參考,
是想把最新一列的數據轉成 txt 來餵 MC 就好,還是有其他的運算整合?

若是在麻辣家族發問,大概都是將想法表達清楚,
直接上傳Excel檔,讓有心的大大修一修;
不然就是直接將VBA的CODE貼出來,大大們會貼比較簡潔能達到目標的寫法,
自己再回去修改應用。


籌碼收集方式:
ACER大不都已經讓它自動去更新資料了,一般到這樣不就OK了,
還是ACER大還有更好的收集想法?
還是要能自動排程下載資料自動匯入MC?這可能要用其他軟體輔助了。
但如果做到如此程度,基本上就是通過無人職守自動交易的門檻了吧。


Acer2266 發表於 13-9-1 11:13

電腦人 發表於 13-9-1 09:43 static/image/common/back.gif
可以用這個XLS2TXT

http://wizard.ae.krakow.pl/~jb/xls2txt/


感恩 速度其實還好
因為這是盤後資料
只要每天能夠做到
就沒問題
用 EXCEL 因為 期交所 證交所 所有資料加一加還不少
我也沒有太多程式能力
因此選擇最簡單的下手

Acer2266 發表於 13-9-1 11:22

rockwell 發表於 13-9-1 10:54 static/image/common/back.gif
關於逐頁按下按鈕:可以把按鈕整合,按1次就全部自己更新,
不過ACER大,你的工作表也才8頁,按1次跟按8次 ...



上面是 第一個工作表內 所有資料內容
目前每個表分開按也有好處 就是 按好後會去細細"品嚐" 數據變化的意義
由於昨天想的是將盤後數據做為自動交易策略來執行
因此需要的內容是一般資訊源沒有統整出來的
所以才想要開發自己的工具
我過去花了不少時間在這上面
幾年過去 很多東西都被開發出來
對交易人來說越來越方便
不過對我來說就快江郎才盡
一整個頭痛阿

整個東西當然有辦法做成自動排程
資料丟到MC那部分昨天已經搞懂
現在就剩下 TXT or CSV 怎麼去弄出來
今天早上又有一整天時間
現在泡在市圖
旁邊一位老兄睡到直打呼
搞得我瞌睡蟲也上來了 @@"

rockwell 發表於 13-9-1 12:28

本帖最後由 rockwell 於 13-9-1 12:30 編輯

Acer2266 發表於 13-9-1 11:22 static/image/common/back.gif
上面是 第一個工作表內 所有資料內容
目前每個表分開按也有好處 就是 按好後會去細細"品嚐" 數據變化的 ...
所以ACER大現在就剩下由 Excel 匯出 txt 檔的問題嗎?
如果是的話,那匯出後是像我在 5F 的 CODE 的那種樣子嗎?
是的話,考慮到是從工作表中的儲存格提出數據,可能要注意更改的部分:

Sub VbaTest()

    Open "D:\Acer2266.txt" For Output As #1

    Print #1, "今日自營淨買超" & Sheets("自營").Cells(2, 1) & "張"

    Close #1

End Sub

褐色字:檔案轉出位置名稱。
綠色字:工作表名稱,如ACER大要從「自營」那個工作表提出東西。
藍色字:儲存格位置,如要從2A提出數據。

紅色字:" "   &      sheets(" ").cells(2,1)   &       " "
" "    &    " "   &   " "
&像是文字連接符號,連接 " "    " "   " ",
只是中間的sheets(" ").cells(2,1)不是文字,算是一種代數,所以不需要 " " 來包。

舉例:

    Print #1, "現在高雄"&"沒下雨"&"但地上還是濕的"

出來的文字其實就是「現在高雄沒下雨但地上還是濕的」


不知道有沒有幫到ACER大。還是太基礎了,我只是在班門弄斧。{:4_155:}

電腦人 發表於 13-9-1 12:30

本帖最後由 電腦人 於 13-9-1 12:37 編輯

Acer2266 發表於 13-9-1 11:22 static/image/common/back.gif
上面是 第一個工作表內 所有資料內容
目前每個表分開按也有好處 就是 按好後會去細細"品嚐" 數據變化的 ...
光資料能自動丟到MC能研究的出來就很強了

我弄很久,都沒辦法自動做到匯入MC

一定要手動打開QuoteManager後,才能手動選匯入資料

目前找不到能自動排程匯入MC的方法

目前我資料能先匯入AMIBROKER,MC暫時放棄,手動匯入太累了

電腦人 發表於 13-9-1 12:34

本帖最後由 電腦人 於 13-9-1 12:37 編輯

rockwell 發表於 13-9-1 12:28 static/image/common/back.gif
所以ACER大現在就剩下由 Excel 匯出 txt 檔的問題嗎?
如果是的話,那匯出後是像我在 5F 的 CODE 的那種樣 ...
怕的是要處理的CELL,不是固定的

看ACER大的資料表應該是變動資料

EXCEL對這種變動欄位的格式處理,需要很多判斷才能做到

rockwell 發表於 13-9-1 12:45

電腦人 發表於 13-9-1 12:30 static/image/common/back.gif
光資料能自動丟到MC能研究的出來就很強了

我弄很久,都沒辦法自動做到匯入MC


可以用別的軟體幫忙,如 marco express。

http://blog.cnyes.com/My/jinshiang/Article280601

很久的文章,但圖不見了,但我想G神應該可以找到新的教學。

記得有人分享 HTS + marco express 的自動下單教學。




所以,電腦自己在開盤日自動開機、自動下單、自動整理資料、自動關機,
目前都可以很容易做到,VBA + marco express + 主機板設定,這樣就夠了,
其實最難的是甚麼時候要進場出場的「判斷」,
不然進場出場不就是買XX塊賣OO塊而已嘛。

電腦人 發表於 13-9-1 12:55

本帖最後由 電腦人 於 13-9-1 13:00 編輯

rockwell 發表於 13-9-1 12:45 static/image/common/back.gif
可以用別的軟體幫忙,如 marco express。

http://blog.cnyes.com/My/jinshiang/Article280601

這類的軟體有一個問題

就是碰到例外狀況時會很麻煩

不知有沒有人碰過下列情形

HTS軟體登入後,多跳出一個新告知視窗,此時MACRO沒有做額外判斷,按鍵失效,交易中斷

券商DDE軟體登前,多跳出一個新告知視窗,此時MACRO沒有做額外判斷,按鍵失效,交易中斷


MULTICHARTS英文版登入後,多跳出廣告或大特價訊息,此時MACRO沒有做額外判斷,按鍵失效,交易中斷


此時又要另加新的監控軟體,去監控這些MACRO是否有確實做到這些動作(確實按到按鍵、確實讓我們要的視窗開啟)

發生例外狀況時,會有監控機制自動發信或簡訊或LINE通知人到場處理,還是會自動排除、修復

如此變成下列輪迴


01.A軟體做不到的事,用B軟體輔助
02.B軟體的例外狀況或做不到的事,用C軟體輔助
03.C軟體的例外狀況,用.....

最好的方式可能是找一個可以處理大部份狀況的東西,一次統整到好
否則這種苦差事會做不完
一開始覺得沒什麼,後面的維護有得受了

不過沒有對與錯,就是多花時間維護就是了
我自己沒那麼多時間做後續維護,所以選的是一開始比較累的路
頁: [1] 2
查看完整版本: EXCEL 轉 TXT 檔