エラー、バグ、質問 - ページ 2644

 
fxsaber:

もちろん、単純な構造であれば違いはない。

テストにかかる時間が短縮され、感謝しています。


あらゆるものとあらゆるものの間で普遍的な交換を行うためにRedisを実装したいのですが、交換のためにデータをシリアライズする必要があるのか、交換量がそれほど多くないのであれば文字列だけにしてすべてをRedisに通すのか、一般的には素晴らしいことですがこのデータベースのデバイスが単純なためにすべてのデータが文字列として格納されており、シリアライズ段階でまだ行き詰っています。このデータベースへのアクセスは非常に高速です(インメモリデータベース)。


もう一つの疑問は、 単純にシリアライズした場合、データ交換に何か利益があるのかどうか、推定することも できません。 構造体をuchar[]配列に変換し、この配列をBase64 - 文字列でシリアライズする...なぜか、単純な構造 体の各フィールドを文字列に変換して、セパレータを介して1つの文字列にまとめた方が効率的な気がします(.csvファイルと同じ原理です)。

 
StructToCharArray
CharArrayToStruct
 

fxsaber:

StructToCharArray

CharArrayToStruct

MQL4にはこれらの関数がない、それが問題だ

 
Igor Makanu:

MQL4にはこれらの関数がない、それが問題だ

そうでしょう?
 
Igor Makanu:

MQL4にはこれらの関数がない、それが問題だ

template<typename T>
union UValue{
   T     value;
   char  array[sizeof(T)];
};

そして、あなたはそれらを必要としない。

 

MetaQuotes-DemoのRTS-3.20の相場が月曜日から行っていない理由を知っている人はいますか?

それともプライベートで騒いでいるのでしょうか?

 
Artyom Trishkin:
そうでしょう?

があるのか?

...検索方法を知っているのは自分だけだと思い出した。

https://docs.mql4.com/ru/convert

https://www.mql5.com/ru/docs/convert


ウラジミール・シマコフ

そして、あなたはそれらを必要としない

ありがとうございます!このシナリオは昨日考えたのですが、メモしていなかったので忘れてしまいました。

これからやってみます。

 
Igor Makanu:

があるのか?

...検索方法を知っているのは自分だけだと思い出した。

https://docs.mql4.com/ru/convert

https://www.mql5.com/ru/docs/convert


ありがとうございます!このシナリオは昨日考えたのですが、メモしていなかったので忘れてしまいました。

今すぐ試してみる

じゃあ、mql4の構造体をどうやってライブラリに保存するんだろう...。
ここに記載されていた。
4倍速でも動作します。
 
Artyom Trishkin:
mql4で構造体をライブラリに保存するにはどうしたらいいんだろう...。
ここに記述されています。
4でも有効です。

ヘルプが更新されないのはなぜだろう?- オンラインでもME4でもない!?

を報告せよ!

MT4ビルド1260で、このコードが正しく動作することを確認しました - MQL5と同じです。

#property strict
struct A
{
   long l;
   uint ui;
};
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
      A a;
      uchar u_arr[];
      string result = "";
      a.l  = 0xFFFFFFFFFFFFFFFF;
      a.ui = 0x0000;
      StructToCharArray(a,u_arr);      
      
      for(int i=0;i<ArraySize(u_arr);i++)
      {
         result += StringFormat("%x",u_arr[i]);
      }
      printf("result = %s",result);    // result = ffffffffffffffff0000
  }
//+------------------------------------------------------------------+
 
fxsaber:

つまり、inludesの無条件ピックアップが実装されれば、macros+templatesでも問題は生じないということですね?

はい、そこではすべてのMQL-シンタックスは破棄されます。新しいビルドでのソースのコンパイルをとりあえず修正しました。ZIPを添付します。