月魂之魄 发表于 2004-9-8 09:27

飞狐数据转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;

yhy-32 发表于 2004-9-9 05:50

谢谢!

emailz 发表于 2004-9-9 14:13

非常感激

huangtc 发表于 2004-9-9 14:30

请教怎么将它应用到分析家中?谢谢!!!

月魂之魄 发表于 2004-9-9 16:15

因为分析家的功能并没有飞狐的好,所以不赞成用分析家来做GET数据转换。如果要做转换的话,网络上有现成的转换公式,你可以搜索一下。

zyh06 发表于 2004-9-21 17:53

请问怎么用?谢谢!

KOJE 发表于 2004-9-22 08:30

不错好东西,才看到。谢谢!!!~~~顶~~~

能介绍一下使用吗?

葱儿 发表于 2004-9-22 10:33

Originally posted by KOJE at 2004-9-22 08:30 AM:
不错好东西,才看到。谢谢!!!~~~顶~~~

能介绍一下使用吗?

emailz 发表于 2004-9-22 11:28

非常感谢!辛苦了!

悠然心会 发表于 2004-10-9 18:11

joy8858 发表于 2004-10-16 20:01

非常感謝!

cc侠 发表于 2004-10-16 21:26

非常感谢!辛苦了!
能介绍一下使用吗?

haihai812 发表于 2004-11-12 16:05

谢谢!!!
能否修改数据名称及后辍,类似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 ]

欧阳灴 发表于 2004-11-13 07:25

koo里能用吗? 这个能否说下如何使用,我刚用KOO,还不熟悉

msmy 发表于 2004-11-13 12:26

非常感激 非常感激

wintom 发表于 2004-11-15 19:07

顶!!!!!!!!

飞天鼠 发表于 2005-1-7 10:35

怎么用啊。发了就算了吗?

海宸 发表于 2005-1-9 11:22

顶,太感谢了,伪分时数据公式怎么写?

ty717502 发表于 2005-1-9 12:26

非常感激 非常感激月魂之魄

海宸 发表于 2005-1-9 20:12

提议班主给楼主加分,!~!!成功了,大地飞鹰的转换器可以删掉了,因为它被PASS(淘汰)了!~!哈哈....

再次感谢月魂之魄,恭祝新年好运连连,发财多多!~
页: [1] 2 3
查看完整版本: 飞狐数据转get数据原代码(日线 分钟线等)