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. ログ・通知・外部通信
- ログ:何を、どこに出力するか。エキスパートタブに出すか、ファイルに書くか(PrintとログのMQL5保存場所)
- 通知:アラート、スマホ通知、メールのどれを使うか(MQL5でスマホに通知を送る)
- 外部との通信・DLL:使わない、と明記するのが安全です。使う場合は、通信先のURLと、使う理由を書いてもらいます(WebRequestの許可URLの設定)
6. 納品物と確認の条件
- 納品物:ソースファイル(.mq5と、使うインクルードファイル)、実行ファイル(.ex5)、設定のプリセット、入力パラメータの説明、使い方の説明書
- 確認の条件:どの銘柄・期間・モデルのテストで、どう動けば合格か。デモ口座での確認期間(EAの納品を受け取った時の確認)
- 修正の範囲:バグ(仕様と違う動き)は、納品後、何日以内なら無償か。仕様の変更は、別料金か
- 権利:ソースの著作権や利用範囲をどう扱うか(譲渡か、利用の許諾か)。ほかに販売・公開してよいか。ココナラの公式ヘルプでの扱いは、この記事では確認していません。依頼する前に、文面で合意します
7. コピーして使う雛形
【依頼の概要】MT5用のEAを1本制作してください。
【環境】MT5 / ヘッジ口座 / 銘柄:( )/ 時間足:( )
【エントリー】(条件を、数値と比較の向きまで書く)
【決済】(損切り・利確・時間決済の条件)
【ロット】(固定 or リスク割合。数値)
【同時保有】(上限)
【フィルター】(スプレッド・時間帯・指標)
【注文の仕様】マジックナンバー( )/ 執行タイプ( )/ エラー時(再試行の回数と間隔)
【再起動】再起動後に、ポジションの管理を引き継ぐ(はい/いいえ)
【ログ・通知】(出力先、通知の種類)
【外部通信・DLL】使わない
【納品物】ソース(.mq5)、実行ファイル(.ex5)、プリセット(.set)、入力パラメータの説明
【確認条件】(銘柄・期間・テストモデルと、合格の基準)
【修正】納品後( )日以内の、仕様と違う動きの修正は無償
【権利】(ソースの権利と、利用範囲)
【しないこと】利益の保証、売買の助言は、依頼に含みません
まとめ
- 仕様書は、環境・売買ルール・注文の仕様・停止と再起動・納品物と確認条件に、ログ・通知・外部通信を加えた6つの区分で書く
- ルールは、数値と比較の向きまで書く。インジケーターは、期間と価格の種類まで指定する
- マジックナンバー・執行タイプ・ストップレベルは、決めないと動かないことがある項目
- 外部通信やDLLは、使わないと明記する。権利の扱いも、文面で合意する


