MQL4、MQL5に関する初心者からの質問、アルゴリズムやコードに関するヘルプ、ディスカッションなど。 - ページ 937

 

0〜4要素にdouble、5〜9要素にdatetame、10〜14要素にintを格納する1次元配列を作成したい。mql4で整理することは可能ですか? もし可能なら、その方法を教えてください。 C++で構造体を使った例を見ましたが、サイトへのリンクを失いましたか?

 
Seric29:

0〜4要素にdouble、5〜9要素にdatetame、10〜14要素にintを格納する1次元配列を作成したい。mql4で整理することは可能でしょうか? もし可能なら、その方法を教えてください。 C++で構造体を使った例を見たことがありますが、リンクを失念してしまいました。

配列は1つの型しか持つことができません。

しかし、最大のデータ型を 持つ配列型を持つことを禁じた人はいないでしょう。この場合、2倍です。

 
Artyom Trishkin:

配列は1つの型しか持つことができません。

しかし、誰が最大データ型の 配列型を持つことを禁じたのでしょうか?この場合は-2倍。

名前が同じでないと、レフティチェックをしなければならないからです。構造体を使ってその中で変数を宣言し、それを配列にまとめることはできないのでしょうか?組合のオペレーターを貼り付けることはできないのでしょうか?

 
Seric29:

名前が同じでないと、レフティチェックをしなければならないからです。構造体を通して、その中で変数を宣言して、それを配列にまとめるということはできないのでしょうか?ユニオンオペレーターを接着することはできないのでしょうか?

何の名前?

 
Artyom Trishkin:

何の名前?

アレイ名。私の理解では無理です、構造を作るにしてもポイントを使い、情報を一つの名前にまとめなければなりません、もしかしたら見間違いかもしれません、リンクを失念していました。

 
Seric29:

アレイ名。構造を作るにしても、ポイントを使って1つの名前に情報をまとめることになると理解しています、もしかしたら間違って見てしまったかもしれません、リンクが切れてしまってすみません。

なぜ、1つの配列に異なる名前をつけなければならないのか?よく想像できますね。

つまり、1つの配列で様々な数値型(もちろん文字列は除く)を格納することができるわけです。配列は、書き込まれた最大データ型と同じ型でなければならない。だから、いろいろな種類を詰め込んでください。そして、配列が完成したら、インデックスに注目してください。

0~4要素にはdouble、5~9要素にはdatetame、10~14要素にはintが格納されます。

double array[15];
array[0]=0.0; array[1]=0.1; array[2]=0.2; array[3]=0.3; array[4]=0.4;
array[5]=(datetime)5; array[6]=(datetime)6; array[7]=(datetime)7; array[8]=(datetime)8; array[9]=(datetime)9;
array[10]=(int)10; array[11]=(int)11; array[12]=(int)12; array[13]=(int)13; array[14]=(int)14;
一名:アレイ
 
Artyom Trishkin:

なぜ、同じ配列に異なる名前をつけるのか?よくもまあ、そんなことを想像したものだ。

つまり、1つの配列に異なる数値型を格納するわけです(もちろん、文字列は除きます)。配列は、書き込むデータの最大型と同じ型でなければならない。だから、いろいろな種類を詰め込んでください。そして、配列が完成したら、インデックスに注目してください。

名称は同じで、配列

だから、異なるデータを保存することになる。

 
Seric29:

このように、異なるデータが格納されることになります。

彼らの中に」何があるのか?

 
Seric29:

構造体を使った例を見たのですが、C++だったのですが、リンクが切れてしまいましたか?

ポインターを使わない例であれば、MQLへの移植は問題ないでしょう。

Seric29 です。

ユニオンオペレーターを筐体に接着することはできないのでしょうか?

unionは演算子ではありません!型です!構造体として説明されていますが、異なるタイプのデータを1つのメモリスペースに格納するために使用されますhttps://www.mql5.com/ru/docs/basis/types/classes#union


Seric29 です。

マクロに配列を渡して、マクロ内でオーバーロードされた関数を呼び出して結果を返すという、原始的な作業をしたかったのですが、マクロ内でオーバーロードされた関数を呼び出すと、関数が3つあるという警告が出るので、マクロ内に、どのオーバーロード関数を呼び出すかを判断する基準を書けばいいのですが、ここでまた、このチェックはどうするのかと、一般論として失敗しました。

少なくともC++の本を読み始めましょう。あなたの質問は爆笑ものです。専門用語を書いているので、一見すると具体的な質問をしているように見えますが、実は本質を理解せずに用語で操作しているだけです・・・マクロは何を返すのか? どこで返すのか?マクロの本体でリロードできる関数・・・です。ご質問の内容がどのようなものか、説明しきれないほどです。

マクロが何であるかを理解するために、用語を正しく綴り、macroSUMMARYとすると、多分、より理解しやすくなるはずです

 
Seric29:

このように動作するはずです。

一般的には、このような効果を得たいのですが、授業に関しては経験がありません。コードはコンパイルして動作します。

かっこいいですね。