記事「MQL5入門(第5部):MQL5における配列関数の入門ガイド」についてのディスカッション

 

新しい記事「MQL5入門(第5部):MQL5における配列関数の入門ガイド」はパブリッシュされました:

全くの初心者のために作られた第5部では、MQL5配列の世界を探検してみましょう。この記事は、複雑なコーディングの概念を簡素化し、明快さと包括性に重点を置いています。質問が受け入れられ、知識が共有される、学習者のコミュニティに仲間入りしてください。

連載第5部では、配列関数の複雑さをやさしく学びたい全くの初心者向けに、MQL5の魅力的な世界をご紹介します。このセクションでは、配列関数に関連するありがちな誤解を解き、コードの各行がわかるだけでなく徹底的に理解されるようにすることを目的としています。私は、コーディングの経験の有無にかかわらず、すべての人がMQL5言語について学ぶ機会を持つべきだと心から信じています。だからこそ、私は常にインクルーシブな環境を作ることに尽力していきます。

この記事では、シンプルさと明快さが第一のテーマです。コーディングやその未知の領域について好奇心旺盛な方々のパイプ役になりたいのです。最初は戸惑うかもしれませんが、楽しみながら学べるように、各配列関数を1行ずつ説明していくつもりです。共に、配列関数にまつわる謎を解き明かし、複雑なアルゴリズム取引の世界をうまく切り抜けるために必要な知識を身につけましょう。これは単なる記事ではありません。コーディング変革の素晴らしい旅への招待状なのです。 

そして、それだけではありません。私は、コードだけでなく、初心者とベテランのプログラマーが集まり、アイデアを交換し、質問を投げかけ、チームワークを促進できるようなコミュニティを作りたいと考えています。これは人生を変えるコーディングの冒険への招待状です。単なる記事ではありません。第5部からのご挨拶です。ここでは、知識とアクセシビリティがぶつかり合い、コードを書くすべての人に感謝されます。コーディングを楽しみましょう。

作者: Israel Pelumi Abioye

 
ArrayGetAsSeriesとArrayIsSeriesの違いについて教えていただきありがとうございます。また、ArrayCopyとArrayInsertの違いについても少し混乱しています。次回の記事でそのあたりも含めていただけるとありがたいです。
 
Oluwatosin Mary Babalola #:
ArrayGetAsSeriesとArrayIsSeriesの違いについて教えていただきありがとうございます。また、ArrayCopyとArrayInsertの違いについて少し混乱しています。次回の記事でそのあたりも書いていただけるとありがたいです。
Oluwatosinさん、こんにちは。
 
Oluwatosin Mary Babalola #:
ArrayGetAsSeriesとArrayIsSeriesの違いについて教えていただきありがとうございます。また、ArrayCopyとArrayInsertの違いについて少し混乱しています。次の記事でそのあたりも書いていただけるとありがたいです。

MQL5のプログラミング本をご存知ですか?具体的には、コピーやインサートだけ でなく、配列の「直列性」(方向)関数についても 書かれています:

ArrayInsert 関数とは 異なりArrayCopy 関数は 受信配列の既存の要素を移動させるのではなく、指定された位置に新しい要素を古い要素の上に書き込みます

どちらのセクションにもサンプルプログラムがあります。

MQL5 Book: Common APIs / Working with arrays / Timeseries indexing direction in arrays
MQL5 Book: Common APIs / Working with arrays / Timeseries indexing direction in arrays
  • www.mql5.com
Common APIs - MQL5 Programming for Traders - MetaTrader 5 algorithmic/automatic trading language manual
 
Oluwatosin Mary Babalola #:
ArrayGetAsSeriesとArrayIsSeriesの違いについて教えていただきありがとうございます。また、ArrayCopyとArrayInsertの違いについて少し混乱しています。次回の記事でそのあたりも含めていただけるとありがたいです。

ArrayInsertとArrayCopyの違い:

ArrayInsert()」と「ArrayCopy()」の主な違いは、既に存在する要素をどのように扱うかです。「ArrayCopy()」は、指定した位置の要素を別の配列の要素に置き換えることで、元の配列を変更することができる。一方、"ArrayInsert()" は、現在の要素を移動させて新しい要素を入れるスペースを作ることで、配列の構造と配列を保持する。基本的に、"ArrayInsert() "はMQL5で配列を操作するための多用途なメソッドを提供し、他の要素を移動させることなくシーケンスに新しい要素を追加するようなものです。この違いを理解することで、プログラミングにおいて配列操作を正確に行うことができます。

静的配列の場合、挿入する要素数が配列サイズと等しいかそれを超える場合、"ArrayInsert() "は挿入元配列から挿入先配列に要素を追加しないことに注意してください。このような状況では、挿入は、挿入先配列のインデックス 0 から開始する場合にのみ行われます。このような場合、挿入先配列は、実質的に挿入元配列で完全に置き換えられます。

アナロジー

2組の積み木(配列)があり、それぞれがユニークな配置になっているとします。ここで、既存の構造を壊さずにこれらのセットを結合したいとします。「ArrayInsert()」は魔法のツールのようなもので、一方のセットからもう一方のセットの特定の場所に新しいブロックをスムーズに挿入し、コレクション全体を拡張することができる。

ここで、"ArrayInsert()" と "ArrayCopy()" を比較してみよう:ArrayCopy()」を使用する場合、いくつかのブロックを別のセットからの新しいブロックに置き換えることで、元のセットを並べ替えるようなものだ。一方、"ArrayInsert() "はより繊細である。ブロックを移動させて新しいブロックを入れるスペースを作ることで、既存の順序が崩れないようにするのだ。これは、各ブロックをどこに置くべきかを正確に把握している、綿密なアシスタントを持つようなもので、集合の元の設計を維持する。

静的セット(配列)には重要なルールがある。新しいブロックの数がセットに対して多すぎる場合、「ArrayInsert()」はそれらを無理に挿入しない。しかし、セットの先頭(インデックス0)から挿入処理を開始すると、セット全体を新しいブロックに効果的に置き換えることができる。