奇狐社區論壇 總頁數 (2): [1] 2 »
在這個頁面顯示本主題全部的 25 個文章

奇狐社區論壇 (http://www.chiefox.com.tw/bbs/index.php)
- 問題交流 (http://www.chiefox.com.tw/bbs/forumdisplay.php?forumid=28)
-- 請問如狐自動讀取外部數據 (http://www.chiefox.com.tw/bbs/showthread.php?threadid=14345)


由 hwyhon 在 2010-09-24 11:36 發表:

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

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

__________________

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

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



由 cgjj 在 2010-09-24 12:26 發表:

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

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



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

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


由 hwyhon 在 2010-09-24 12:34 發表:

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

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



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

__________________

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

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



由 cgjj 在 2010-09-24 13:12 發表:

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

引用:
最初由 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
%>


由 cgjj 在 2010-09-24 13:40 發表:

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

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



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

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


由 hwyhon 在 2010-09-24 17:56 發表:

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

__________________

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

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



由 cgjj 在 2010-09-27 09:29 發表:

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



不客氣


由 hwyhon 在 2010-09-30 02:11 發表:

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
%>
經版主教導置入已會處理
但現在頭冒煙了
如此例程式碼
怎樣才能逐行讀取置入奇狐呢

__________________

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

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



由 cgjj 在 2010-09-30 09:30 發表:

引用:
最初由 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 拆解單行內的個別項目(一項一個元素)


由 hwyhon 在 2010-09-30 11:58 發表:

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

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

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

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



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

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

__________________

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

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



由 cgjj 在 2010-09-30 21:33 發表:

引用:
最初由 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 了


由 megus002 在 2011-08-26 16:43 發表:

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嗎?...不知是什麼....可否乾脆一點..告知..謝謝。


由 cgjj 在 2011-08-26 19:41 發表:

引用:
最初由 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 動作


由 megus002 在 2011-08-27 15:37 發表:

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

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

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

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

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


由 megus002 在 2011-08-27 16:33 發表:

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


全部時間均為台灣時間, 現在時間為01:15 總頁數 (2): [1] 2 »
在這個頁面顯示本主題全部的 25 個文章


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

簡愛洋行 製作 Copyright 2003-. All Rights Reserved.