到奇狐勝券首頁 奇狐社區論壇 購買奇狐勝券 試用奇狐勝券
 
論壇首頁 你可以在這裡編輯你的資料,查看短訊,訂閱主題和論壇參數等等 免費會員註冊 會員列表 論壇幫助 論壇日曆 論壇搜索 加入我的最愛 登出論壇  
奇狐社區論壇 : Powered by vBulletin version 2.3.0 奇狐社區論壇 > 指標公式 > 問題交流 > 請問如狐自動讀取外部數據
總頁數 (2): [1] 2 »   上一主題   下一主題
作者
主題 發表新主題    回覆主題
hwyhon
資深會員

註冊日期: Sep 2004
來  自: 台中
文章數量: 332

請問如狐自動讀取外部數據

http://www.chiefox.com.tw/bbs/showt...=&threadid=5487
此例需每日手動匯入數據相當麻煩
如何每日自行讀取相對應日期的數據呢

__________________

就是發蓊梨(ㄛㄥˇ ㄌㄞˊ) 程式交易網站
[教學]指標公式及程式交易系統撰寫 [代工]

學會指標策略程式化的撰寫,將可讓你不再盲目投下辛苦賺來的血汗錢
要知道交易的策略或交易的模式長期執行下確實可獲利
交易才有意義的.否則寧可不交易


向版主報告此篇 | 查IP位址
Old Post 2010-09-24 11:36
hwyhon 現在離線 點選這裡查看 hwyhon 的個人資料 點選這裡給 hwyhon 傳送一條短訊 查找更多關於 hwyhon 的文章 增加 hwyhon 至你的好友列表 編輯/刪除訊息 引用回覆
cgjj
總版主

註冊日期: Oct 2003
來  自:
文章數量: 18094

回覆: 請問如狐自動讀取外部數據

引用:
最初由 hwyhon 發表
http://www.chiefox.com.tw/bbs/showt...=&threadid=5487
此例需每日手動匯入數據相當麻煩
如何每日自行讀取相對應日期的數據呢



若您是要講究盤中運算要快, 目前就只能用手動匯入

若不講究速度, 則可考慮以 VBS 讀 TXT 檔
將資料放到對應的時間K棒

向版主報告此篇 | 查IP位址
Old Post 2010-09-24 12:26
cgjj 現在離線 點選這裡查看 cgjj 的個人資料 點選這裡給 cgjj 傳送一條短訊 查找更多關於 cgjj 的文章 增加 cgjj 至你的好友列表 編輯/刪除訊息 引用回覆
hwyhon
資深會員

註冊日期: Sep 2004
來  自: 台中
文章數量: 332

回覆: 回覆: 請問如狐自動讀取外部數據

引用:
最初由 cgjj 發表
若不講究速度, 則可考慮以 VBS 讀 TXT
將資料放到對應的時間K棒



c:\Da.txt
我已依此數據型態紀錄每日最後一筆五分數據
日期,開,高,低,收,成交量
1100924,8178.00,8179.00,8174.00,8177.00,808.00
如何放到日線相對應K棒
能否請版主起個範例
感恩

__________________

就是發蓊梨(ㄛㄥˇ ㄌㄞˊ) 程式交易網站
[教學]指標公式及程式交易系統撰寫 [代工]

學會指標策略程式化的撰寫,將可讓你不再盲目投下辛苦賺來的血汗錢
要知道交易的策略或交易的模式長期執行下確實可獲利
交易才有意義的.否則寧可不交易


最後由 hwyhon 在 2010-09-24 12:50 編輯 向版主報告此篇 | 查IP位址
Old Post 2010-09-24 12:34
hwyhon 現在離線 點選這裡查看 hwyhon 的個人資料 點選這裡給 hwyhon 傳送一條短訊 查找更多關於 hwyhon 的文章 增加 hwyhon 至你的好友列表 編輯/刪除訊息 引用回覆
cgjj
總版主

註冊日期: Oct 2003
來  自:
文章數量: 18094

回覆: 回覆: 回覆: 請問如狐自動讀取外部數據

引用:
最初由 hwyhon 發表
c:\Da.txt
我已依此數據型態紀錄每日最後一筆五分數據
日期,開,高,低,收,成交量
1100924,8178.00,8179.00,8174.00,8177.00,808.00
如何放到日線相對應K棒
能否請版主起個範例
感恩



用下面這個簡單的例子示範
設定 2010/09/23 13:05 分 的 MyData 值為 888.88
基本上就是:
1.傳入奇狐日期時間
2.將資料讀出
3.將奇狐日期時間與資料日期時間比對
4.若符合將值設入儲存的數列(對應位置)
5.傳回儲存的數列


原碼:

FoxDE
:=DATEFoxTE:=TIME;
MyData:C*0;
<%
MyData FFL.VarData("MyData")
FoxDE FFL.VarData("FoxDE")
FoxTE FFL.VarData("FoxTE")

'
假設已讀出的內容為
TxtStr="1100923,130500,888.88"
TxtAry = Split(TxtStr, ",", -1, 1)
GetDE=CLNG(TxtAry(0))
GetTE=CLNG(TxtAry(1))
GetVV=CSNG(TxtAry(2))
for i=0 to ubound(MyData)
  if FoxDE(i)=GetDE and FoxTE(i)=GetTE then
    MyData(i)=GetVV
  end if
next
FFL.VarData("MyData")=MyData
%>

向版主報告此篇 | 查IP位址
Old Post 2010-09-24 13:12
cgjj 現在離線 點選這裡查看 cgjj 的個人資料 點選這裡給 cgjj 傳送一條短訊 查找更多關於 cgjj 的文章 增加 cgjj 至你的好友列表 編輯/刪除訊息 引用回覆
cgjj
總版主

註冊日期: Oct 2003
來  自:
文章數量: 18094

回覆: 回覆: 請問如狐自動讀取外部數據

引用:
最初由 cgjj 發表
若不講究速度, 則可考慮以 VBS 讀 TXT 檔
將資料放到對應的時間K棒



重點是以 VBS 讀 TXT 檔, 其無法無中生有(創造K棒)
也就是說
無法在沒有K棒的地方, 新增入自己做的資料
只能於有K棒的地方, 放入自己做的資料

其與自定義商品是相當不同的( 匯入沒有內建的商品)

向版主報告此篇 | 查IP位址
Old Post 2010-09-24 13:40
cgjj 現在離線 點選這裡查看 cgjj 的個人資料 點選這裡給 cgjj 傳送一條短訊 查找更多關於 cgjj 的文章 增加 cgjj 至你的好友列表 編輯/刪除訊息 引用回覆
hwyhon
資深會員

註冊日期: Sep 2004
來  自: 台中
文章數量: 332

謝謝總版主的vbs與奇狐銜接的範例教導
感恩

__________________

就是發蓊梨(ㄛㄥˇ ㄌㄞˊ) 程式交易網站
[教學]指標公式及程式交易系統撰寫 [代工]

學會指標策略程式化的撰寫,將可讓你不再盲目投下辛苦賺來的血汗錢
要知道交易的策略或交易的模式長期執行下確實可獲利
交易才有意義的.否則寧可不交易


向版主報告此篇 | 查IP位址
Old Post 2010-09-24 17:56
hwyhon 現在離線 點選這裡查看 hwyhon 的個人資料 點選這裡給 hwyhon 傳送一條短訊 查找更多關於 hwyhon 的文章 增加 hwyhon 至你的好友列表 編輯/刪除訊息 引用回覆
cgjj
總版主

註冊日期: Oct 2003
來  自:
文章數量: 18094

引用:
最初由 hwyhon 發表
謝謝總版主的vbs與奇狐銜接的範例教導
感恩



不客氣

向版主報告此篇 | 查IP位址
Old Post 2010-09-27 09:29
cgjj 現在離線 點選這裡查看 cgjj 的個人資料 點選這裡給 cgjj 傳送一條短訊 查找更多關於 cgjj 的文章 增加 cgjj 至你的好友列表 編輯/刪除訊息 引用回覆
hwyhon
資深會員

註冊日期: Sep 2004
來  自: 台中
文章數量: 332

FoxDE:=DATE; FoxTE:=TIME;
MyData:C*0;
<%
MyData = FFL.VarData("MyData")
FoxDE = FFL.VarData("FoxDE")
FoxTE = FFL.VarData("FoxTE")
Set fs = CreateObject("Scripting.FileSystemObject")
Set wrkfs = fs.OpenTextFile("C:\Da.txt", 1)
MyTxt = wrkfs.ReadLine
wrkfs.close
TxtStr=MyTxt
TxtAry = Split(TxtStr, ",", -1, 1)
GetDE=CLNG(TxtAry(0))
GetTE=CLNG(TxtAry(1))
GetVV=CSNG(TxtAry(2))
for i=0 to ubound(MyData)
if FoxDE(i)=GetDE and FoxTE(i)=GetTE then
MyData(i)=GetVV
end if
next
FFL.VarData("MyData")=MyData
%>
經版主教導置入已會處理
但現在頭冒煙了
如此例程式碼
怎樣才能逐行讀取置入奇狐呢

__________________

就是發蓊梨(ㄛㄥˇ ㄌㄞˊ) 程式交易網站
[教學]指標公式及程式交易系統撰寫 [代工]

學會指標策略程式化的撰寫,將可讓你不再盲目投下辛苦賺來的血汗錢
要知道交易的策略或交易的模式長期執行下確實可獲利
交易才有意義的.否則寧可不交易


向版主報告此篇 | 查IP位址
Old Post 2010-09-30 02:11
hwyhon 現在離線 點選這裡查看 hwyhon 的個人資料 點選這裡給 hwyhon 傳送一條短訊 查找更多關於 hwyhon 的文章 增加 hwyhon 至你的好友列表 編輯/刪除訊息 引用回覆
cgjj
總版主

註冊日期: Oct 2003
來  自:
文章數量: 18094

引用:
最初由 hwyhon 發表
FoxDE:=DATE; FoxTE:=TIME;
MyData:C*0;
<%
MyData = FFL.VarData("MyData")
FoxDE = FFL.VarData("FoxDE")
FoxTE = FFL.VarData("FoxTE")
Set fs = CreateObject("Scripting.FileSystemObject")
Set wrkfs = fs.OpenTextFile("C:\Da.txt", 1)
MyTxt = wrkfs.ReadLine
wrkfs.close
TxtStr=MyTxt
TxtAry = Split(TxtStr, ",", -1, 1)
GetDE=CLNG(TxtAry(0))
GetTE=CLNG(TxtAry(1))
GetVV=CSNG(TxtAry(2))
for i=0 to ubound(MyData)
if FoxDE(i)=GetDE and FoxTE(i)=GetTE then
MyData(i)=GetVV
end if
next
FFL.VarData("MyData")=MyData
%>
經版主教導置入已會處理
但現在頭冒煙了
如此例程式碼
怎樣才能逐行讀取置入奇狐呢



提示一下:

ReadLine 是每跑一次每讀一行
ReadAll 是一次讀所有行

用 Split 搭配 VbCrLf
可將 ReadAll 結果拆解成字串陣列(一行一個元素)

以迴圈讀取前面字串陣列
利用Split 拆解單行內的個別項目(一項一個元素)

向版主報告此篇 | 查IP位址
Old Post 2010-09-30 09:30
cgjj 現在離線 點選這裡查看 cgjj 的個人資料 點選這裡給 cgjj 傳送一條短訊 查找更多關於 cgjj 的文章 增加 cgjj 至你的好友列表 編輯/刪除訊息 引用回覆
hwyhon
資深會員

註冊日期: Sep 2004
來  自: 台中
文章數量: 332

引用:
最初由 cgjj 發表
提示一下:

ReadLine 是每跑一次每讀一行
ReadAll 是一次讀所有行

用 Split 搭配 VbCrLf
可將 ReadAll 結果拆解成字串陣列(一行一個元素)

以迴圈讀取前面字串陣列
利用Split 拆解單行內的個別項目(一項一個元素)



畢竟小弟非程式科班的使用者
單純只想完成想要的結果與數據

能否請總版主或先進前輩幫忙完成此例當為奇狐與vbs相輝映的範例
藉此例好讓小弟與狐友共同學習與了解奇狐與vbs結合的另一強項
與語法
感謝再感謝

__________________

就是發蓊梨(ㄛㄥˇ ㄌㄞˊ) 程式交易網站
[教學]指標公式及程式交易系統撰寫 [代工]

學會指標策略程式化的撰寫,將可讓你不再盲目投下辛苦賺來的血汗錢
要知道交易的策略或交易的模式長期執行下確實可獲利
交易才有意義的.否則寧可不交易


向版主報告此篇 | 查IP位址
Old Post 2010-09-30 11:58
hwyhon 現在離線 點選這裡查看 hwyhon 的個人資料 點選這裡給 hwyhon 傳送一條短訊 查找更多關於 hwyhon 的文章 增加 hwyhon 至你的好友列表 編輯/刪除訊息 引用回覆
cgjj
總版主

註冊日期: Oct 2003
來  自:
文章數量: 18094

引用:
最初由 hwyhon 發表
畢竟小弟非程式科班的使用者
單純只想完成想要的結果與數據

能否請總版主或先進前輩幫忙完成此例當為奇狐與vbs相輝映的範例
藉此例好讓小弟與狐友共同學習與了解奇狐與vbs結合的另一強項
與語法
感謝再感謝



原碼:
'讀取所有資料 TxtAll = wrkfs.ReadAll() '拆解為一行一個元素 TxtAry = Split(TxtAll, vbcrlf, -1, 1) for LineNo = 0 to ubound(TxtAry) '將第 LineNo 行的資料拆解為一項一個元素 ItemTxt = TxtAry(LineNo) ItemAry = Split(ItemTxt, ",", -1, 1) '.......接後續的處理........ next


基本上相關處理的寫法是很難通用的
(常常不是簡單依樣畫葫蘆就可改出來的)

因為
TXT資料存的次序與格式、資料本身的特性、資料的對應方式 ...
等等都會影響到程式處理的結構與次序,讓撰寫的方式不同
而且有尚有很多存取的狀況,程式要因應處理

通常要對 VBScript 有相當一定的熟悉度
才能把 FileSystemObject 相關程式處理的好
處理不好或考量不夠
則可能會因為 VBS 錯誤,常常導致當掉,或者錯的渾然不知
PS: 一般來說,這已經是程式設計的 LEVEL 了

向版主報告此篇 | 查IP位址
Old Post 2010-09-30 21:33
cgjj 現在離線 點選這裡查看 cgjj 的個人資料 點選這裡給 cgjj 傳送一條短訊 查找更多關於 cgjj 的文章 增加 cgjj 至你的好友列表 編輯/刪除訊息 引用回覆
megus002
中級會員

註冊日期: Nov 2010
來  自:
文章數量: 41

FoxDE:=DATE; FoxTE:=TIME;
MyData:C*0;
<%
MyData = FFL.VarData("MyData")
FoxDE = FFL.VarData("FoxDE")
FoxTE = FFL.VarData("FoxTE")
Set fs = CreateObject("Scripting.FileSystemObject")
Set wrkfs = fs.OpenTextFile("C:\Da.txt", 1)
MyTxt = wrkfs.ReadLine
wrkfs.close
TxtStr=MyTxt
TxtAry = Split(TxtStr, ",", -1, 1)
GetDE=CLNG(TxtAry(0))
GetTE=CLNG(TxtAry(1))
GetVV=CSNG(TxtAry(2))
for i=0 to ubound(MyData)
if FoxDE(i)=GetDE and FoxTE(i)=GetTE then
MyData(i)=GetVV
end if
next
FFL.VarData("MyData")=MyData
%>
版主好,最近也有此需求...所以找到這文..看了一下...
上述..的程式...有幾個問題請教:
(1) MyData:C*0; ?請問是哪種資料結構。
(2) ;陣列的寫法..若如此..則應只會捉一筆。
(3)MyData = FFL.VarData("MyData")
這該是日期格式吧...不會有問題嗎?..
(4)...看不到...寫入的動作...且..沒有..宣告.要write到哪個..
table ........這樣..可以寫入奇狐去??...
自己..試了一下...問題多多.......
----------------------------------------
我的想法:
將資料匯出...看文字欄位...決定..陣列維度..
資料結構..te..--時間的格式..我暫時沒找到...先放過..
欄位資料有小數浮點..所以..我改為..cdbl or .csng
可以用....
用..msgbox ..有值..
但..問題仍在...沒法寫入或不知要寫入哪裡?..
mydata嗎?...不知是什麼....可否乾脆一點..告知..謝謝。

向版主報告此篇 | 查IP位址
Old Post 2011-08-26 16:43
megus002 現在離線 點選這裡查看 megus002 的個人資料 點選這裡給 megus002 傳送一條短訊 查找更多關於 megus002 的文章 增加 megus002 至你的好友列表 編輯/刪除訊息 引用回覆
cgjj
總版主

註冊日期: Oct 2003
來  自:
文章數量: 18094

引用:
最初由 megus002 發表
FoxDE:=DATE; FoxTE:=TIME;
MyData:C*0;
<%
MyData = FFL.VarData("MyData")
FoxDE = FFL.VarData("FoxDE")
FoxTE = FFL.VarData("FoxTE")
Set fs = CreateObject("Scripting.FileSystemObject")
Set wrkfs = fs.OpenTextFile("C:\Da.txt", 1)
MyTxt = wrkfs.ReadLine
wrkfs.close
TxtStr=MyTxt
TxtAry = Split(TxtStr, ",", -1, 1)
GetDE=CLNG(TxtAry(0))
GetTE=CLNG(TxtAry(1))
GetVV=CSNG(TxtAry(2))
for i=0 to ubound(MyData)
if FoxDE(i)=GetDE and FoxTE(i)=GetTE then
MyData(i)=GetVV
end if
next
FFL.VarData("MyData")=MyData
%>
版主好,最近也有此需求...所以找到這文..看了一下...
上述..的程式...有幾個問題請教:
(1) MyData:C*0; ?請問是哪種資料結構。
(2) ;陣列的寫法..若如此..則應只會捉一筆。
(3)MyData = FFL.VarData("MyData")
這該是日期格式吧...不會有問題嗎?..
(4)...看不到...寫入的動作...且..沒有..宣告.要write到哪個..
table ........這樣..可以寫入奇狐去??...
自己..試了一下...問題多多.......
----------------------------------------
我的想法:
將資料匯出...看文字欄位...決定..陣列維度..
資料結構..te..--時間的格式..我暫時沒找到...先放過..
欄位資料有小數浮點..所以..我改為..cdbl or .csng
可以用....
用..msgbox ..有值..
但..問題仍在...沒法寫入或不知要寫入哪裡?..
mydata嗎?...不知是什麼....可否乾脆一點..告知..謝謝。



MyData:C*0;
相當於MyData:Close*0;
將 MyData 這個變數, 設置為零值數列(與K棒等長)
例如:
有100根K棒, 就有100個收盤價, 將收盤價這個數列乘上零
就能達到我們要的 "與K棒等長之零值數列"

MyData = FFL.VarData("MyData")
將奇狐 MyData 這個數列, 導入 Vbscript 的 Mydata 變數之中
(在 VbScript 中 Mydata 為陣列變數, 此行是VbScript 程式)

MyData(i)=GetVV
將 MyData 陣列中的第 i 個元素設為 GetVV
(此行是 VbScript 程式)

FFL.VarData("MyData") = MyData
將 Vbscript 中的 Mydata 陣列變數, 傳回給奇狐 MyData 數列
(此行是 VbScript 程式)

此段程式是讀 TXT檔資料入奇狐之中
並非是寫資料入TXT檔, 故不會有 write 動作

向版主報告此篇 | 查IP位址
Old Post 2011-08-26 19:41
cgjj 現在離線 點選這裡查看 cgjj 的個人資料 點選這裡給 cgjj 傳送一條短訊 查找更多關於 cgjj 的文章 增加 cgjj 至你的好友列表 編輯/刪除訊息 引用回覆
megus002
中級會員

註冊日期: Nov 2010
來  自:
文章數量: 41

謝版主回話。.
我當然知..在.vbs是用..write 寫出。
我是指..單用...變數.mydata..就可以.把..資料..接收後...
奇狐就會update資料嗎...[按您的說法..?.]

單就第一支程式...讀入txf_file...的寫法...
讀出..一維陣列..給...mydata[i] ...

然..後..K線圖.就會改變嗎?..

[當然.改了一.下..資料格式....不然有錯..].....
請教我囉?...因我不認為可行....
1-
我假設..mydata或許是虛擬變數...去接收值...
但..那..我一跳出奇狐...那..K線不就..消失了...
2-若為實體.table ...那..還是..沒宣告它的結構...c*0 不是吧..
3-若都不是..那表示...只要餵資料給..mydata..就可..update線圖囉...
那..可真強了..........

另一問題...還請告知....
關於.陣列的寫法...我run了一下程式.....
這樣..到最後..最多就寫一筆....不會是整個..file
至少要用二維吧.......
請告知囉.....希望可以.有直接正確的寫法................
[若有困難或其它考量..也請告知.....也好節省時間..謝謝...]

向版主報告此篇 | 查IP位址
Old Post 2011-08-27 15:37
megus002 現在離線 點選這裡查看 megus002 的個人資料 點選這裡給 megus002 傳送一條短訊 查找更多關於 megus002 的文章 增加 megus002 至你的好友列表 編輯/刪除訊息 引用回覆
megus002
中級會員

註冊日期: Nov 2010
來  自:
文章數量: 41

我附個摩台.5分資料好了....
看您的範例囉....

附件: tds2tw5.txt
此文件已被下載 118 次。

向版主報告此篇 | 查IP位址
Old Post 2011-08-27 16:33
megus002 現在離線 點選這裡查看 megus002 的個人資料 點選這裡給 megus002 傳送一條短訊 查找更多關於 megus002 的文章 增加 megus002 至你的好友列表 編輯/刪除訊息 引用回覆
全部時間均為台灣時間, 現在時間為04:51 發表新主題    回覆主題
總頁數 (2): [1] 2 »   上一主題   下一主題
顯示可列印版本 | 訂閱此主題

論壇跳轉:
主題評分:

論壇規定:
你不可以發表新主題
你不可以回覆文章
你不可以上傳附件
你不可以編輯自己的文章
HTML語法禁止
vB 語法核准
表情符號核准
貼圖語法[IMG]核准
 

本站所有內容未經作者授權禁止轉貼節錄, 發表言論僅供參考勿作為投資決策依據。瀏覽本站請使用 IE 5.5 以上版本, 最佳瀏覽解析度 1024 x 768 全彩。

Powered by: vBulletin Version 2.3.0 - Copyright©2000-, Jelsoft Enterprises Limited.

簡愛洋行 製作 Copyright 2003-. All Rights Reserved.  聯絡我們