【MT5のワンティップ】メタトレーダー5の初めてのクラス作成

「<terminal data folder>>MQL5\Include」の中に、ライブラリファイルを格納するDoEasyフォルダを作成します。この段階では、DoEasyフォルダ内にさらに2つのディレクトリが必要になります。Objectsフォルダにはオブジェクト・クラスが格納され、Collectionsフォルダにはデータ・コレクション(オブジェクト・リスト)が格納されます。

DoEasyフォルダ

  – Objectsフォルダ・・・オブジェクト・クラスが格納

  – Collectionsフォルダ・・・データ・コレクション(オブジェクト・リスト)が格納

初めてのクラス(抽象注文クラス)を作成します。Objects フォルダに新しいクラスを作成し、名前を COrder (1) とします。必ず標準ライブラリのCObject (2) クラスをベースにしてください。この場合、新しいオブジェクトクラスは、CObjectクラスを継承しており、標準ライブラリのCArrayObjオブジェクトのリストに入れることができます。

MQL5はオブジェクト指向プログラミングです。EasylangugeやExcel VBAは一枚の紙に処理をすべて書くというようなシンプルな作りとなっていますが、それに慣れてくると今度は重なる部分が出てくることがわかり、その部分を書くことが面倒に感じます。それをいっその事パーツ化しておきましょうというのがオブジェクト指向プログラミングの考えです。

1人暮らしであれば晩ご飯を作ってお風呂に入るのにその準備も必要ですが、寮に入れば晩ご飯が準備されていてお風呂が沸いていて楽だという考えです。1人暮らしのほうがシンプルで分かりやすいように感じますが、それは「個人」をベースに考えているからそう感じるだけであり、集団全体での労力を考えると機能を切り分けて分担したほうがはるかに効率がよくなります。「学校の給食」のほうが分かりやすい例えだったかもしれません。

クラスオブジェクトは、箱の繰り返し処理で作成されます。箱は今回の場合「注文、取引、またはポジション」です。プログラム処理は次の「箱」を選択して実行されていく流れとなります。

【次回は・・】

クラスオブジェクト内を初期化するために、プライベートのコンストラクタを作成します。コンストラクタとは初期化するための方法で、入寮する前に掃除をするようなものです。あと列挙型についても解説します。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

ABOUTこの記事をかいた人

当サイトは、システムトレードに関する専門的な知識、技術、経験を皆様と共有することで、真剣なトレーダーの方々にインスピレーション(アイデアの源泉)の供給をいたします。トレーダーの競争力強化に焦点をあて、トレーディングシステムの構築を目的としてその普及に貢献します。 詳細は「概要とサービス内容」をご覧下さい。 ご要望はこちらで承ります。