class tick{
public:
MqlTick data; //новые тиковые данныеbool refresh(); //метод обновления тиковых данных с проверкой на поступление новых данныхvoid write(); //запись тиковых данных в файл
.........
void tick::write(void){
if (file_handle>0)FileWrite(file_handle,data.bid);
}
最有可能的是他们。我有一半的代码也被绑在了计时器上,现在我不得不等待新的构建或拿出拐杖:(
没错,刚把OnTimer改成OnTick,一切都和以前一样了,但按内核优化是一个一个进行的,不是同时进行的。在我看来,开发人员 会很快修复这种明显的错误(我希望)。
这段代码没有触发定时器
但这个人确实如此。
没错,刚把OnTimer改成OnTick,一切都和以前一样了,但按内核优化是一个一个进行的,不是同时进行的。在我看来,开发人员会很快修复这种明显的错误(我希望)。
在我的情况下,它没有任何帮助。
一定有一些特殊性。
我在Win 2003 Server SP2 x32(AMD 2600+,一个核心)上试过。我可以说这是在一个 "空 "专家顾问上完成的。只添加了两个变量和几个函数(那些定义定时器状态和捕捉第一次启动的函数)。
代码10005去了哪里,是什么意思?
介于重新报价(10004)和 "请求被拒绝"(10006)之间的东西?
在Championship 2010的讨论中https://championship.mql5.com/2010/ru/users/capr, 一位参与者发布了他的EA代码。试着编译它(构建355)。编译结果显示了几个警告。我对以下片段感兴趣。在代码中有这样一个片段。
在两个相同类型的结构中,如果(ticket= ...编译器只对最后一个 产生了 "表达式不是布尔值 "的警告(即它 "掩盖 "了之前的类似警告)。如果你把警告中的if语句注释掉(为了检查编译器!),就会对一个类似的结构产生警告,这个结构没有被改变,但在之前的编译过程中在协议中没有。
这是一个特点还是一个错误?
错误,MetaTrader 5 MQL,已打开,开始: 2010.11.06 11:32,#25823
给我一个答案
我不知道是否应该如此,但在写到一个文件 时
我有时会得到非正常化的价格。
81.42
81.41
81.41
81.40000000000001
81.40000000000001
81.40000000000001
81.40000000000001
81.41
81.40000000000001
81.41
81.41
为什么?
并且由于某些原因,无法使用FileWriteStruct( file_handle,data,sizeof(data))写入文件。
并由于某些原因无法使用FileWriteStruct( file_handle,data,sizeof(data))向文件写入。
我需要写进一个二进制文件 -https://www.mql5.com/ru/docs/files/filewritearray
文件写入阵列
将任何类型的数组写入BIN 类型的文件,除了字符串数组(可以是不包含字符串的结构数组和动态数组)。
intFileWriteArray(
intfile_handle,//文件处理
空白数组[],//数组
intstart_item=0,// 数组中的初始索引。
intitems_count=WHOLE_ARRAY//元素的数量
);
例如(应更新代码以避免覆盖现有记录)。
你需要写到一个二进制文件中 -https://www.mql5.com/ru/docs/files/filewritearray
例如(代码需要改进,所以它不会覆盖已经存在的记录)。
好的,非常感谢你,我只是写到一个文本文件进行测试,我开始怀疑MqlTick本质上是一个结构:)
ZS:不错--基本上恢复了我的类和代码;)- 很抱歉,你不想在MT5中创建自己的离线图表 - 我是为MT4+MT5写的,我对非标准的TF上瘾了。