欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 请帮忙修改一个导出数据的VBS公式

   

欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。    


  共有5559人关注过本帖树形打印复制链接

主题:请帮忙修改一个导出数据的VBS公式

帅哥哟,离线,有人找我吗?
cq2698
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:131 积分:491 威望:0 精华:0 注册:2010/10/8 10:04:16
请帮忙修改一个导出数据的VBS公式  发帖心情 Post By:2010/10/8 17:45:02    Post IP:125.34.163.34[只看该作者]

_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; 

<%

Sub create(fso,path)
If fso.FolderExists(path) Then
Exit Sub
End If
If Not fso.FolderExists(fso.GetParentFolderName(path)) Then
create fso,fso.GetParentFolderName(path)
End If
fso.CreateFolder(path)
End Sub

Set fso = CreateObject("scripting.filesystemobject")
outputf = "d:\Get\TEXT\"  '修改成你所要输出的绝对路径
' 注意:1.不能缺少最后的"\"号
'      2.注意输出目录的关系必须保证在此目录的上一级目录存在GET.EXE,确保调用无误
'      3.请自行设置AGET的输入目录为此目录
create fso,outputf
set fso = Nothing

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")

SelectCreatAsciiDataType(Datatypes)

Function SelectCreatAsciiDataType(Types)
        Select Case Types
                Case 0

                Case 1
                        Call CreateAsciiDataMin("-1min-")                       
                Case 2
                        Call CreateAsciiDataMin("-5min-")                       
                Case 3
                        Call CreateAsciiDataMin("-15min-")                       
                Case 4
                        Call CreateAsciiDataMin("-30min-")                       
                Case 5
                        Call CreateAsciiDataMin("-60min-")
                Case 6
                        Call CreateAsciiDataDayes()
                Case 7
                        Call CreateAsciiDataMin("-Week-")                       
                Case 8
                        Call CreateAsciiDataMin("-Month-")                       
                Case 9
                        Call CreateAsciiDataMin("-Year-")                       
                Case 10
                        Call CreateAsciiDataMin("-MDay-")
                Case 11
                        Call CreateAsciiDataMin("-MMin-")
                Case 12
                        Call CreateAsciiDataMin("-MSec-")
                Case Else

                End Select
End Function

Function CreateAsciiDataMin(FolderName)


 


 回到顶部
帅哥哟,离线,有人找我吗?
cq2698
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:131 积分:491 威望:0 精华:0 注册:2010/10/8 10:04:16
  发帖心情 Post By:2010/10/8 17:45:41    Post IP:125.34.163.34[只看该作者]

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 = outputf & StkNames & FolderName & ".txt"
        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 AforeM & 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 & "0" & AforeMonth & "0" & 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 i,Fso,FileName,TextStream,LineData,AforeLast,ArrayLast
        Set Fso = CreateObject("Scripting.FileSystemObject")
        FileName = outputf & StkNames & "-Day-" & ".txt"
        IF ReportFileStatus(FileName) = 0 Then
                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) & "0" & Months(i) & "0" & Days(i) & " " & Opens(i) & " " & Highs(i) & " " & Lows(i) & " " & Closes(i) & " " & Vols(i) & " " & Amounts(i)
                        TextStream.WriteLine LineData
                Next
                TextStream.Close
        ElseIf ReportFileStatus(FileName) = 1 Then
                AforeLast = 0
                Set TextStream = Fso.OpenTextFile(FileName, ForReading, False)
                Do Until TextStream.AtEndOfStream = True
                TextStream.ReadLine
                AforeLast = AforeLast+1
                Loop
                TextStream.Close
                Set TextStream = Fso.OpenTextFile(FileName,ForAppending,False)
                ArrayLast = Ubound(Barposes)
                For i = AforeLast 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) & "0" & Months(i) & "0" & Days(i) & " " & Opens(i) & " " & Highs(i) & " " & Lows(i) & " " & Closes(i) & " " & Vols(i) & " " & Amounts(i)
                        TextStream.WriteLine LineData
                Next
                TextStream.Close
        End If       
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

 

%>
0;


 回到顶部
帅哥哟,离线,有人找我吗?
admin
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:7302 积分:32559 威望:1000 精华:45 注册:2003/12/30 16:34:32
  发帖心情 Post By:2010/10/8 20:05:25    Post IP:125.34.163.34[只看该作者]

已经帮你修正,上面的送色代码位置。原先的代码有语法错误导致不能运行。

工作时会在D:\GET\TEXT目录导出文本数据


 回到顶部
帅哥哟,离线,有人找我吗?
cq2698
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:131 积分:491 威望:0 精华:0 注册:2010/10/8 10:04:16
  发帖心情 Post By:2010/10/8 20:39:47    Post IP:119.86.131.166[只看该作者]

老师导出只生成1个品种其它不行导出txt文件在get中只有1个其它不出来.生成这样1000001-5min-....1000001-30min-...1000001-Day-前面那个100001不对没有合约名能改下吗

 回到顶部
帅哥哟,离线,有人找我吗?
cq2698
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:131 积分:491 威望:0 精华:0 注册:2010/10/8 10:04:16
  发帖心情 Post By:2010/10/8 20:52:58    Post IP:119.86.131.166[只看该作者]

飞狐导出是这样c05-Day- c09-Day- ER05-Day- m05-Day- WSY05-Day-有合约名

现在导出是1000001-Day没有合约名


 回到顶部
帅哥哟,离线,有人找我吗?
admin
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:7302 积分:32559 威望:1000 精华:45 注册:2003/12/30 16:34:32
  发帖心情 Post By:2010/10/8 21:32:00    Post IP:125.34.163.34[只看该作者]

目前还不支持字符串变量的VBS公式传递

 回到顶部
帅哥哟,离线,有人找我吗?
cq2698
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:131 积分:491 威望:0 精华:0 注册:2010/10/8 10:04:16
  发帖心情 Post By:2010/10/8 21:38:00    Post IP:119.86.131.166[只看该作者]

能不能解决老师.问题就在合约名上

 回到顶部
帅哥哟,离线,有人找我吗?
cq2698
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:131 积分:491 威望:0 精华:0 注册:2010/10/8 10:04:16
  发帖心情 Post By:2010/10/9 9:36:04    Post IP:119.85.56.113[只看该作者]

改了的不行K线是乱的


 回到顶部