Rss & SiteMap

金字塔客服中心 - 专业程序化交易软件提供商 http://www.weistock.com/bbs/

专业程序化软件提供商
共9 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

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

1楼
zjfuwen 发表于:2012/8/21 22:30:51
怎样将行情数据:时间,open,high,low,close,vol实时写入一个二进制的数据文件中呢?望各位指教!!!
2楼
zjfuwen 发表于:2012/8/21 22:33:21

要用到array函数吗

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

3楼
rushtaotao 发表于:2012/8/22 8:42:40
输出到文件可以用DEBUGFILE
4楼
guotx2010 发表于: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


 

5楼
zjfuwen 发表于:2012/8/23 15:24:11
不是c:\test.txt这类文件,要写到二进制的文件,比如sz000001.day之类的,应该要涉及到循环和数组等的吧,变量有open、high、low、close、vol等
6楼
guotx2010 发表于:2012/8/23 16:13:38
去搜一下,vba读写二进制文件,应该有的,变量有open、high、low、close、vol等可以通过对象histroydata返回。
7楼
zjfuwen 发表于:2012/8/23 20:23:13

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

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

8楼
zjfuwen 发表于: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();

 }


9楼
zjfuwen 发表于:2012/8/23 20:27:13
以上是希望写入的二进制数据文件的结构
共9 条记录, 每页显示 10 条, 页签: [1]


Powered By Dvbbs Version 8.3.0
Processed in 0.03125 s, 2 queries.