EAの開発手順
執筆者
佐川直弘(株式会社トリロジー取締役)
- Keyword
- EA開発
Contents
EAの基本構成
EA(エキスパートアドバイザー)は、MetaTraderで動作する自動売買プログラムです。EAは通常、以下の3つの主要な関数で構成されます。
- OnInit関数
- EAが初期化されるときに実行される関数
- OnDeinit関数
- EAが削除されるときに実行される関数
- OnTick関数
- 新しいティックが発生するたびに実行される関数
初期設定(OnInit関数、OnDeinit関数)
EAの初期設定には、初期化処理や終了処理を行うための関数が含まれます。
OnInit関数
- OnInit関数は、EAがチャートに適用されたときに一度だけ実行されます。ここでは、初期設定やグローバル変数の初期化を行います。
- OnInit関数
- int OnInit() {
// 初期設定コード
Print(“EA Initialized");
return INIT_SUCCEEDED;
}
OnDeinit関数
- OnDeinit関数は、EAがチャートから削除されるときに一度だけ実行されます。ここでは、リソースの解放や終了処理を行います。
- OnDeinit関数
- void OnDeinit(const int reason) {
// 終了処理コード
Print(“EA Deinitialized");
}
トレードロジックの実装(OnTick関数)
OnTick関数は、新しいティックが発生するたびに実行される主要な関数です。ここにトレードロジックを記述します。
- OnTick関数
- void OnTick() {
// トレードロジック
double ma = iMA(NULL, 0, 14, 0, MODE_SMA, PRICE_CLOSE, 0);
double price = Close[0];
if (price > ma) {
// OrderSend(Symbol(), OP_BUY, 0.1, Ask, 3, 0, 0, “Buy Order", 0, 0, Blue);
} else if (price < ma) {
// OrderSend(Symbol(), OP_SELL, 0.1, Bid, 3, 0, 0, “Sell Order", 0, 0, Red);
}
}
コンパイルとテスト
EAを作成したら、コードをコンパイルしてエラーチェックを行います。その後、ストラテジーテスターを使ってバックテストを行い、EAのパフォーマンスを確認します。
コンパイル
MetaEditorでコードを編集した後、ツールバーの「コンパイル」ボタンをクリックしてコードをコンパイルします。エラーがある場合は、エラーログに表示されるので修正します。
テスト
- ストラテジーテスターの起動
- MetaTraderのツールバーから「ストラテジーテスター」を選択します。
- テスト設定
- テストするEA、通貨ペア、期間、初期資金などを設定します。
- バックテストの実行
- 「スタート」ボタンをクリックしてテストを開始し、結果を確認します。
注意事項
このサンプルコードは学習目的で提供されており、実際の取引やリアル口座での使用を推奨しません。
- 学習用
- このコードはMQL4プログラミングの基礎を理解するための例として提供されています。
- 責任免除
- このコードを使用して発生したいかなる損害についても、当サイトおよび筆者は一切責任を負いません
- リアル口座での使用禁止
- サンプルコードはテスト環境(デモ口座)でのみ使用し、リアル口座での使用は避けてください。
ディスカッション
コメント一覧
まだ、コメントがありません