|
Fox和GET的 数据转换原代码
Fox和GET的 数据转换原代码
数据输出=1 输出eWave/GET 伪日线数据(0/1) ,可同时输出两种格式的数据
Datalength= 输出数据天数(0~99999,0/全输出)
1)嵌入一个指标到下面的公式里面,把公式调入副图,想转换时 调整数据输出=1,输出个股
2)全输出: 用嵌入其他指标的公式在A股板快选股
------------------------------
参数:
数据输出 0,0,1
DATALENGTH 1900,1,99999
//
vertline(barpos=datacount-Datalength and datalength>0 and datalength<=datacount),colormagenta;
转换天数:if(datalength=0 or datalength>datacount,datacount,datalength),colormagenta,linethick0;
数据转换:数据输出,colorred,linethick0;
IF 数据输出=1 then begin
_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;
_Datalength := Datalength;
<%
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")
Datalengths = FFL.vardata("_Datalength")
If ReportFolderStatus("D:\Stock\TXTData") = 0 Then CreatFolder()
SelectCreatAsciiDataType(Datatypes)
Function SelectCreatAsciiDataType(Types)
Select Case Types
Case 0
Case 1
Call CreateAsciiDataMin("_m01")
Case 2
Call CreateAsciiDataMin("_m05")
Case 3
Call CreateAsciiDataMin("_m15")
Case 4
Call CreateAsciiDataMin("_m30")
Case 5
Call CreateAsciiDataMin("_m60")
Case 6
Call CreateAsciiDataDayes()
Case 7
Call CreateAsciiDataMin("_wk")
Case 8
Call CreateAsciiDataMin("_mth")
Case 9
Call CreateAsciiDataMin("_yr")
Case 10
Case 11
Case Else
End Select
End Function
Function CreateAsciiDataMin(FolderName)
Const ForReading = 1, ForWriting = 2, ForAppending = 8
Const TristateTrue = -1,TristateFalse = 0,TristateUseDefault = -2
Dim Fso,FileName,TextStream,LineData,FileNameA,TextStreamA,LineDataA,ArrayLast,LastDate,AforeDate,AforeYear,AforeMonth,AforeDay
Set Fso = CreateObject("Scripting.FileSystemObject")
FileName = "D:\Stock\TXTData\GET\" & StkNames & FolderName & ".txt"
FileNameA = "D:\Stock\TXTData\ttpcn\" & StkNames & FolderName & ".txt"
Set TextStream = Fso.OpenTextFile(FileName, ForWriting, True)
Set TextStreamA = Fso.OpenTextFile(FileNameA, ForWriting, True)
ArrayLast = Ubound(Barposes)
LastDate = Years(ArrayLast) & "-" & Months(ArrayLast) & "-" & Days(ArrayLast)
if (Datalengths=0 or datalengths>=ArrayLast) then
Datalengths=ArrayLast
end if
Datastart = ArrayLast-Datalengths
For i = Datastart 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)
If Opens(i)<1 Then Opens(i)="0" & Opens(i)
If Highs(i)<1 Then Highs(i)="0" & Highs(i)
If Lows(i)<1 Then Lows(i)="0" & Lows(i)
If Closes(i)<1 Then Closes(i)="0" & Closes(i)
If Vols(i)<1 Then Vols(i)="0" & Vols(i)
If Amounts(i)<1 Then Amounts(i)="0" & Amounts(i)
LineData = AforeYear & AforeMonth & AforeDay & " " & Opens(i) & " " & Highs(i) & " " & Lows(i) & " " & Closes(i) & " " & Vols(i) & " " & Amounts(i)
LineDataA = AforeYear & AforeMonth & AforeDay & "," & Opens(i) & "," & Highs(i) & "," & Lows(i) & "," & Closes(i) & "," & Vols(i) & "," & Amounts(i)
TextStream.WriteLine LineData
TextStreamA.WriteLine LineDataA
Next
TextStream.Close
TextStreamA.Close
End Function
Function CreateAsciiDataDayes()
Const ForReading = 1, ForWriting = 2, ForAppending = 8
Const TristateTrue = -1,TristateFalse = 0,TristateUseDefault = -2
Dim i,Fso,FileName,TextStream,LineData,FileNameA,TextStreamA,LineDataA,AforeLast,ArrayLast
Set Fso = CreateObject("Scripting.FileSystemObject")
FileName = "D:\Stock\TXTData\GET\" & StkNames & "_day.txt"
FileNameA = "D:\Stock\TXTData\ttpcn\" & StkNames & "_day.txt"
Set TextStream = Fso.OpenTextFile(FileName,ForWriting,True)
Set TextStreamA = Fso.OpenTextFile(FileNameA,ForWriting,True)
ArrayLast = Ubound(Barposes)
if (Datalengths=0 or datalengths>=ArrayLast) then
Datalengths=ArrayLast
end if
Datastart = ArrayLast-Datalengths
For i = Datastart 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)
If Opens(i)<1 Then Opens(i)="0" & Opens(i)
If Highs(i)<1 Then Highs(i)="0" & Highs(i)
If Lows(i)<1 Then Lows(i)="0" & Lows(i)
If Closes(i)<1 Then Closes(i)="0" & Closes(i)
If Vols(i)<1 Then Vols(i)="0" & Vols(i)
If Amounts(i)<1 Then Amounts(i)="0" & Amounts(i)
LineData = Years(i) & Months(i) & Days(i) & " " & Opens(i) & " " & Highs(i) & " " & Lows(i) & " " & Closes(i) & " " & Vols(i) & " " & Amounts(i)
LineDataA = Years(i) & Months(i) & Days(i) & "," & Opens(i) & "," & Highs(i) & "," & Lows(i) & "," & Closes(i) & "," & Vols(i) & "," & Amounts(i)
TextStream.WriteLine LineData
TextStreamA.WriteLine LineDataA
Next
TextStream.Close
TextStreamA.Close
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:\Stock\TXTData")
Set Folder = Fso.CreateFolder("D:\Stock\TXTData\GET")
Set Folder = Fso.CreateFolder("D:\Stock\TXTData\ttpcn")
End Function
%>
explain(1,'--非日线为伪日线输出,两种输出格式:');
explain(1,'1) YearsMonthsDays" "Opens" "Highs" "Lows" "Closes" "Vols" "Amounts >>D:\stock\txtdata\get');
explain(1,'2) YearsMonthsDays,Opens, Highs,Lows,Closes,Vols, Amounts >>D:\stock\txtdata\ttpcn');
[ 本帖最后由 xmhenry 于 2009-10-20 02:02 编辑 ] |
|