 |
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 編輯 |
向版主報告此篇 |  |
|
2010-09-24 12:34 |
|
|
|  |
 |
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:=DATE; FoxTE:=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
%>
|
|
向版主報告此篇 |  |
|
2010-09-24 13:12 |
|
|
|  |
 |
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
%>
經版主教導置入已會處理
但現在頭冒煙了
如此例程式碼
怎樣才能逐行讀取置入奇狐呢
__________________
就是發蓊梨(ㄛㄥˇ ㄌㄞˊ) 程式交易網站
[教學]指標公式及程式交易系統撰寫 [代工]
學會指標策略程式化的撰寫,將可讓你不再盲目投下辛苦賺來的血汗錢
要知道交易的策略或交易的模式長期執行下確實可獲利
交易才有意義的.否則寧可不交易
|
|
向版主報告此篇 |  |
|
2010-09-30 02:11 |
|
|
|  |
 |
hwyhon
資深會員

註冊日期: Sep 2004
來 自: 台中
文章數量: 332 |
引用: 最初由 cgjj 發表
提示一下:
ReadLine 是每跑一次每讀一行
ReadAll 是一次讀所有行
用 Split 搭配 VbCrLf
可將 ReadAll 結果拆解成字串陣列(一行一個元素)
以迴圈讀取前面字串陣列
利用Split 拆解單行內的個別項目(一項一個元素)
畢竟小弟非程式科班的使用者
單純只想完成想要的結果與數據
能否請總版主或先進前輩幫忙完成此例當為奇狐與vbs相輝映的範例
藉此例好讓小弟與狐友共同學習與了解奇狐與vbs結合的另一強項
與語法
感謝再感謝
__________________
就是發蓊梨(ㄛㄥˇ ㄌㄞˊ) 程式交易網站
[教學]指標公式及程式交易系統撰寫 [代工]
學會指標策略程式化的撰寫,將可讓你不再盲目投下辛苦賺來的血汗錢
要知道交易的策略或交易的模式長期執行下確實可獲利
交易才有意義的.否則寧可不交易
|
|
向版主報告此篇 |  |
|
2010-09-30 11:58 |
|
|
|  |
 |
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嗎?...不知是什麼....可否乾脆一點..告知..謝謝。
|
|
向版主報告此篇 |  |
|
2011-08-26 16:43 |
|
|
|  |
 |
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 動作
|
|
向版主報告此篇 |  |
|
2011-08-26 19:41 |
|
|
|  |
 |
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
至少要用二維吧.......
請告知囉.....希望可以.有直接正確的寫法................
[若有困難或其它考量..也請告知.....也好節省時間..謝謝...]
|
|
向版主報告此篇 |  |
|
2011-08-27 15:37 |
|
|
|  |
本站所有內容未經作者授權禁止轉貼節錄, 發表言論僅供參考勿作為投資決策依據。瀏覽本站請使用 IE 5.5 以上版本, 最佳瀏覽解析度 1024 x 768 全彩。
|
Powered by: vBulletin Version 2.3.0 - Copyright©2000-, Jelsoft Enterprises Limited.
簡愛洋行 製作 Copyright 2003-. All Rights Reserved. 聯絡我們
|