プログラミングでオリジナル自動売買を構築

MT4はインディケーター/エキスパートアドバイザーを使うことで、自動売買することができます。特に自分が考えた投資戦略をMT4に実行させることが出来ます。これが一番のMT4の魅力といってよいでしょう。

 

■プログラミングは論理と数式で構成される業務体系をいいます。プログラミングの手順は次のようになります。
業務の論理的整理
ダイアグラム(論理的整理を図式化し、流れ(フロー)をまとめます。
  論理のまとめ フローチャート(各業務を1、順次処理2、反復処理3、分岐処理)
で流れをまとめます。
順次処理は始めから終わりまで条件無く終わることです。
  反復処理は条件まで同じ事を繰り返すことを言います。
  分岐処理は1つ以上の条件が整えばA作業を、そうでなければ他の作業をする分岐を
   いいます。
4、コーディング(C言語に似たSQL4言語でEDITORに記述)
5、エラーテスト
6、コンパイル(実行形式)

 

このうち業務の論理的整理が一番大切です。ここには投資戦略を論理的にまとめねばなりません。
論理とは1、順次処理2、反復処理3、分岐処理でまとめることを言います。
例えば 平均足を使った1時間足と5分足による順張り投資を考えます。

 

■業務の論理的整理
1時間足の始値、高値、低値、終値を現在値より過去10足分取得する。(反復処理)
5分間足の始値、高値、低値、終値を現在値より過去10足分取得する。(反復処理)
1時間足の平均足を10足分計算する。(反復処理)
5分足の平均足を10足分計算する。(反復処理)
1時間平均足の初めと終わりを比較して安/高を判断する。(分岐処理)
5分平均足の初めと終わりを比較して安/高を判断する。(分岐処理)
1時間平均足と5分平均足を比較して同じ安/高かどうかを判定する。(分岐処理)
判定の結果 可の時 発注する。それ以外は発注しない。(分岐処理)
発注時の利食い設定に達したら決済する。(分岐処理)
発注時の損切り設定に達したら決済する。(分岐処理)
新たな足に移ったら初めから繰り返す。(反復処理)

 

となります。ここでは大雑把な論理構成でいいのです。これを各作業ブロックにしてダイアグラム図を描きます。

 

■各作業ブロック
各作業ブロックではさらに細かい流れ図(フローチャート)を書いていきます。特に数値では固定値、測定値、自由記入値に数字変数(計算、条件判断)を分類して置きます。また作業の計算式ではSQL4言語の数学関数、論理関数、チェック関数、日付関数、テクニカル関数、配列関数、時系列関数、トレード関数、等を意識して記述し、各作業ブロックをまとめます。

 

■コーディング
コーディングは自信が無ければプロに頼みましょう。正確なコードを記述してくれますし、コンパイルして実行ファイルを作成してくれます。素人はとてもできる領域ではありません。結果は自分がまとめた業務体系どおりに動作するかどうかをデモ口座、バックテストで確認することで検収(テストOK、プログラム完成)します。

 

自分のインディケーター/エキスパートアドバイザーで投資をお楽しみください。


このページの先頭へ戻る