|
|
Fox和GET的 数据转换原代码
Fox和GET的 数据转换原代码: j7 P1 w7 w/ g; K
数据输出=1 输出eWave/GET 伪日线数据(0/1) ,可同时输出两种格式的数据% v% L% @. M! M5 }" k+ P8 L
Datalength= 输出数据天数(0~99999,0/全输出)+ V; Z$ r: g s1 P! s# O m
1)嵌入一个指标到下面的公式里面,把公式调入副图,想转换时 调整数据输出=1,输出个股) } S. E% _; j4 p
2)全输出: 用嵌入其他指标的公式在A股板快选股. L" f1 B4 `5 b6 r# j
------------------------------/ r8 |+ n6 O6 T' h) e( b
参数:
$ j8 r. E" u+ D9 e数据输出 0,0,1 s9 }; h6 S9 \8 O5 Y
DATALENGTH 1900,1,99999
4 V# b4 E+ U) d' e9 v//
3 ]9 D. |' o5 [! f" k: Uvertline(barpos=datacount-Datalength and datalength>0 and datalength<=datacount),colormagenta;% U3 g( b3 ^1 h8 i1 r6 b4 g9 V
转换天数:if(datalength=0 or datalength>datacount,datacount,datalength),colormagenta,linethick0;0 C1 A; c" [, ]& u6 H
数据转换:数据输出,colorred,linethick0;
. P, B$ o7 ~' R7 u5 g$ w
# c* d [1 F% _1 a& W2 yIF 数据输出=1 then begin
_8 l* p; r! I6 t O _Barpos := BARPOS;
9 K" O/ I v. a0 M _Year := YEAR;9 Z% Y6 s0 E( ]# q6 B# f: T: w
_Month := MONTH;
+ Y) v$ Z0 q1 a5 J0 ~& T _Day := DAY;+ u4 R6 T0 h G! v! v, d
_Datatype := DATATYPE; Q6 c/ u9 [: N3 N
_Marketlabel := MARKETLABEL;
! o' s* u9 F0 K6 D7 N _StkName := STKLABEL;
% C# p3 t: I& a; h5 l- x j _Open := OPEN;
$ t5 j- } i2 y, J8 |- ~+ y. J _High := HIGH;: N: i9 h4 S6 ^# L+ h8 T8 L
_Low := LOW;" L5 [9 I C" x; _- ?4 C; G
_Close := CLOSE;
5 y3 I! K( d) ^# R _Vol := VOL;
B" h$ r: }3 a- S3 \# `( a8 ? _Amount := AMOUNT; : J; V9 x- [) o2 x( a
_Datalength := Datalength;
8 V. f# ~8 w8 F1 l
) x, R" [- ~+ V; c! s8 a<%
( J& h; W0 J) `0 SDim Marketlabels,Stknames,Datatypes,Opens,Highs,Lows,Closes,Vols,Amounts,Years,Months,Days4 ]3 u, T' E9 y5 Y$ I6 b
Barposes = ffl.vardata("_Barpos")3 _0 E! H3 E/ ]
Years = ffl.vardata("_Year")
6 P4 n0 e& e- V0 ` Months = ffl.vardata("_Month")
( Z% Z1 A8 M6 D# O( [8 F Days = ffl.vardata("_Day")* Q1 z: N7 X* [- K7 u
Datatypes = ffl.vardata("_Datatype")1 s7 B0 i! ?& ^4 z d$ J
Marketlabels = ffl.vardata("_Marketlabel")
9 u# E3 i6 P6 a7 T Stknames = ffl.vardata("_Stkname")* \( a1 E" {/ _$ F) \; j q o
Opens = ffl.vardata("_Open")
0 ^2 e# b M C4 b) b: @! T- q6 x6 { Highs = ffl.vardata("_High")
3 C: h8 ]7 v# E# F Lows = ffl.vardata("_Low")
5 O# X3 `1 S! r Closes = ffl.vardata("_Close")
6 V2 A7 `+ i2 z% }( n4 S Vols = ffl.vardata("_Vol")
9 z+ n4 c+ L8 m7 g$ ? Amounts = ffl.vardata("_Amount")- E4 N# L) M5 X a* Y3 q0 ]
Datalengths = FFL.vardata("_Datalength")
6 t: z* w% d6 A" N, e5 H: i$ Y5 M# ~2 C) c/ Y! j; O: p1 C. P' c
If ReportFolderStatus("D:\Stock\TXTData") = 0 Then CreatFolder()
% A6 p( ?) f* {* @' ]SelectCreatAsciiDataType(Datatypes)
5 h% ~- I% O2 z4 i/ t9 N+ y1 p2 i" y9 O1 o; @
Function SelectCreatAsciiDataType(Types)3 u& f' v$ e N a- s0 S. {
Select Case Types
3 z8 ?5 v- x# }6 h Case 0! N5 u7 N& w7 O. m% f$ _: M
- q; d$ K( O2 Z# P Case 1 w% N! h6 e0 F/ X4 M- h
Call CreateAsciiDataMin("_m01")
' q) l* H; b: ]: R J" Q) P6 k Case 23 p0 A* j, s, G/ X
Call CreateAsciiDataMin("_m05") 6 h8 p, p5 Y- L' {- }5 E& D: m
Case 3
& o4 e' h* L! [0 ] Call CreateAsciiDataMin("_m15")
2 J% S0 N% ?% U2 | Case 4
1 y3 @/ m0 B- E! n4 ~4 Y) K Call CreateAsciiDataMin("_m30")
7 `* v# f$ a: I R$ U2 Y; @/ Q Case 5
$ N# |4 j# X5 v1 J0 M Call CreateAsciiDataMin("_m60")8 l# R8 i% W x# f
Case 6, K: Y3 m0 ^* |4 V
Call CreateAsciiDataDayes()
# u9 I1 `3 k! y1 L Case 7
, c1 W( {) H% E/ o3 x) a" F* n Call CreateAsciiDataMin("_wk") " S$ Y i+ H$ K. R4 N1 c1 j a# m
Case 8
4 g* ~5 t6 T, H5 E6 B Call CreateAsciiDataMin("_mth")
$ I% B. d' O. V1 p. P- I1 C Case 97 q" L# b( ~2 k/ D) V$ ^' S
Call CreateAsciiDataMin("_yr")
9 ^; C# ?$ w+ ~1 ~* X Case 10
0 Q9 {. r4 p% G% Q, o' |
- H- a, ]* _0 x* u# {" T6 W4 ] Case 11" H0 {5 |! z( D4 c6 l
) k+ @) M- L4 a
Case Else
9 x5 s3 P1 t) y' L9 F% K1 c4 `: F0 Q7 t' F+ d( H, ]% n9 u
End Select
2 E9 M! N9 ^& i1 qEnd Function; u `; j/ d; G9 P( }" M7 z
3 P3 P; ]2 O4 ?+ xFunction CreateAsciiDataMin(FolderName)
. {! O1 V: q; R Const ForReading = 1, ForWriting = 2, ForAppending = 8' F% {9 R& W N1 L5 B3 [: \( V
Const TristateTrue = -1,TristateFalse = 0,TristateUseDefault = -2
4 v) B: _! z& ]# Y1 a Dim Fso,FileName,TextStream,LineData,FileNameA,TextStreamA,LineDataA,ArrayLast,LastDate,AforeDate,AforeYear,AforeMonth,AforeDay
6 h. z( g3 I6 y2 n& L( g& d& X Set Fso = CreateObject("Scripting.FileSystemObject")
! E4 i3 w* b- t6 T3 w. Y$ G FileName = "D:\Stock\TXTData\GET\" & StkNames & FolderName & ".txt": G5 j+ P/ _4 d/ H9 M
FileNameA = "D:\Stock\TXTData\ttpcn\" & StkNames & FolderName & ".txt"$ Q; x1 f2 A8 r
Set TextStream = Fso.OpenTextFile(FileName, ForWriting, True)
4 j' R' X* s1 }$ l+ G" q Set TextStreamA = Fso.OpenTextFile(FileNameA, ForWriting, True)8 j) E) ], c& |! j5 H3 z( L
ArrayLast = Ubound(Barposes)% u s6 O) |. `% y
LastDate = Years(ArrayLast) & "-" & Months(ArrayLast) & "-" & Days(ArrayLast)
4 J7 P' d5 C0 o" V" g4 @$ p7 G8 O/ ^$ Y0 h( u1 \9 o' d& T) n# i
if (Datalengths=0 or datalengths>=ArrayLast) then+ {( B* D. r$ P* ^
Datalengths=ArrayLast8 d1 o0 w* }) t" u4 b
end if/ v% n, A3 Q0 D% o/ c
Datastart = ArrayLast-Datalengths1 T4 g2 K+ p, B _
" ?1 ~. G& w( v
For i = Datastart To ArrayLast6 ], J4 S9 d& P8 p
AforeDate = DateAdd("d",(i-ArrayLast),LastDate)
& m7 [* i( O4 G4 u) p) Q3 G" w AforeYear = Year(AforeDate)
1 [9 G1 x# d) ~) \; i( m( c/ z AforeMonth = Month(AforeDate)
7 t5 r# k( T! o" }4 E If Len(AforeMonth) = 1 Then AforeMonth = "0" & AforeMonth
' {0 u Y8 W/ }6 o& L AforeDay = Day(AforeDate)
5 L6 A8 p: {' x0 p& W If Len(AforeDay) = 1 Then AforeDay = "0" & AforeDay5 g# D5 m8 X- p8 Y L
Opens(i) = FormatNumber(Opens(i),3,,,TristateFalse)
' ^+ ]& V" m8 L Highs(i) = FormatNumber(Highs(i),3,,,TristateFalse)
i$ P7 `( W: d, ?, |2 y# ? D Lows(i) = FormatNumber(Lows(i),3,,,TristateFalse)
( R: v! ]7 d$ A' t% m& S# n) N0 ` Closes(i) = FormatNumber(Closes(i),3,,,TristateFalse)( D" B6 F/ Z: D/ r) V3 _, X
Vols(i) = FormatNumber(Vols(i),3,,,TristateFalse)
! [% w) a2 b/ Q+ n/ X5 w3 A' Z. |' D Amounts(i) = FormatNumber(Amounts(i),3,,,TristateFalse)# P& [2 w$ ?% g% d/ T. G/ H! r& W
If Opens(i)<1 Then Opens(i)="0" & Opens(i)
! s+ i$ ?8 v& T If Highs(i)<1 Then Highs(i)="0" & Highs(i)6 m% j- ~# ^! C! w
If Lows(i)<1 Then Lows(i)="0" & Lows(i)( v+ R) \- u0 b+ V5 j+ Q
If Closes(i)<1 Then Closes(i)="0" & Closes(i)
2 S2 u& M/ p$ I" H- ~ If Vols(i)<1 Then Vols(i)="0" & Vols(i)0 T$ v7 `; k4 M3 Y" @- ]3 u8 c
If Amounts(i)<1 Then Amounts(i)="0" & Amounts(i)1 |3 V1 k+ M. k. D: A* C8 ~ S
LineData = AforeYear & AforeMonth & AforeDay & " " & Opens(i) & " " & Highs(i) & " " & Lows(i) & " " & Closes(i) & " " & Vols(i) & " " & Amounts(i)
* T* r- k- D' s LineDataA = AforeYear & AforeMonth & AforeDay & "," & Opens(i) & "," & Highs(i) & "," & Lows(i) & "," & Closes(i) & "," & Vols(i) & "," & Amounts(i). j4 G/ a. C1 }$ a' P
TextStream.WriteLine LineData
) R2 w& T8 H" [3 G1 q, n& w# e TextStreamA.WriteLine LineDataA
5 H: P& R, Y/ Z3 |3 n5 e Next
" k( K: x" g* ~ TextStream.Close
' O W9 z7 W" ], Y7 M4 A0 x) M TextStreamA.Close
: M* h( F* n1 s, `" @: C. b2 P: x8 i# ?7 P
; P3 e) e! \$ xEnd Function
0 t2 A8 {! w' x: m" P* k; n* ~3 _$ c- ]& ~+ K
Function CreateAsciiDataDayes()
3 u6 o8 \- Y8 ?" y Const ForReading = 1, ForWriting = 2, ForAppending = 8
5 b/ E+ j( I( h7 C Const TristateTrue = -1,TristateFalse = 0,TristateUseDefault = -20 D8 P9 d/ M- V5 S
Dim i,Fso,FileName,TextStream,LineData,FileNameA,TextStreamA,LineDataA,AforeLast,ArrayLast/ j5 G* ?3 C$ i( V! G
Set Fso = CreateObject("Scripting.FileSystemObject")3 C0 Y9 e" y5 q' c
FileName = "D:\Stock\TXTData\GET\" & StkNames & "_day.txt"
q" M4 j" j' z% S4 L: l3 v FileNameA = "D:\Stock\TXTData\ttpcn\" & StkNames & "_day.txt"
+ f3 u; E1 J4 n. H6 q0 F Set TextStream = Fso.OpenTextFile(FileName,ForWriting,True)
8 f; j1 ~, m9 F8 G Set TextStreamA = Fso.OpenTextFile(FileNameA,ForWriting,True)* ^* x$ T f% j5 I* K v
ArrayLast = Ubound(Barposes)) x6 S C9 i( T* W# S' f8 R4 n! R k# @
if (Datalengths=0 or datalengths>=ArrayLast) then; x. c: ]: w0 ^+ e8 m* I" s# o
Datalengths=ArrayLast
0 E+ _' _' d" w- m end if
" _1 Y7 c' V! [ Datastart = ArrayLast-Datalengths
/ V/ L. B0 X; M9 K. c1 ?' F9 l2 N- F- X4 t6 Q
For i = Datastart To ArrayLast; |, ^9 o6 x$ ]( X8 j4 q
If Len(Months(i)) = 1 Then Months(i) = "0" & Months(i)
8 h2 ~3 D% ^) z, _" F3 Q If Len(Days(i)) = 1 Then Days(i) = "0" & Days(i)
; p1 D, n! u( Z6 I( c* l Opens(i) = FormatNumber(Opens(i),3,,,TristateFalse)& V8 T# G0 E; `2 {( a
Highs(i) = FormatNumber(Highs(i),3,,,TristateFalse)
9 t; w6 d7 c* b, n' g2 V' G1 y Lows(i) = FormatNumber(Lows(i),3,,,TristateFalse)7 Z9 C: Y7 A3 j$ N# _, b
Closes(i) = FormatNumber(Closes(i),3,,,TristateFalse)' P' V0 T8 P4 j6 G# r$ E0 Z; m; @1 ?
Vols(i) = FormatNumber(Vols(i),3,,,TristateFalse)
2 k$ `6 O$ c% R* [. |/ S Amounts(i) = FormatNumber(Amounts(i),3,,,TristateFalse)+ ~2 C9 D! f3 ^& p; N4 o
If Opens(i)<1 Then Opens(i)="0" & Opens(i)
2 p1 R) f0 |# h& W; W. O If Highs(i)<1 Then Highs(i)="0" & Highs(i)
- i4 }) Z5 w2 ` If Lows(i)<1 Then Lows(i)="0" & Lows(i)
% ]8 a0 i7 q; | If Closes(i)<1 Then Closes(i)="0" & Closes(i)
. ^ Q+ \1 E; V3 l8 U If Vols(i)<1 Then Vols(i)="0" & Vols(i)5 o' x+ T- z0 I9 f
If Amounts(i)<1 Then Amounts(i)="0" & Amounts(i)
* o) g# s+ u$ `& @ LineData = Years(i) & Months(i) & Days(i) & " " & Opens(i) & " " & Highs(i) & " " & Lows(i) & " " & Closes(i) & " " & Vols(i) & " " & Amounts(i)) ~" M1 R: j3 Y- b7 @1 _; k
LineDataA = Years(i) & Months(i) & Days(i) & "," & Opens(i) & "," & Highs(i) & "," & Lows(i) & "," & Closes(i) & "," & Vols(i) & "," & Amounts(i)) Z: D' b6 H3 c$ \( v
TextStream.WriteLine LineData1 I; ~: G7 O. j2 x
TextStreamA.WriteLine LineDataA5 C6 S) ?& D0 C" H' Z
Next+ e7 x# f0 o3 e( t$ t! C5 Q
TextStream.Close
: v1 }8 B# N1 z; I' f! g8 m& H TextStreamA.Close
) l5 m% w* V! U5 b2 ~End Function, |; q6 e- i: x" @* \ [" ~
, z/ W- r7 C' F! lFunction ReportFolderStatus(FolderDir)
8 F' \- i8 _$ P- r3 Y Dim Fso, Status' f4 d$ v- J4 N4 @9 b# j
Set Fso = CreateObject("Scripting.FileSystemObject")
6 y2 r( f7 M( `/ M If (Fso.FolderExists(FolderDir)) Then- H6 y8 m3 Y. x" S7 _' U
Status = 1
# N$ U6 ?7 D% u g a2 {! n Else
- M4 V5 T8 q& _% u* {2 y0 ` Status = 06 d# T, A3 n) ]0 w ]
End If
" c9 J$ a( m' i& c" u; W ReportFolderStatus = Status
3 i' q ^# E7 @ uEnd Function# e+ d: r" ^" s8 i
8 [: E0 O0 w6 p$ J* L& j6 }Function CreatFolder()8 }% v- S9 h6 M x3 G- Z# U$ O
Dim Fso7 P( ^5 |1 n: \: ?8 T6 k9 ?
Set Fso = CreateObject("Scripting.FileSystemObject")
8 }- u3 i0 Q0 D) r0 e3 A8 t3 T% \ F" E Dim Folder
- `& ?& D6 H" {7 S Set Folder = Fso.CreateFolder("D:\Stock\TXTData")$ t% ]1 m- a. t, _ ]( z: |0 A* F
Set Folder = Fso.CreateFolder("D:\Stock\TXTData\GET")
7 `, ^4 r# r# e/ |1 s7 @ Set Folder = Fso.CreateFolder("D:\Stock\TXTData\ttpcn")
8 P5 M g( B. |$ j1 M1 TEnd Function! t3 T- O, q4 D2 f
%>
) m: M7 W. k1 B5 {$ O. K" M! D0 [5 y
explain(1,'--非日线为伪日线输出,两种输出格式:');7 W* y3 M `! x0 `* h# e3 Z4 t4 u
explain(1,'1) YearsMonthsDays" "Opens" "Highs" "Lows" "Closes" "Vols" "Amounts >>D:\stock\txtdata\get');: i( M! O) m c3 I! M* b4 z
explain(1,'2) YearsMonthsDays,Opens, Highs,Lows,Closes,Vols, Amounts >>D:\stock\txtdata\ttpcn');
- U) T* N5 f: n, v. v! x0 N R
, S* A1 i3 G. u, _[ 本帖最后由 xmhenry 于 2009-10-20 02:02 编辑 ] |
|