初心者の方からの質問 MQL5 MT5 MetaTrader 5 - ページ 1202

 
Igor Makanu:

ということを書くと、10分以内に、確認しやすくなりますね...。をチェックすると、FileWriteArray() は配列のサイズをヘッダや最初のバイトに書き込まないので、これらの値を自分で書き込む必要があります。

イゴール 不可能とは全く言っていないよ。私の言葉を注意深く読んでください。

アレクセイ・ヴィクトロフ

...

どのように書か れたかわからない1つのファイルから、構造体と3つの配列を読み取ることができるのでしょうか。

...

さらに、その例では、ファイルのオープン、構造体の読み込み、3つの配列の読み込みがあり、ファイルのクローズは ありません。このとき、書き込んだ後にファイルを閉じているかどうかが気になるところです。

この例では、FileReadStruct()ではなく、配列と構造体要素を読み込んでいます。

例を挙げていただきありがとうございます。必要に応じて覚えて使いたいと思います。

 
Alexey Viktorov:

イゴール 私は不可能だとはまったく言っていない。まあ、私の言葉をもう少しよく読んでみてください。

しかも、その例では、ファイルのオープン、構造体の読み込み、3つの配列の読み込みがあり、ファイルのクローズは ありません。この時点で、書き込んだ後にファイルを閉じているのかどうかが気になり始める。

この例では、配列や構造体の要素を読み込んでいますが、FileReadStruct() ではありません。

例を挙げていただきありがとうございます。必要に応じて覚えて使いたいと思います。

他にどう説明したらいいのかわからない )))

サードパーティのプログラムがバイナリファイルに書き込まれたデータの形式を把握することができるという、ある種の魔法を信じているのでしょう。

バイナリファイルはバイトの大きな配列で、順次アクセスされる - では、何を読んだのですか?- は、このままではバイナリデータを大量に読み込むことになることを、あなただけが知っているのです。

)))

SZZ:ArrayWriteコマンドで配列を書き(読み)、同じように構造体を書きたいというのは理解できるのですが、データサイズを固定して、構造体/配列をそれぞれ別のファイルに書き込むとしたら、それは可能なのでしょうか?

 

Igor Makanu:

さて、あなたはある種の魔法を信じていますね。サードパーティのプログラムは、バイナリファイルに書き込まれたデータの形式を知ることができるのです。

あなたは誤解している。私は、まったく同じことを別の言葉でしか言っていない。ハウツー的な質問ではなく、...クエスチョンマークもない...

 

mt5でカスタムシンボルを作成 し、そこに資金を投入して株価チャートを作成したいのですが、その方法を教えてください。オープニングブローカー、もしあれば)

以下のように試してみました。

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

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

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

すなわち,配列の次元が動的であれば,書き込み時に配列の次元を書き込み,ファイルから配列の次元を読み込み,読み込み時に構造体配列の次元を設定することを意味する

私の例では、2つの構造体があり、1つは初期化されて書き込まれ、もう1つはファイルデータから読み込まれて初期化 されています。

ありがとうございます、とても感動しました。

また、2つの構造体をファイルに書き込めば、当然、同じように読み出すことができます。


PS単純な構造(数量は問わない)であれば、通常の機能で問題なく書き込み、読み出しが可能です。
 
お願いします。2次元の動的配列の 2次元目のサイズをその場で設定するにはどうしたらいいでしょうか?
 
Сергей Таболин:
親切な方お願いします。2次元の動的配列の 2次元目のサイズをその場で設定するにはどうしたらいいのでしょうか?

あるいは,1次元配列を構造体の配列で包む

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を使って、チャートにバインドすることなく、つまり、チャート上にCanvasやCGraphic オブジェクトを作成することなく、.bmpイメージを作成し、ファイルに保存する方法。

私はそのような情報を見ていなかった記事でざっと検索し、私は自分でコードを書くだろう、私は開始する方法についての命令を必要とする

 
Igor Makanu:

MQLを使って、チャートにバインドすることなく、つまり、チャート上にCanvasやCGraphicオブジェクトを作成することなく、.bmpイメージを作成し、ファイルに保存する方法。

私はそのような情報を見ていなかった記事でざっと検索し、私は自分でコードを書くだろう、私は開始する方法についての命令を必要とする

リソースで
理由: