初学者的问题 MQL5 MT5 MetaTrader 5 - 页 1202

 
Igor Makanu:

这就是我写的,它更容易检查,在10分钟内....检查了,FileWriteArray()没有在头和第一个字节中写入数组的大小,所以你必须自己写入这些值

伊戈尔,我根本没有说这是不可能的。仔细阅读我的话。

阿列克谢-维克多罗夫

...

怎么可能从一个文件中读取结构和三个数组,不知道是怎么写 的。

...

此外,在这个例子中,有一个文件打开,结构读取,三个数组读取,没有文件关闭。在这一点上,你不得不怀疑文件在被写入后是否被关闭。

在你的例子中,它是读取数组和结构元素,而不是FileReadStruct()。

谢谢你的例子。我将记住并在必要时使用它。

 
Alexey Viktorov:

伊戈尔,我根本没有说这是不可能的。好吧,再仔细阅读一下我的话。

此外,那个例子有文件打开,结构读取,读取三个数组,没有文件关闭。在这一点上,你开始怀疑文件在被写入后是否被关闭。

你的例子显示了对数组和结构元素的读取,而不是FileReadStruct()。

谢谢你的例子。我将记住并在必要时使用它。

我不知道还能如何解释))))

你相信有某种魔力--第三方程序可以找出写入二进制文件的数据格式--没有人可以在不知道数据结构的情况下从二进制文件中读出数据!你相信有某种魔力。

二进制文件是一个大的字节数组,按顺序访问 - 你写了什么? 你读了什么?- 只有你知道,如果你不知道,那么你就会读出你的想法。

)))

SZZ:我想用一条ArrayWrite命令写(读)一个数组,用同样的方法写一个结构,这是可以理解的,但如果我们用一个固定的数据大小,把每个结构/数组写在一个单独的文件里

 

Igor Makanu:

好吧,你相信某种魔力--第三方程序可以找出写入二进制文件的数据格式--如果不知道数据结构,没有人可以从二进制文件中读出数据!这就是你的想法。

你误解了我的意思。我说的完全一样,只是换了个说法。这不是一个怎么做的问题,是...甚至没有一个问号...

 

你能告诉我,如果我想在mt5中创建一个 带有资金的股票图表,如何创建一个自定义符号?经纪人Otkritie,如果有的话)

我尝试了以下方法。

1.我从FINAM下载了一个csv格式的报价历史记录

2.将csv转换为json

{
    "root": {
        "row": [
            {
                "TICKER": "FXRU",
                "PER": "1",
                "DATE": "20190502",
                "TIME": "100100",
                "OPEN": "748.7000000",
                "HIGH": "749.7000000",
                "LOW": "747.7000000",
                "CLOSE": "749.7000000",
                "VOL": "115"
            },
               ]
           }
}

3.它不工作。

[删除]  
Igor Makanu:

这就是我写的,它更容易检查,在10分钟内....经检查,FileWriteArray()没有将数组的大小写在标题或第一个字节中,所以我们必须自己写这些值

2020.03.25 10:18:36.058 tst (EURUSD,H1) 1. d_arr

2020.03.25 10:18:36.058 tst (EURUSD,H1) 3.14159 3.14159 3.14159 3.14159

2020.03.25 10:18:36.058 tst (EURUSD,H1) 2. i_arr

2020.03.25 10:18:36.058 tst (EURUSD,H1) 1234567890 1234567890

2020.03.25 10:18:36.058 tst (EURUSD,H1) 2. c_arr

2020.03.25 10:18:36.058 tst (EURUSD,H1) 127 127 127 127 127 127

2020.03.25 10:18:36.058 tst (EURUSD,H1) mstruct.a = 666 , mstruct.b = 123.123000

也就是说,如果数组尺寸是动态的,这意味着我们在写的时候写数组尺寸,从文件中读数组尺寸,在读的时候设置结构数组的尺寸

在我的例子中,有两个结构--一个被初始化并写入,第二个被读取,从文件数据中初始化

谢谢你,非常令人印象深刻。

而如果你写了2个结构到文件中,你显然可以用同样的方式来读取它们。


PS一个简单的结构(任何数量)由常规函数写入和读取都没有任何问题。
[删除]  
请问,如何在飞行中设置二维动态数组 的二维大小?
 
Сергей Таболин:
请好心人,如何在飞行中设置一个二维动态数组 的二维大小?

或将一个一维数组包裹在一个结构数组中

struct Sarr
{
   double            y[];
};
struct Sarr2x2
{
   Sarr              x[];
};

void OnStart()
{
   Sarr2x2 arr;
   ArrayResize(arr.x,10);
   for(int i=0; i<ArraySize(arr.x); i++)
   {
      ArrayResize(arr.x[i].y,10);
   }
   arr.x[0].y[0] = 5.0;
}
//+------------------------------------------------------------------+

或者使用一个可以完成这项工作的类--我不想去找它,我已经给了你一百次的链接了

https://www.mql5.com/ru/forum/6729/page3#comment_674794


是的,在alglib中有一个矩阵类。

#include <Math\Alglib\matrix.mqh>

void OnStart()
  {
      CMatrixDouble d_arr;
      d_arr.Resize(10,10);
 

在交易故事中,时间尺度是什么意思?

X规模。量表上的数值是什么意思?

 

如何使用MQL创建一个.bmp图像并将其保存到文件中,而不与图表绑定--即不首先在图表上创建Canvas或CGraphic 对象。

我在文章中粗略地搜索了一下,没有看到这样的信息,我需要一个关于如何开始的指导,我将自己写代码。

 
Igor Makanu:

如何使用MQL创建一个.bmp图像并将其保存到文件中,而不与图表绑定--即不首先在图表上创建Canvas或CGraphic对象。

我在文章中粗略地搜索了一下,没有看到这样的信息,我需要一个关于如何开始的指导,我将自己写代码。

在资源方面