【FX自動売買】EA入門 EAのフローチャート【MT4】

FX 自動売買(EA)

この記事は【EAの教科書シリーズ】の一部です。全記事は以下から確認できます。

フローチャートとは

EA開発に限らず、プログラミングをする際、普通はいくつかの関数から構成されたコードをコーディングすることになります。そしてそれらの関数が指定した順番に実行されるようにロジックを組んでいきます。

そのロジックを簡単に理解するために使われるのがフローチャートとよばれるものです。

フローチャートはプログラムのアルゴリズムを表すダイアグラムのことで、処理の一連のプロセスを表現するものです。処理の属性ごとに異なる形のボックスを矢印でつないで処理の流れを表します。

フローチャートはプログラムの分析や設計などに使われており、プログラムがどのような処理をどのように行っているのかを一目でわかるように描かれます。

EAの開発をするにあたって、まずはEAがどのように実行されるのかをフローチャートで確認しておきましょう。そうすることで今後のEAの開発にあたって設計やテストが容易になります。

フローチャートで使われる記号

画像引用元:https://www.haruyama-ce.com/2020/03/12/フローチャートの描き方その1-自動機の動き表現しよう/

上記表にある記号を組み合わせてフローチャートは作成されています。ボックスの形ごとに表す意味が変わってきます。

EAをフローチャートで表す

作成したばかりのEAのテンプレートコードをストラテジーテスターで実行した場合をフローチャートで表すと以下のようになります。

処理の流れを順に説明していきます。

  1. ストラテジーテスターをMT4上で起動します。
  2. OnInit()関数内に記された内容を全て実行します。(一度のみ)
  3. 2で初期化が終わったらOnTick()関数が呼び出されます。これはチャートにティックが作成される度に実行されます。この関数はストラテジーテスターによるテストが終了するまで(手動で終了するか、指定した期間のテストが全て終了するまで)実行され続けます。
  4. テスターは手動またはすべての期間のテストが完了すると終了しますが、テスター停止のフローチャートの形は手動による処理を意味していることを確認してください。この処理が発生するとスクリプトの動作が停止し、次の処理が実行されます。
  5. ストラテジーテスターが終了するとOnDeinit()関数内の処理が実行されます。これで一連のアルゴリズムが完了し、スクリプトが終了します。

まとめ

いかがでしたか?ここまででEA作成時に自動で作成されるテンプレートコードの流れが理解できたはずです。フローチャートでは一つの処理(ボックス)が完了すると次の処理に移ります。

フローチャートはプログラムの大まかな流れを一目でわかるように示したもので、テストや設計の際によく用いられます。自分でフローチャートを完璧に書けるようになる必要はありませんが、見て理解できるようになるとこれから先の学習に大いに役立つはずです。

プロフィール

プロフィール
コードラボJP

大学卒業後SEに就職、現在は退職しフリーランスとして活動中。
『初心者でも挫折せずに一人でプログラミングを学べる』をモットーに、コードラボJPを開設
お問い合わせ等はcodelabsjp@gmail.comまで

コードラボJPをフォローする
タイトルとURLをコピーしました