ホーム システムトレード 投稿

MetaTrader 4用EAテンプレートの改良と活用法

添付ファイル
8159.zip (8.42 KB, ダウンロード 0回)

皆さん、こんにちは!今日はMetaTrader 4用のEA(エキスパートアドバイザー)テンプレートの改良についてお話しします。まずは、こちらのMetaEditor: テンプレートの活用法を参考にしてください。

今回の改良では、サービス配列のサイズ定義を冗長にせず、動的に変更することを避けることを目指しました。具体的には、サービス配列は最大100件の注文サイズで即座に割り当てられ、配列サイズを示すカウンターも追加されています。

int OurTicketsCounter;   // "フレンドリー"な注文のカウンター、配列 Tickets[100][9] や CommentsTicket[100][2] の制限を指定します
int SL_TP_Counter;       // 修正するための注文カウンター: 配列 newSL_and_TP[100][5]
int OrdersToCloseCounter;// クローズする注文のカウンター: 配列 ticketsToClose[100][2] と lotsToClose[100] 用
int OrdersToDeleteCounter;// 削除する注文のカウンター: 配列 ticketsToDelete[100] 用

これらは、関数 start() の起動時に、特別な関数 InitCounters() で初期化され、ゼロ値が設定されます。

//+------------------------------------------------------------------+
//| サービス配列のカウンターをリセットします                             |
//+------------------------------------------------------------------+
void InitCounters()
   {
//----
   OurTicketsCounter = 0;
   SL_TP_Counter = 0;
   OrdersToCloseCounter = 0;
   OrdersToDeleteCounter = 0;
//----
   return;   
   }

この改良により、テンプレートを使用して作成したEAは、特別に設計された手動で書かれたEAに対しても、わずか2回の劣位で済む結果となりました。この結果は、十分に受け入れられるものだと思います。

テンプレートは、'experts/templates' フォルダーに保存してください。

関連記事

コメント (0)