EA制作を頼む時の仕様書の項目|環境・売買ルール・注文の仕様・納品物を雛形つきで

EA制作を外注する時の仕様書には、動かす環境・売買のルール・注文の仕様・停止や再起動の扱い・納品物と確認の条件に、ログ・通知・外部通信を加えた6つの区分で書きます。ココナラのヘルプでは、納品確認は、発注時に合意した内容を上回る要求をできないとされています(EA・インジケーターの制作を外注する時の依頼の書き方)。後から足せない前提で、最初に書きます。

この記事では、当サイトのMT5の記事で扱った論点を、仕様書の項目に並べ直しました。各項目は、決めないと、人によって解釈が分かれやすい点です。コピーして使える雛形も載せます。

1. 動かす環境

項目 書く内容の例 参考
プラットフォーム MT5(MT4ではない)。MT4のEAはMT5で動かず、互換性がない MT4とMT5の違い
口座の種類 ヘッジ口座かネッティング口座か。決済の動きが口座の種類で変わる MT5の決済方法
使う業者の制限 保有上限(業者によっては200件など)、取引できる銘柄、最小ロット 保有上限は200件、MT5の銘柄仕様の見方
動かす場所 自宅のPCか、VPSか。MQL5仮想ホスティングに載せるなら、DLLは使えない MQL5仮想ホスティングの条件

2. 売買のルール

  • 対象の銘柄と時間足:1つか複数か。どの時間足で判断するか
  • エントリーの条件:「○○が△△を上抜けたら」のように、数値と比較の向きまで書く。インジケーターは、名前だけでなく、期間・価格の種類(終値など)まで指定する
  • 判断のタイミング:新しい足が確定した時か、ティックごとか。確定した足の値を使うか、形成中の足を使うか
  • 決済のルール:損切り・利確の決め方(固定のpips、ATR基準など)、時間で決済する場合の時刻(MT5で決済だけを自動化する方法)
  • ロットの決め方:固定か、許容損失と損切り幅から決めるか(MT5でロット数を計算する式)
  • 同時に持てる数:同じ方向・同じ銘柄に、何ポジションまでか
  • やらない時間帯・条件:スプレッドが広い時、指標の発表前後、週末など

3. 注文の仕様(業者のサーバーとのやり取り)

項目 決めておく理由(当サイトの記事より)
マジックナンバー EAが、自分のポジションを見分けるための番号。0のままだと、手動のポジションに決済用EAが効かない場合がある(マジックナンバー0)
注文の執行タイプ(FOK・IOC・RETURN) 業者の対応と合わないと、10030エラーで発注が通らない(MQL5の10030エラー)
ストップレベル・フリーズレベル 損切り・利確の位置が現在値に近すぎると、invalid stopsで拒否される。制限は2種類ある(invalid stopsが出る理由)
エラー時の動き 発注に失敗した時に、再試行するか、止まるか。何回まで、何秒おきか

4. 止まる時・再起動する時

  • PCやMT5を再起動した後に、状態を引き継ぐか:持っているポジションを、再起動後も、EAが管理できるように作るか(EAを再起動しても状態を引き継ぐ方法)
  • 週末や休場中の動き:EAは、新しいティックが来た時だけ動く(週末・休場中にEAが動かない?)
  • 止める条件:1日の損失がいくらになったら止めるか、連敗したら止めるか、など。止めた後に、手動で再開するか自動で再開するか

5. ログ・通知・外部通信

6. 納品物と確認の条件

  • 納品物:ソースファイル(.mq5と、使うインクルードファイル)、実行ファイル(.ex5)、設定のプリセット、入力パラメータの説明、使い方の説明書
  • 確認の条件:どの銘柄・期間・モデルのテストで、どう動けば合格か。デモ口座での確認期間(EAの納品を受け取った時の確認)
  • 修正の範囲:バグ(仕様と違う動き)は、納品後、何日以内なら無償か。仕様の変更は、別料金か
  • 権利:ソースの著作権や利用範囲をどう扱うか(譲渡か、利用の許諾か)。ほかに販売・公開してよいか。ココナラの公式ヘルプでの扱いは、この記事では確認していません。依頼する前に、文面で合意します

7. コピーして使う雛形

【依頼の概要】MT5用のEAを1本制作してください。
【環境】MT5 / ヘッジ口座 / 銘柄:( )/ 時間足:( )
【エントリー】(条件を、数値と比較の向きまで書く)
【決済】(損切り・利確・時間決済の条件)
【ロット】(固定 or リスク割合。数値)
【同時保有】(上限)
【フィルター】(スプレッド・時間帯・指標)
【注文の仕様】マジックナンバー( )/ 執行タイプ( )/ エラー時(再試行の回数と間隔)
【再起動】再起動後に、ポジションの管理を引き継ぐ(はい/いいえ)
【ログ・通知】(出力先、通知の種類)
【外部通信・DLL】使わない
【納品物】ソース(.mq5)、実行ファイル(.ex5)、プリセット(.set)、入力パラメータの説明
【確認条件】(銘柄・期間・テストモデルと、合格の基準)
【修正】納品後( )日以内の、仕様と違う動きの修正は無償
【権利】(ソースの権利と、利用範囲)
【しないこと】利益の保証、売買の助言は、依頼に含みません

まとめ

  • 仕様書は、環境・売買ルール・注文の仕様・停止と再起動・納品物と確認条件に、ログ・通知・外部通信を加えた6つの区分で書く
  • ルールは、数値と比較の向きまで書く。インジケーターは、期間と価格の種類まで指定する
  • マジックナンバー・執行タイプ・ストップレベルは、決めないと動かないことがある項目
  • 外部通信やDLLは、使わないと明記する。権利の扱いも、文面で合意する