-<PR>-
当サイトでは以下のFX業者をおススメいたします。
—————————————————————
改めて前回の内容をおさらいをしておくと、
- 最初に宣言した数以上の配列にアクセスしようとすると、範囲外アクセスエラーを引き起こすので注意する。
ということをお伝えしました。
今回は静的配列と動的配列 について解説していこうと思います。
今回の記事を読んで勉強することによって、前回の配列に関する基礎的な部分の理解が深まり、なおかつ配列をEA開発においてどのように使っていけばよいのか、という具体的なイメージが抱けるようになると思います。
※MQL5で自動売買プログラム作るにあたっては、メタトレーダー5・メタエディター5がお使いのパソコンにインストールされている必要があります。
もし、まだメタトレーダー5のダウンロードが完了していない方は、
こちらからデモ口座の開設とメタトレーダー5のダウンロード・インストールを完了して頂ければと思います。
静的配列とは?
静的配列は
のことです。
前回の記事で解説した
int Array[3]
というのは、
[3]
と書くことによって、「3つのデータを使う」という風に最初に決定しています。
静的配列の場合、
いったん「3つのデータを使う」という宣言を最初にしたら、
後からそれを変えることはできません。
でも、作るプログラムによっては、それだと都合が悪い場合が出てきます。
そこで登場するのが動的配列です。
※前回書いた事でもありますが、この「3つのデータを使う」と定義した配列にアクセスすとき、配列のインデックス(通し番号)は0から始まります。従って、3番目の配列に格納されているデータにアクセスしたい時は
Array[2]
と記述します。
Array[3]と書いてしまうと範囲外アクセスエラーが発生してしまいますので注意してください。
動的配列とは?
最初に配列を作るとき(=宣言する時)に「いくつのデータを使うか」を決定しない配列」
です。
このように
int dynamicArray[];
[]のなかに、扱うデータ数を指定せず、ブランクにします。
動的配列は価格データや、インディケーターに関する値データを扱う際によく使われます。
動的配列が扱う配列サイズはArrayResize関数という関数で、後から決めることができます。
※関数とはより簡単に、プログラムを動かすための仕組みです。関数については講座第25回で取り上げますが、先に詳しく知りたいという方は↓の記事をご覧ください。(特に先に読んでも差し支えないと思います)
//動的配列「dynamicArray」を作る
int dynamicArray[];
//配列dynamicArrayの扱える配列サイズを3に変更する。
ArrayResize(dynamicArray,3);
//配列dynamicArrayの1番目の変数に5を代入する。
dynamicArray[0]=5;
↑のような形で、動的配列だった配列dynamicArrayのサイズを途中で、ArrayResize関数を使って3に変更しました。
関数全般の話をまだしていないので、ArrayResize関数の()の中身もまだわからなくても大丈夫なのですが、一応説明しておくと
・()の中の最初にサイズ変更したい配列名を記述し、コンマで区切った次に変更サイズを指定する。
↑のような記述ルールの関数になっています。
まとめ
今回の記事では以下のことを学びました
- 動的配列は扱える配列サイズが決まっていない配列で、配列サイズは後からArrayResize関数などで変えることができる。
最後までお読みいただきありがとうございました<m(__)m>
【超入門】MQL5 EA講座 第18回「配列(Array)について」【EAの作り方】←
→【超入門】MQL5 EA講座 第20回「多次元配列」【EAの作り方】
—————————————————————
-<PR>-
MQL5を使って自作したEAをシステムトレードに利用するには、取引プラットフォームとしてMT5を提供しているFX会社に口座を開設しなくてはいけません。
当サイトでは以下のFX会社での口座開設・EA運用をおススメしています。
おススメする理由の詳細につきましては、各FX会社について解説する記事を書いておりますので、下記のリンク記事を参考にしていただければと思います。
※外為ファイネストに関する記事は↓をご覧ください。
※アヴァトレードジャパンに関する記事は↓をご覧ください。
※フィリップ証券に関する記事は↓をご覧ください。
コメント