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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件高级功能研发区 → 请教,怎样将行情四价写入一个二进制文件中

   

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


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

主题:请教,怎样将行情四价写入一个二进制文件中

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


加好友 发短信
等级:新手上路 帖子:53 积分:258 威望:0 精华:0 注册:2010/12/4 10:46:10
请教,怎样将行情四价写入一个二进制文件中  发帖心情 Post By:2012/8/21 22:30:51 [只看该作者]

怎样将行情数据:时间,open,high,low,close,vol实时写入一个二进制的数据文件中呢?望各位指教!!!

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


加好友 发短信
等级:新手上路 帖子:53 积分:258 威望:0 精华:0 注册:2010/12/4 10:46:10
  发帖心情 Post By:2012/8/21 22:33:21 [只看该作者]

要用到array函数吗

取数据用minutedata对象,是吗?写文件用哪个函数呢?


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


加好友 发短信 czt
等级:蜘蛛侠 帖子:1445 积分:6114 威望:0 精华:3 注册:2012/1/16 10:31:19
  发帖心情 Post By:2012/8/22 8:42:40 [只看该作者]

输出到文件可以用DEBUGFILE

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


加好友 发短信
等级:蜘蛛侠 帖子:1366 积分:5210 威望:0 精华:7 注册:2010/12/11 18:00:33
  发帖心情 Post By:2012/8/23 8:23:53 [只看该作者]

debugfile是用在后台策略上的,在vba策略中,只能使用filesystemobject对象了,这是我从网上搜索的代码,你自己参照代码就能搞定吧。

 

Dim fsObj, file

'写

Set fsObj = CreateObject("Scripting.FileSystemObject")

Set file = fsObj.CreateTextFile("c:\test.txt", True)

file.WriteLine ("test" )

file.Close

'读

Const ForReading = 1, ForWriting = 2, ForAppending = 8

Const TristateUseDefault = -2, TristateTrue = -1, TristateFalse = 0

Dim fileObj, fileInfo, retObj, strInfo, strPath As String

Set fileObj = CreateObject("Scripting.FileSystemObject")

strPath = "c:\test.txt"

Set fileInfo = fileObj.GetFile(strPath)

Set retObj = fileInfo.OpenAsTextStream(ForReading, TristateUseDefault)

strInfo = retObj.ReadLine

retObj.Close


 


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


加好友 发短信
等级:新手上路 帖子:53 积分:258 威望:0 精华:0 注册:2010/12/4 10:46:10
  发帖心情 Post By:2012/8/23 15:24:11 [只看该作者]

不是c:\test.txt这类文件,要写到二进制的文件,比如sz000001.day之类的,应该要涉及到循环和数组等的吧,变量有open、high、low、close、vol等

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


加好友 发短信
等级:蜘蛛侠 帖子:1366 积分:5210 威望:0 精华:7 注册:2010/12/11 18:00:33
  发帖心情 Post By:2012/8/23 16:13:38 [只看该作者]

去搜一下,vba读写二进制文件,应该有的,变量有open、high、low、close、vol等可以通过对象histroydata返回。

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


加好友 发短信
等级:新手上路 帖子:53 积分:258 威望:0 精华:0 注册:2010/12/4 10:46:10
  发帖心情 Post By:2012/8/23 20:23:13 [只看该作者]

由于金字塔不支持type,所以不知道如何建立struct啊

版主有什么好的思路吗????


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


加好友 发短信
等级:新手上路 帖子:53 积分:258 威望:0 精华:0 注册:2010/12/4 10:46:10
  发帖心情 Post By:2012/8/23 20:25:24 [只看该作者]

 

读取MT4历史数据的范例 

struct HistoryHeader

 { 

int version; // 基础版本 

char copyright[64]; // 版权信息 

char symbol[12]; // 证券 

int period; // 周期类型 

int digits; // 小数位数 

time_t timesign; // 基础报时的创建 

time_t last_sync; // 同步时间 

int unused[13]; // 将来应用 

}MTHSTHEAD;


#pragma pack(push,1) 

struct RateInfo

 { 

time_t ctm; 

double open; 

double low; 

double high; 

double close; 

double vol; 

}MTHST; 


#pragma pack(pop)


MTHSTHEAD hsthead; 

MTHST kline; 

CArray<MTHST, MTHST > akline; 

CFile file; 

if( file.Open( _T("USDCHF1440.hst"), CFile::modeRead ) )

 { 

file.SeekToBegin(); 

file.Read( &hsthead, sizeof(MTHSTHEAD) ); 

while( sizeof(MTHST) == file.Read( &kline, sizeof(MTHST) ) )

 {

akline.Add(kline);

 } 

file.Close();

 }



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


加好友 发短信
等级:新手上路 帖子:53 积分:258 威望:0 精华:0 注册:2010/12/4 10:46:10
  发帖心情 Post By:2012/8/23 20:27:13 [只看该作者]

以上是希望写入的二进制数据文件的结构

 回到顶部