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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件高级功能研发区 → [求助]如何将交易信号导入金字塔并实现程序化交易

   

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


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

主题:[求助]如何将交易信号导入金字塔并实现程序化交易

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


加好友 发短信
等级:论坛游侠 帖子:103 积分:532 威望:0 精华:0 注册:2010/11/8 18:27:01
[求助]如何将交易信号导入金字塔并实现程序化交易  发帖心情 Post By:2010/12/3 15:01:28 [显示全部帖子]

  我用matlab编了交易系统,现在可以将交易信号输出到EXCEL(比如1是买,2是卖)。
现在想实现程序化交易,因此需要金字塔自动读取(每隔一秒钟执行一次)EXCEL文件,将信号传递给某一个变量,然后依据这个变量金字塔自动交易。

因为有点急,所以来不急慢慢学习,看了一堆论坛的帖子感觉还是有些迷茫,能否请高人指点一二。

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


加好友 发短信
等级:论坛游侠 帖子:103 积分:532 威望:0 精华:0 注册:2010/11/8 18:27:01
  发帖心情 Post By:2010/12/4 20:58:13 [显示全部帖子]

 谢谢了!
但是这一步

On Error Resume Next
Set objExcel = CreateObject("Excel.Application")
Set objWorkbook = objExcel.Workbooks.Open _
    ("D:\Scripts\output.xls")

很慢,大约要用10秒的时间

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


加好友 发短信
等级:论坛游侠 帖子:103 积分:532 威望:0 精华:0 注册:2010/11/8 18:27:01
  发帖心情 Post By:2010/12/4 21:02:53 [显示全部帖子]

 还有,为什么在金字塔的函数列表里找不到order这个函数?

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


加好友 发短信
等级:论坛游侠 帖子:103 积分:532 威望:0 精华:0 注册:2010/11/8 18:27:01
  发帖心情 Post By:2010/12/9 14:51:14 [显示全部帖子]

我是把信号写入文本文件的,代码如下:
(1)在excel的vba里面:
                Set fs = CreateObject("Scripting.FileSystemObject")
                Set a = fs.CreateTextFile("c:\out.txt", True)
                a.WriteLine (signal)
                a.Close
(2)在金字塔的vbs里面:
    On Error Resume Next
    Set fs = CreateObject("Scripting.FileSystemObject")
    Set a = fs.OpenTextFile("c:\out.txt", 1)
   
    signal = a.ReadLine
    a.Close
    'msgbox "signal"&signal

不知道如果写入ini文件该怎么写,请指教。

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


加好友 发短信
等级:论坛游侠 帖子:103 积分:532 威望:0 精华:0 注册:2010/11/8 18:27:01
  发帖心情 Post By:2010/12/14 16:06:27 [显示全部帖子]

  终于搞定了 呵呵
(1)vba里面
Const IniFileName As String = "C:\out.ini"
' the path and filename to the file containing the information you want to read/write

Private Declare Function GetPrivateProfileStringA Lib "kernel32" (ByVal strSection As String, _
    ByVal strKey As String, ByVal strDefault As String, ByVal strReturnedString As String, ByVal lngSize As Long, ByVal strFileNameName As String) As Long
   
Private Declare Function WritePrivateProfileStringA Lib "kernel32" (ByVal strSection As String, _
    ByVal strKey As String, ByVal strString As String, ByVal strFileNameName As String) As Long
Public Function WritePrivateProfileString32(ByVal strFileName As String, _
    ByVal strSection As String, ByVal strKey As String, ByVal strValue As String) As Boolean
Dim lngValid As Long
    On Error Resume Next
    lngValid = WritePrivateProfileStringA(strSection, strKey, strValue, strFileName)
    If lngValid > 0 Then WritePrivateProfileString32 = True
    On Error GoTo 0
End Function
Public Function GetPrivateProfileString32(ByVal strFileName As String, ByVal strSection As String, ByVal strKey As String, Optional strDefault) As String
Dim strReturnString As String, lngSize As Long, lngValid As Long
    On Error Resume Next
    If IsMissing(strDefault) Then strDefault = ""
    strReturnString = Space(1024)
    lngSize = Len(strReturnString)
    lngValid = GetPrivateProfileStringA(strSection, strKey, strDefault, strReturnString, lngSize, strFileName)
    GetPrivateProfileString32 = Left(strReturnString, lngValid)
    On Error GoTo 0
End Function

Sub WriteUserInfo()
' saves information in the file IniFileName
signal = 2
Tag = 0
    a1 = WritePrivateProfileString32(IniFileName, "operation", "tag", Tag)
    a2 = WritePrivateProfileString32(IniFileName, "operation", "signal", signal)
    If Not a1 Then
        MsgBox "Not able to save user info in " & IniFileName, vbExclamation, "Folder does not exist!"
        Exit Sub
    End If
   
End Sub

(2)金字塔里面
sub mtest3()
tag = cdbl(document.GetPrivateProfileFloat("operation", "tag", 0, "C:\out1.ini"))
msgbox tag
end sub

 回到顶部