- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我已经下载了 Dukascopy 报价数据,并使用 eaylzma 库对其进行了解压。原始压缩二进制文件为 EURUSD/2010/00/08/12h_ticks.bi5 (EURUSD/2010/ian/8/12h) 解压后得到如下格式:
+-------------------------+--------+-------+
| time | Bid | Ask |
+-------------------------+--------+-------+
000003CA 00022EC0 00022EB6 40CCCCCD 41180000
000004F5 00022EB6 00022EB1 4099999A 404CCCCD
(您可以从以下位置下载原始压缩文件: EURUSD/2010/00/08/12h_ticks.bi5 .用lzma解压后得到文件: 12h_ticks )
读取二进制文件:
int ii1;
int ii2;
int ii3;
float ff1;
float ff2;
ifstream in("12h_ticks",ofstream::binary);
in.read((char*)(&ii1), sizeof(int));
in.read((char*)(&ii2), sizeof(int));
in.read((char*)(&ii3), sizeof(int));
in.read((char*)(&ff1), sizeof(float));
in.read((char*)(&ff2), sizeof(float));
std::cout << " ii1=" << ii1 << std::endl;
std::cout << " ii2=" << ii2 << std::endl;
std::cout << " ii3=" << ii3 << std::endl;
std::cout << " ff1=" << ff1 << std::endl;
std::cout << " ff2=" << ff2 << std::endl;
in.close();
我得到以下结果:
ii1=-905773056
ii2=-1070726656
ii3=-1238498816
ff1=-4.29492e+08
ff2=8.70066e-42
怎么了?我无法从二进制文件中读取数据。请帮助我。
最佳答案
数据似乎以大端格式存储在文件中。加载时需要将其转换为小端。
#include <iostream>
#include <fstream>
#include <algorithm>
template<typename T>
void ByteSwap(T* p)
{
for (int i = 0; i < sizeof(T)/2; ++i)
std::swap( ((char *)p)[i], ((char *)p)[sizeof(T)-1-i] );
}
int main()
{
int ii1;
int ii2;
int ii3;
float ff1;
float ff2;
std::ifstream in("12h_ticks",std::ofstream::binary);
in.read((char*)(&ii1), sizeof(int));
in.read((char*)(&ii2), sizeof(int));
in.read((char*)(&ii3), sizeof(int));
in.read((char*)(&ff1), sizeof(float));
in.read((char*)(&ff2), sizeof(float));
ByteSwap(&ii1);
ByteSwap(&ii2);
ByteSwap(&ii3);
ByteSwap(&ff1);
ByteSwap(&ff2);
std::cout << " ii1=" << ii1 << std::endl;
std::cout << " ii2=" << ii2 << std::endl;
std::cout << " ii3=" << ii3 << std::endl;
std::cout << " ff1=" << ff1 << std::endl;
std::cout << " ff2=" << ff2 << std::endl;
in.close();
return 0;
}
结果如下:
ii1=970
ii2=143040
ii3=143030
ff1=6.4
ff2=9.5
如果您想阅读有关该主题的更多信息,我从此处获取了 ByteSwap 函数。 How do I convert between big-endian and little-endian values in C++?
关于c++ - 从 Dukascopy tick 二进制文件中读取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14035808/
我有一个 Visual Studio 2008 解决方案,当我构建时,它返回以下错误: Ticks must be between DateTime.MinValue.Ticks and DateTi
我正在 Xv6 上做操作系统类(class)的作业.我需要为其创建时间、终止时间、休眠时间等实现一个进程的数据状态结构... 到目前为止,我决定直接使用 ticks 变量而不使用 tickslock,
我可以删除刻度标签: ax.axes.get_yaxis().set_visible(False) 但这也消除了滴答声。我想保留蜱虫。 最佳答案 只需使用一个NullFormatter ax = pl
我正在处理刻度数据,并希望将我的 xts 不规则间隔系列聚合成一个 1 秒的同质系列。因此,我使用 xts 包函数 to.period : price_1m <-to.period(price,per
在 C# System.Windows.Forms.Timer 中,如果计时器节拍内的代码计算时间比节拍长度长,会发生什么情况? 例如,在下面的代码中,如果更新标签的时间比滴答的时间间隔(1 秒)长,
如何通过逐笔报价数据对我的逐笔报价进行重新采样以获取 Candlesticks OHLC 数据。 这是我的数据在 pandas DataFrame 中的样子。 Timestamp
这是对 this 的跟进问题,作者想要不同的刻度和刻度标签颜色。我想将这些设置保存为 Matplotlib 样式。但在 Matplotlib 样式中,我只能设置刻度颜色(xtick 设置见下文),这会
我想在日期时间 X 轴上显示每月刻度。我使用下面的代码实现了这一点。 DateAxis dateAxis = (DateAxis)chart.getXYPlot().getDomainAxis();
我是业余时间的 Java 开发者,我只是想知道 level.tick() 和 Level.tick(level) ('Level' 是类的名称,'level' 是该类的对象) 我知道,由于 java
我正在实现时间轴功能并使用 d3.time.scale D3 中的对象来制作一个轴。这是代码: var t = 1066555; var xd = [new Date(t-10000), new Da
我有一个具有旋转动画的自定义 View (PieView)。现在我想与旋转速度同步播放滴答滴答滴答...声音(即当旋转速度快时,滴答声应该快,当旋转慢时,滴答声应该快)滴答滴答应该很慢)。为此,我首先
我正在制作一个分层图表,其中有条形图和规则线。我遇到的问题是,在 x 轴上,刻度线和刻度标签只出现在条形图下方,不会跨越整个轴,因此在规则线下方没有刻度线和标签位于。这是我所看到的示例 ( link
我有一个histogram with centered bin-ticks 。 如图所示,每个 bin-tick 的编号标签彼此非常接近,以至于数字不像我希望的那样清晰。我想在我的图中保留居中的垃圾箱
我正在制作玩具熊的五夜后宫的“粉丝游戏”。在我开始收到此错误之前,我的代码工作正常: File "C:\Users\Admin\Desktop\Python\Five Nights\Five Nigh
这很简单,但我不明白...... 我正在尝试设定一个时间。每秒滴答一次...但它每 2 秒滴答一次?!? package main import ( "fmt" "time" ) fu
我正在以日期时间刻度格式存储 Azure 表存储行键 String.Format("{0:D19}", DateTime.MaxValue.Ticks - DateTime.UtcNow.Ticks)
What is the correct way to multiply and divide ints in C to avoid overflow? I want to determine h
我在 javascript 和 node.js 事件循环中看到了“tick”的不同定义。 有人说这是贯穿所有阶段的第 1 次迭代事件循环。 有人说阶段和阶段之间的过渡另一个是蜱虫。 有人说它是一个事件
我试图让我的模型对时钟滴答作响,以便做一些动画,例如 elm 架构教程的示例 8(旋转立方体)。 https://github.com/evancz/elm-architecture-tutorial
我创建了一个应用程序,它播放小轨道的播放列表,一切正常,直到 Windows Phone 8.1 更新 问题是 -> 轨道结束时有奇怪的滴答声” 所以我尝试在 xbox 音乐播放器中播放轨道它也有相同
我是一名优秀的程序员,十分优秀!