飞狐数据转get数据原代码(日线 分钟线等)
_Barpos := BARPOS;_Year := YEAR;
_Month := MONTH;
_Day := DAY;
_Datatype := DATATYPE;
_Marketlabel := MARKETLABEL;
_StkName := STKLABEL;
_Open := OPEN;
_High := HIGH;
_Low := LOW;
_Close := CLOSE;
_Vol := VOL;
_Amount := AMOUNT;
<%
Dim Marketlabels,Stknames,Datatypes,Opens,Highs,Lows,Closes,Vols,Amounts,Years,Months,Days
Barposes = ffl.vardata("_Barpos")
Years = ffl.vardata("_Year")
Months = ffl.vardata("_Month")
Days = ffl.vardata("_Day")
Datatypes = ffl.vardata("_Datatype")
Marketlabels = ffl.vardata("_Marketlabel")
Stknames = ffl.vardata("_Stkname")
Opens = ffl.vardata("_Open")
Highs = ffl.vardata("_High")
Lows = ffl.vardata("_Low")
Closes = ffl.vardata("_Close")
Vols = ffl.vardata("_Vol")
Amounts = ffl.vardata("_Amount")
If ReportFolderStatus("D:\Ascii Data") = 0 Then CreatFolder()
SelectCreatAsciiDataType(Datatypes)
Function SelectCreatAsciiDataType(Types)
Select Case Types
Case 0
Case 1
Call CreateAsciiDataMin("01min","01")
Case 2
Call CreateAsciiDataMin("05min","05")
Case 3
Call CreateAsciiDataMin("15min","15")
Case 4
Call CreateAsciiDataMin("30min","30")
Case 5
Call CreateAsciiDataMin("60min","60")
Case 6
Call CreateAsciiDataDayes()
Case 7
Case 8
Case 9
Case 10
Case 11
Case Else
End Select
End Function
Function CreateAsciiDataMin(FolderName,DataName)
Const ForReading = 1, ForWriting = 2, ForAppending = 8
Const TristateTrue = -1,TristateFalse = 0,TristateUseDefault = -2
Dim Fso,FileName,TextStream,LineData,ArrayLast,LastDate,AforeDate,AforeYear,AforeMonth,AforeDay
Set Fso = CreateObject("Scripting.FileSystemObject")
FileName = "D:\Ascii Data\" & FolderName & "\" & Marketlabels & StkNames & "." & DataName & ".dat"
Set TextStream = Fso.OpenTextFile(FileName, ForWriting, True)
ArrayLast = Ubound(Barposes)
LastDate = Years(ArrayLast) & "-" & Months(ArrayLast) & "-" & Days(ArrayLast)
For i = 0 to ArrayLast
AforeDate = DateAdd("d",(i-ArrayLast),LastDate)
AforeYear = Year(AforeDate)
AforeMonth = Month(AforeDate)
If Len(AforeMonth) = 1 Then AforeMonth = "0" & AforeMonth
AforeDay = Day(AforeDate)
If Len(AforeDay) = 1 Then AforeDay = "0" & AforeDay
Opens(i) = FormatNumber(Opens(i),3,,,TristateFalse)
Highs(i) = FormatNumber(Highs(i),3,,,TristateFalse)
Lows(i) = FormatNumber(Lows(i),3,,,TristateFalse)
Closes(i) = FormatNumber(Closes(i),3,,,TristateFalse)
Vols(i) = FormatNumber(Vols(i),3,,,TristateFalse)
Amounts(i) = FormatNumber(Amounts(i),3,,,TristateFalse)
LineData = AforeYear & AforeMonth & AforeDay & " " & Opens(i) & " " & Highs(i) & " " & Lows(i) & " " & Closes(i) & " " & Vols(i) & " " & Amounts(i)
TextStream.WriteLine LineData
Next
TextStream.Close
End Function
Function CreateAsciiDataDayes()
Const ForReading = 1, ForWriting = 2, ForAppending = 8
Const TristateTrue = -1,TristateFalse = 0,TristateUseDefault = -2
Dim Fso,FileName,TextStream,LineData,ArrayLast
Set Fso = CreateObject("Scripting.FileSystemObject")
FileName = "D:\Ascii Data\Dayes\" & Marketlabels & StkNames & ".dat"
Set TextStream = Fso.OpenTextFile(FileName, ForWriting, True)
ArrayLast = Ubound(Barposes)
For i = 0 to ArrayLast
If Len(Months(i)) = 1 Then Months(i) = "0" & Months(i)
If Len(Days(i)) = 1 Then Days(i) = "0" & Days(i)
Opens(i) = FormatNumber(Opens(i),3,,,TristateFalse)
Highs(i) = FormatNumber(Highs(i),3,,,TristateFalse)
Lows(i) = FormatNumber(Lows(i),3,,,TristateFalse)
Closes(i) = FormatNumber(Closes(i),3,,,TristateFalse)
Vols(i) = FormatNumber(Vols(i),3,,,TristateFalse)
Amounts(i) = FormatNumber(Amounts(i),3,,,TristateFalse)
LineData = Years(i) & Months(i) & Days(i) & " " & Opens(i) & " " & Highs(i) & " " & Lows(i) & " " & Closes(i) & " " & Vols(i) & " " & Amounts(i)
TextStream.WriteLine LineData
Next
TextStream.Close
End Function
Function ReportFileStatus(filespec)
Dim Fso, Status
Set Fso = CreateObject("Scripting.FileSystemObject")
If (Fso.FileExists(filespec)) Then
Status = 1
Else
Status = 0
End If
ReportFileStatus = Status
End Function
Function ReportFolderStatus(FolderDir)
Dim Fso, Status
Set Fso = CreateObject("Scripting.FileSystemObject")
If (Fso.FolderExists(FolderDir)) Then
Status = 1
Else
Status = 0
End If
ReportFolderStatus = Status
End Function
Function CreatFolder()
Dim Fso
Set Fso = CreateObject("Scripting.FileSystemObject")
Dim Folder
Set Folder = Fso.CreateFolder("D:\Ascii Data")
Set Folder = Fso.CreateFolder("D:\Ascii Data\Years")
Set Folder = Fso.CreateFolder("D:\Ascii Data\Moons")
Set Folder = Fso.CreateFolder("D:\Ascii Data\Weeks")
Set Folder = Fso.CreateFolder("D:\Ascii Data\Dayes")
Set Folder = Fso.CreateFolder("D:\Ascii Data\60min")
Set Folder = Fso.CreateFolder("D:\Ascii Data\30min")
Set Folder = Fso.CreateFolder("D:\Ascii Data\15min")
Set Folder = Fso.CreateFolder("D:\Ascii Data\05min")
Set Folder = Fso.CreateFolder("D:\Ascii Data\01min")
End Function
%>
0; 谢谢! 非常感激 请教怎么将它应用到分析家中?谢谢!!! 因为分析家的功能并没有飞狐的好,所以不赞成用分析家来做GET数据转换。如果要做转换的话,网络上有现成的转换公式,你可以搜索一下。 请问怎么用?谢谢! 不错好东西,才看到。谢谢!!!~~~顶~~~
能介绍一下使用吗? Originally posted by KOJE at 2004-9-22 08:30 AM:
不错好东西,才看到。谢谢!!!~~~顶~~~
能介绍一下使用吗? 非常感谢!辛苦了! 非常感謝! 非常感谢!辛苦了!
能介绍一下使用吗? 谢谢!!!
能否修改数据名称及后辍,类似ctext,很方便地双手配合在GET里键入各股各周期数据。如sh600001,s、h两键跨度太大,除日周期外的其他周期还要打后辍,键入一股票60min数据要“s、h、600001、.、60”,要按11次,不方便。建议将名称前辍及周期后辍统一,集中在A、S、D、F、G等部位键,分别安排为日、60min、30min、15min、5min。比如日线为A600001.txt,60min线为S600001,30min线为D600001,15min线为F600001,5min线为G600001。我相信这样改了,会是转GET最好用的公式,每个股票平均输入7次,效率提高40%。
好像针对GET,不用生成Years、Moons、Weeks。
望月魂之魄 再出手改改。谢谢!
我相信月魂之魄的转GET公式将广泛地、长时间地留在飞狐使用者的电脑里。
[ Last edited by haihai812 on 2004-11-13 at 08:08 ] koo里能用吗? 这个能否说下如何使用,我刚用KOO,还不熟悉 非常感激 非常感激 顶!!!!!!!! 怎么用啊。发了就算了吗? 顶,太感谢了,伪分时数据公式怎么写? 非常感激 非常感激月魂之魄 提议班主给楼主加分,!~!!成功了,大地飞鹰的转换器可以删掉了,因为它被PASS(淘汰)了!~!哈哈....
再次感谢月魂之魄,恭祝新年好运连连,发财多多!~