外部連携開発
外部連携開発では、MT4/MT5向けEA・インジケーター・補助ツールに、Discord通知、Google Sheets連携、CSVログ出力、Webhook、外部API、外部認証、運用記録、集計、ローカルAgent連携などを追加・設計します。
EA本体の売買判定、注文処理、決済処理と、通知・記録・外部通信・外部制御は分けて考える必要があります。このページでは、外部連携開発で相談できる内容、対応できない内容、見積前に整理する情報、機密情報の取り扱いをまとめます。
重要:EAファンクラブでは、投資助言、売買指示、利益保証、勝率保証、損失回避保証、推奨ロット、推奨銘柄、推奨エントリー、特定ブローカーへの誘導を目的とした案内は行いません。外部連携開発は、MT4/MT5と外部サービスの通知・記録・確認補助・運用補助を技術的に実装するサービスです。
外部連携開発について
外部連携開発は、MT4/MT5内だけで完結しない処理を、外部サービスやローカルファイル、通知先、集計先、管理用ツールと連携させる開発です。
たとえば、EAの注文結果をDiscordへ通知する、取引履歴をCSVへ保存する、Google Sheetsへ稼働状況を書き込む、外部URLから稼働設定を取得する、ライセンス認証を行う、ローカルAgentと連携する、といった相談が該当します。
| 区分 | 内容 | 対応方針 |
|---|---|---|
| 対応できること | 通知、記録、外部API連携、Webhook、CSV、Google Sheets、外部認証、ローカルAgent連携など | EA本体の処理と外部連携処理を分けて設計します。 |
| 対応できないこと | 外部連携を使った売買助言、利益保証、推奨運用、特定ブローカー誘導 | 投資助言や売買指示に見える内容は対応しません。 |
| 確認が必要なこと | 通信先、送信内容、頻度、認証方式、失敗時の挙動、機密情報の扱い | 見積前に仕様整理が必要です。 |
外部連携で対応できる内容
外部連携開発では、主に次のような内容を相談できます。
| 連携内容 | 概要 | 見積前に必要な情報 |
|---|---|---|
| Discord通知 | 注文、決済、エラー、稼働状況、サイン発生などをDiscordへ通知 | 通知対象、通知文、通知頻度、Webhook利用有無、WebRequest設定 |
| Google Sheets連携 | 運用ログ、損益、注文履歴、ステータス、外部設定などをシートで管理 | 書き込み項目、読み込み項目、GAS URL、権限、更新頻度 |
| CSVログ出力 | ローカルファイルへ注文履歴、判定ログ、サイン履歴、稼働ログを保存 | 出力項目、保存先、ファイル名、出力頻度、FILE_COMMONの有無 |
| Webhook送信 | 外部サービスへ状態やイベントを送信 | 送信先URL、payload形式、HTTPメソッド、認証有無 |
| 外部API連携 | 外部システムから情報取得、状態送信、認証確認などを行う | API仕様、認証方式、制限回数、レスポンス形式 |
| 外部認証 | 利用者認証、期限認証、口座認証、ライセンス確認など | 認証キー、口座情報の扱い、失敗時の挙動、通信失敗時の扱い |
| 外部制御 | Google Sheetsや外部URLから稼働ON/OFF、通貨別停止、時間制御などを取得 | 制御項目、読み込み頻度、通信失敗時のデフォルト動作 |
| ローカルAgent連携 | MT4/MT5外のローカルプログラムとファイル・HTTP・Socketなどで連携 | 連携方式、通信方向、ポート、ファイル形式、再接続条件 |
| 集計・監視ツール | 複数EAの稼働状況、損益、エラー、注文状況をまとめて確認 | 対象EA、Magic Number、出力項目、集計単位、更新頻度 |
| 通知抑制・重複防止 | 同じ通知やエラー通知の連続送信を防ぐ | 通知間隔、同一イベント判定、再通知条件 |
外部連携で対応しない内容
次の内容は、外部連携開発では対応できません。
| 対応しない内容 | 理由 | 確認ページ |
|---|---|---|
| 外部シグナルに基づく売買助言 | 投資助言や売買判断に該当する可能性があるため | 投資助言を行わない方針 |
| 利益が出る外部制御の提案 | 収益性の助言や利益保証に見える可能性があるため | 免責事項・リスク説明 |
| 推奨ロットや推奨銘柄の提示 | 利用者の資金状況やリスク許容度に関わるため | 免責事項・リスク説明 |
| 特定ブローカーへの誘導 | 口座開設誘導やIB誘導を目的としないため | 広告・紹介方針 |
| 外部サービス規約に反する連携 | API利用規約やサービス規約に違反する可能性があるため | 利用規約 |
| 秘密情報を公開ログへ出す実装 | Webhook URL、APIキー、認証トークンの漏えい防止のため | サポート方針 |
EA本体と外部連携を分けて設計する
外部連携開発では、EA本体の売買処理と、外部通知・外部記録・外部制御を分けることが重要です。
| 責務 | 内容 | 確認ログ例 |
|---|---|---|
| signal | 売買条件、インジケーター条件、価格条件、時間足条件 | SIGNAL_CONTEXT、COPYBUFFER_READ、BAR_BASIS |
| execution | OrderSend、CTrade、注文結果、決済結果 | ORDER_SEND、TRADE_RESULT、RESULT_RETCODE |
| risk | ロット、証拠金、スプレッド、最大ポジション、停止条件 | LOT_CHECK、MARGIN_CHECK、SPREAD_CHECK |
| exit | 決済、SL/TP変更、トレーリング、部分決済 | EXIT_CHECK、POSITION_CLOSE、SLTP_MODIFY |
| external control | 外部シートや外部APIからの制御値取得 | EXT_CONTROL_READ、API_RESPONSE、CONTROL_STATE |
| notification | Discord通知、Push通知、メール通知、Webhook送信 | NOTIFY_SEND、HTTP_STATUS、WEBREQUEST_RESULT |
| recording | CSV、Google Sheets、外部ログ、履歴集計 | CSV_WRITE、SHEET_WRITE、HISTORY_AUDIT |
| auth | ライセンス確認、利用者認証、期限確認 | AUTH_CHECK、AUTH_RESULT、LICENSE_STATE |
確認ポイント:外部連携に失敗した場合でも、EA本体の売買判定やポジション管理をどう扱うかを事前に決めておく必要があります。通知失敗、記録失敗、認証失敗、外部制御失敗は、それぞれ別の挙動として設計します。
Discord通知開発
Discord通知では、EAやインジケーターの状態をDiscordチャンネルへ送信できます。
| 通知対象 | 通知内容の例 | 確認ポイント |
|---|---|---|
| 起動通知 | EA名、バージョン、銘柄、時間足、稼働状態 | 初期化成功時のみ送るか、再起動時も送るか |
| 注文通知 | BUY/SELL、ロット、価格、retcode、ticket | 注文送信時か、約定確認後かを分ける |
| 決済通知 | 決済価格、損益、保有時間、決済理由 | 履歴取得のタイミングを確認する |
| エラー通知 | GetLastError、TRADE_RETCODE、HTTPステータス | 同じエラーの連続通知を抑制する |
| 稼働状況通知 | ポジション数、含み損益、当日損益、外部制御状態 | 通知間隔、表示項目、秘密情報の除外 |
| サイン通知 | インジケーターのサイン発生、条件成立 | 現在足か確定足か、リペイント有無 |
Discord通知を使う場合は、Discord側のWebhook作成と、MT4/MT5側のWebRequest設定が必要になる場合があります。
Google Sheets連携開発
Google Sheets連携では、EAやインジケーターの稼働状況、注文履歴、決済履歴、エラー、日次損益、外部制御値などをシートで管理できます。
| 連携内容 | 概要 | 確認ポイント |
|---|---|---|
| ログ書き込み | 注文、決済、エラー、状態をGoogle Sheetsへ記録 | 書き込み列、更新頻度、重複防止 |
| 現在状態の更新 | EAごとの稼働状態や最新ステータスを更新 | UPSERT方式、識別キー、上書き条件 |
| 日次集計 | 当日損益、取引数、勝敗、エラー数などを集計 | 日付基準、サーバー時間、口座通貨 |
| 外部制御 | シート上のON/OFFや停止時間をEA側が取得 | 通信失敗時のデフォルト動作、読み込み頻度 |
| 認証・ライセンス | 許可口座、期限、利用可否を確認 | 失敗時の挙動、通信エラー時の扱い、ログ |
注意:Google Sheets連携では、GAS URLや認証情報を扱う場合があります。公開ログや問い合わせ文に、GAS URL、APIキー、認証トークン、口座番号の全桁を含めないでください。
CSVログ出力開発
CSVログ出力では、MT4/MT5のローカルフォルダや共通フォルダへ、注文履歴、判定ログ、サイン履歴、検証ログなどを保存できます。
| CSV出力内容 | 用途 | 確認ポイント |
|---|---|---|
| 注文ログ | OrderSend、retcode、注文価格、ロット、Magic Numberの確認 | 出力タイミング、ticket、order/dealの区別 |
| 決済ログ | 決済価格、損益、決済理由、保有時間の確認 | HistorySelect、DEAL_ENTRY、手数料・swap |
| シグナルログ | サイン発生、条件成立、フィルター通過状況の確認 | 現在足/確定足、buffer値、条件名 |
| エラーログ | GetLastError、TRADE_RETCODE、HTTPステータスの確認 | 同じエラーの連続出力、ログ量 |
| 稼働ログ | EA起動、停止、外部制御状態、認証状態の確認 | 時刻基準、出力頻度、状態変更時のみ出すか |
| バックテスト検証ログ | Strategy Testerでの判定追跡 | ログ量が多すぎるとテスト速度へ影響します。 |
CSV出力では、列順、文字コード、保存先、ファイル名、ヘッダー有無、出力頻度を事前に決めます。
Webhook・外部API連携開発
Webhookや外部API連携では、MT4/MT5から外部サービスへHTTPリクエストを送信したり、外部サービスから状態を取得したりします。
| 確認項目 | 内容 | 注意点 |
|---|---|---|
| HTTPメソッド | GET / POSTなど | 外部API仕様に合わせます。 |
| 送信形式 | JSON、form、query stringなど | 文字コード、改行、エスケープ処理を確認します。 |
| 認証方式 | APIキー、Bearer token、secret URLなど | ログに出さない、setファイル共有時に注意します。 |
| レスポンス形式 | JSON、CSV、plain textなど | 解析方法とエラー時の扱いを決めます。 |
| HTTPステータス | 200、204、400、401、403、404、429、500など | ステータス別にログと挙動を分けます。 |
| timeout | 応答待ち時間 | 長すぎるとEA処理を止め、短すぎると失敗しやすくなります。 |
| 再試行 | 失敗時に再送するか | 連続送信や二重記録を避ける設計が必要です。 |
外部認証・ライセンス確認
EAやツールの利用制限、利用期限、許可口座、契約状態などを外部で確認する仕組みも相談できます。
| 認証内容 | 概要 | 確認ポイント |
|---|---|---|
| 口座認証 | 許可された口座番号か確認する | 口座番号の扱い、マスク、ログ表示範囲 |
| 期限認証 | 利用期限内か確認する | 期限切れ時の動作、猶予、通知 |
| ライセンスキー認証 | 入力キーや外部登録情報を確認する | キーの保管、送信、ログ非表示 |
| 商品別認証 | 商品IDやプラン別に機能を切り替える | 機能制限、表示メッセージ、サポート範囲 |
| 通信失敗時の扱い | 認証サーバーに接続できない場合の挙動 | 停止、継続、猶予、通知などを事前に決めます。 |
確認ポイント:外部認証は、EA本体の注文処理や利用制御に関わるため、通信失敗時の挙動を明確にする必要があります。認証失敗、期限切れ、通信失敗、設定不足は別の状態としてログに残します。
ローカルAgent・外部アプリ連携
MT4/MT5だけでは難しい処理を、ローカルAgentや外部アプリと連携して実装する相談もできます。
| 連携方式 | 概要 | 確認ポイント |
|---|---|---|
| ファイル連携 | CSV、txt、datなどを介して状態を受け渡す | 保存先、ロック、読み書きタイミング、重複処理 |
| ローカルHTTP連携 | ローカルAgentへHTTPリクエストを送る | ポート、起動状態、timeout、セキュリティ |
| Socket連携 | TCPなどで外部アプリと通信する | 接続維持、再接続、切断時の挙動 |
| Bridge連携 | EAと外部サービスの中継プログラムを使う | 責務分離、ログ、再起動、監視方法 |
| 複数端末連携 | 複数MT4/MT5やVPS間で状態を共有する | 同期方式、遅延、競合、識別キー |
外部アプリやローカルAgentを使う場合は、EA本体だけでなく、外部側の起動状態、ログ、再接続、セキュリティも確認対象になります。
WebRequest設定について
Discord通知、Google Sheets連携、Webhook、外部API連携では、MT4/MT5側でWebRequest設定が必要になる場合があります。
WebRequest設定が不足していると、EAやツール本体は起動していても、通知や外部連携だけが失敗します。
| 確認項目 | 内容 | 確認場所 |
|---|---|---|
| 許可URL | 通信先URLをMT4/MT5のWebRequest許可リストへ追加しているか | MT4/MT5のオプション |
| Inputs設定 | Webhook URLやGAS URLが正しく入力されているか | EA・ツール設定画面 |
| HTTPステータス | 200、204、400、403、404、429、500など | Expertsログ |
| timeout | 通信が時間切れになっていないか | Expertsログ |
| 外部サービス側 | Discord、GAS、API側の権限や公開範囲 | 外部サービス設定 |
外部連携開発の進め方
外部連携開発は、通信先・送信内容・頻度・エラー時の挙動を整理したうえで進めます。
| 工程 | 内容 | 依頼者側で必要なこと |
|---|---|---|
| 1. 相談 | 連携したい内容や目的を確認します。 | Discord通知、Sheets連携、CSV出力など、希望内容を整理してください。 |
| 2. 仕様整理 | 送信内容、読み込み内容、通信頻度、失敗時の挙動を整理します。 | 通知文、列構成、API仕様、外部サービス設定を共有してください。 |
| 3. 見積 | 作業範囲、難易度、納品物、対応範囲を確認します。 | 優先順位や必要機能を共有してください。 |
| 4. 実装 | MQL4 / MQL5、必要に応じてGASや外部Agent側を実装します。 | 外部サービス側の設定や権限を確認してください。 |
| 5. 通信確認 | WebRequest、HTTPステータス、CSV、Sheets、通知結果を確認します。 | テスト通知やテスト書き込みを確認してください。 |
| 6. エラー処理確認 | 通信失敗、認証失敗、timeout、外部サービス停止時の挙動を確認します。 | 想定する失敗時動作を確認してください。 |
| 7. 修正 | ログ、通知文、列構成、更新頻度などを調整します。 | ログ、スクリーンショット、再現条件を共有してください。 |
| 8. 納品 | EA・ツール本体、必要に応じてsetファイルや説明を納品します。 | 導入方法とWebRequest設定を確認してください。 |
見積前に整理する情報
外部連携開発では、通信先や機密情報の扱いが関係するため、見積前に次の情報を整理してください。
| 項目 | 整理する内容 | 例 |
|---|---|---|
| 対象ファイル | EA名、インジ名、ツール名、バージョン | 既存EAへ通知追加、新規通知ツール作成など |
| 連携内容 | Discord、Google Sheets、CSV、Webhook、外部APIなど | 注文通知、日次集計、外部制御など |
| 送信する情報 | 外部へ送る項目 | symbol、timeframe、order、deal、profit、errorなど |
| 受信する情報 | 外部から取得する項目 | 稼働ON/OFF、停止時間、許可口座、設定値など |
| 更新頻度 | 毎tick、注文時、決済時、一定時間ごと、状態変化時など | 通知過多や通信制限を避けるために重要です。 |
| エラー時の動作 | 通信失敗時に止めるか、継続するか、通知するか | 外部制御や認証では特に重要です。 |
| 外部サービス仕様 | API仕様、GAS仕様、Webhook仕様、認証方式 | HTTPメソッド、payload、レスポンス形式など |
| ログ要件 | Expertsログ、CSVログ、通信ログ、エラーログ | 後から原因を追えるようにします。 |
| 動作環境 | MT4 / MT5、VPS、OS、口座方式、対象銘柄 | WebRequestやローカルAgent利用時に重要です。 |
見積前に整理する情報は、次のページも確認してください。
外部連携で送ってはいけない情報
外部連携開発では、URLや認証情報を扱う場合があります。問い合わせやスクリーンショット共有時には、次の情報をそのまま送らないでください。
- Discord Webhook URLの実値
- Google Apps Script URLの実値
- APIキー
- Bearer token
- 認証トークン
- ライセンスキー
- 口座パスワード
- 投資家パスワード
- 口座番号の全桁
- 個人情報
- 第三者の情報
- 未加工の運用履歴画像
注意:Webhook URL、GAS URL、APIキー、認証トークンは秘密情報です。問い合わせ時は、必要な箇所だけを残して必ずマスクしてください。漏えいした可能性がある場合は、WebhookやAPIキーを再発行してください。
よくある相談例
| 相談例 | 確認すること | 補足 |
|---|---|---|
| EAの注文結果をDiscordへ通知したい | 通知対象、通知文、retcode、注文時か約定後か | WebRequest設定とWebhook URL管理が必要です。 |
| 決済履歴をGoogle Sheetsへ記録したい | 書き込み列、日付基準、損益項目、重複防止 | GAS側の権限と書き込み方式を確認します。 |
| バックテスト用にCSVログを出したい | 出力項目、出力頻度、保存先、ログ量 | ログ量が多いとBT速度へ影響する場合があります。 |
| 外部シートからEAの稼働ON/OFFを制御したい | 読み込み頻度、通信失敗時の挙動、制御対象 | 外部制御とEA本体処理を分けて設計します。 |
| ライセンス認証を追加したい | 認証方式、期限、許可口座、失敗時の動作 | 通信失敗と認証失敗を分けてログ化します。 |
| 複数EAの稼働状況をまとめて見たい | 対象EA、Magic Number、symbol、状態項目 | 識別キーと更新頻度を決める必要があります。 |
| ローカルAgentと連携したい | 連携方式、通信方向、再接続、ログ | EA側と外部アプリ側の両方を確認します。 |
依頼前チェック表
- □ MT4 / MT5のどちらか整理している
- □ 対象EA・インジ・ツール名を整理している
- □ 新規開発か既存ファイルへの追加か整理している
- □ Discord通知、Google Sheets、CSV、Webhook、外部APIなど連携内容を整理している
- □ 外部へ送信したい項目を整理している
- □ 外部から取得したい項目を整理している
- □ 通信頻度を整理している
- □ 通信失敗時の挙動を整理している
- □ 通知失敗時の挙動を整理している
- □ 認証失敗時の挙動を整理している
- □ HTTPステータスやエラー時ログの要否を整理している
- □ WebRequest設定が必要か確認している
- □ 外部サービス側の権限や仕様を確認している
- □ Webhook URL、GAS URL、APIキー、認証トークン、口座番号をマスクしている
- □ 投資助言・利益保証を求める依頼ではないことを確認している
関連ページ
| ページ | 確認できる内容 |
|---|---|
| 開発代行 | EA・インジケーター・既存改修・外部連携など、開発代行全体の入口です。 |
| EA作成代行 | EA本体の注文・決済・ロット管理を含む開発相談に使えます。 |
| インジケータ作成代行 | サイン表示、チャート表示、EA連携用バッファの相談に使えます。 |
| 既存EA・インジ改修 | 既存ファイルへ通知・ログ・外部連携を追加したい場合に確認できます。 |
| 見積依頼前の確認事項 | 見積前に整理する情報、資料、ログ、スクリーンショットを確認できます。 |
| お問い合わせ | 外部連携開発の相談・見積依頼の入口です。 |
| 通知・集計ツール | Discord通知、集計、運用記録、補助ツール系の商品カテゴリを確認できます。 |
| WebRequest設定方法 | Discord通知、GAS、外部API連携で必要なWebRequest設定を確認できます。 |
| Discord通知設定 | Discord Webhook通知を使う場合の設定方法を確認できます。 |
| setファイルの使い方 | Webhook URLや外部連携設定がsetファイルに含まれる場合の注意点を確認できます。 |
| MQL5 WebRequest・JSON・外部API実装完全ガイド | WebRequest、JSON、HTTPステータス、外部API連携の技術確認に使えます。 |
| MQL5ファイル操作・CSVログ出力完全ガイド | CSV出力、FileOpen、FileWrite、ログ保存の技術確認に使えます。 |
| 動作環境 | MT4/MT5、VPS、OS、WebRequest、利用環境の確認に使えます。 |
| サポート方針 | 開発後のサポート対象、対象外、追加対応になる内容を確認できます。 |
| 購入前確認事項 | 購入・依頼前に確認する条件や注意事項を確認できます。 |
| 利用規約 | サイト・商品・サービス利用時の基本条件を確認できます。 |
| 免責事項・リスク説明 | EAや投資関連ツール利用時のリスクと免責を確認できます。 |
| 投資助言を行わない方針 | 当サイトが投資助言・売買指示を行わない方針を確認できます。 |
FAQ
Discord通知だけを追加できますか?
相談できます。通知対象、通知文、通知頻度、Webhook URL、WebRequest設定、HTTPステータス確認を整理します。Webhook URLの実値は問い合わせ文や公開ログへ含めないでください。
Google Sheetsへ取引履歴を書き込めますか?
相談できます。書き込み項目、列構成、GAS URL、更新頻度、重複防止、日付基準、エラー時の挙動を確認します。GAS URLや認証情報は機密情報として扱ってください。
外部シートからEAの稼働を止めることはできますか?
仕様によって相談できます。ただし、外部通信失敗時の挙動、読み込み頻度、停止対象、新規注文だけ止めるのか、決済処理も止めるのかを明確にする必要があります。
外部連携に失敗したらEAの取引も止まりますか?
設計によります。通知失敗、記録失敗、外部制御失敗、認証失敗は別の状態として扱います。どの失敗でEA本体を止めるか、継続するか、警告だけ出すかを事前に決めます。
CSVログだけ追加できますか?
相談できます。出力項目、保存先、ファイル名、ヘッダー、出力頻度、バックテスト時のログ量、FILE_COMMONの有無を確認します。
外部APIやWebhookの仕様がまだ決まっていませんが相談できますか?
相談は可能ですが、正確な見積にはAPI仕様、HTTPメソッド、認証方式、payload、レスポンス形式、制限回数、エラー仕様が必要です。未確定の場合は、仕様整理からの対応になります。
ライセンス認証を追加できますか?
相談できます。許可口座、利用期限、ライセンスキー、商品ID、認証失敗時の挙動、通信失敗時の挙動、ログ表示範囲を整理します。
Webhook URLやAPIキーを送ってもよいですか?
そのまま送らないでください。問い合わせ時は必ずマスクしてください。必要な確認がある場合でも、秘密情報を含まない形で状況を共有してください。
外部連携で売買判断を自動化できますか?
依頼者が指定した外部制御仕様を技術的に実装する相談は可能です。ただし、売買判断の助言、利益が出る条件の提案、推奨銘柄、推奨ロット、利益保証、勝率保証にあたる内容は対応できません。
見積相談前の確認:外部連携開発では、通信先、送信内容、受信内容、更新頻度、認証方式、エラー時の挙動、秘密情報の扱いが重要です。まずは見積依頼前の確認事項を確認し、必要な資料を整理してからお問い合わせください。
まとめ
外部連携開発では、MT4/MT5向けEA・インジケーター・補助ツールに、Discord通知、Google Sheets連携、CSVログ出力、Webhook、外部API、外部認証、外部制御、ローカルAgent連携などを追加・設計します。
外部連携では、EA本体の売買判定・注文処理・決済処理と、通知・記録・外部制御・認証・ログ出力を分けて設計することが重要です。
依頼前には、連携先、送信内容、受信内容、更新頻度、認証方式、通信失敗時の挙動、通知失敗時の挙動、ログ要件、秘密情報の扱いを整理してください。
Webhook URL、GAS URL、APIキー、認証トークン、口座番号などの機密情報は、問い合わせ時やスクリーンショット共有時に必ずマスクしてください。