私たちのファンページに参加してください
- 発行者:
- 削除済み
- ビュー:
- 32
- 評価:
- パブリッシュ済み:
-
このコードに基づいたロボットまたはインジケーターが必要なら、フリーランスでご注文ください フリーランスに移動
機能
EAは2つの独立したメカニズムを通じて取引イベントを検知します:リアルタイム検知のためのOnTradeTransactionハンドラーと、フォールバックとしての定期的な取引履歴スキャンです。重複排除システムにより、両方のメカニズムが同じイベントでトリガーされた場合でも、同じ通知を2度受け取ることはありません。
サポートされる通知
- 取引開始:シンボル、方向(買い/売り)、数量、価格、SL、TP、マジックナンバー、取引チケット
- 取引終了: シンボル、出来高、終値、グロスP/L、手数料、スワップ、ネットP/L、更新残高
- SL/TPの変更:新旧の値を並べて表示(例:SL:1924.00 → 1926.50)
- 発注済み注文:種類(指値買い、指値売り、逆指値買い、逆指値売り、逆指値買い、逆指値売り)、価格、数量
- ポジションの反転: 新しい方向、クローズしたP/L
- 入出金:金額、更新残高
- 定期的な口座サマリー: 残高、エクイティ、フリーマージン、フローティングP/L、セッションP/L、オープンポジション、その日のエクイティのハイ/ロー、ドローダウンパーセンテージ
- セッション統計による接続および切断メッセージ
セットアップ - ステップバイステップ
ボットトークンとチャットIDです。
ステップ1:Telegramボットを作成する
Telegramを開き、@BotFatherを検索し、会話を開始する。コマンド /newbot を送信します。BotFather は、表示名(好きなもの)とユーザー名(必ず "bot" で終わるもの)を選択するように尋ねます。作成されると、API トークン(7123456789:AAH1bCdEfGhIjKlMnOpQrStUvWxYz のような長い文字列)が送信されます。このトークンをコピーします。
ステップ 2: チャットIDを取得する
Telegramで@userinfobot(または@getmyid_bot)を検索し、メッセージを送信します。あなたのチャットID(例:123456789)が返信されます。この番号をコピーしてください。
グループ通知の場合: あなたのボットを Telegram グループに追加し、グループ内で @getidsbot を使用してグループチャット ID (負の数、例 -1001234567890) を取得します。
ステップ3:ボットと会話を始める
このステップは忘れがちです。Telegramの検索でボットをユーザー名で見つけ、それを開いて「開始」を押します。これをスキップすると、TelegramのAPIはすべてのメッセージを拒否します。
ステップ4:MetaTrader 5でWebRequestを許可する
MT5で、ツール → オプション → Expert Advisorsに進みます。Allow WebRequest for listed URL」にチェックを入れる。Add をクリックし、https://api.telegram.org と正確に入力し、OK をクリックします。これは1回限りの設定です。このステップをスキップすると、ExpertsタブにWebRequestエラー4014が表示され、メッセージが送信されなくなります。
ステップ 5: EA のインストール
ExMachina_TelegramBridge.mq5をMQL5/Experts/フォルダにコピーします(MT5のFile → Open Data Folderでアクセスします)。MetaEditorを開き(F4)、ファイルに移動し、コンパイル(F7)を押します。エラー0件、警告0件が表示されるはずです。
ステップ 6: チャートへのアタッチ
ナビゲーターパネルから任意のチャートにEAをドラッグします。設定ダイアログで、ボットトークンとチャットIDを貼り付けます。OKをクリックします。数秒以内に、口座番号、サーバー、残高、エクイティ、オープンポジション数を示す接続メッセージをテレグラムで受信するはずです。
入力パラメーター
テレグラムの設定
- ボットトークン:@BotFather からの API トークン(必須)
- チャット ID: 数字のチャット ID (必須、グループ ID でも可)
通知設定:
- Notify on Trade Open: true/false (デフォルト: true)
- 取引クローズ時に通知: true/false (デフォルト: true)
- SL/TP 変更時に通知: true/false (デフォルト: true)
- 未決注文の通知: true/false (初期値: true)
- 入出金時に通知: true/false (デフォルト: true)
口座サマリー
- Summary Report Interval:Off, 1時間毎, 4時間毎, 8時間毎, 24時間毎 (デフォルト: 4時間毎)
- Include Equity in Summary: true/false (デフォルト: true)
- Include Drawdown Info: true/false (デフォルト: true)
表示とスタイル
- メッセージ・スタイル:Minimal(コンパクトな一行)、Detailed(ラベル付きの完全な情報)、Emoji-rich(Unicodeアイコン付きの詳細)。デフォルトは絵文字が豊富。
- ダッシュボードをチャートに表示:true/false(デフォルト:true)
- ダッシュボードの背景色、文字色、アクセントカラー:カスタマイズ可能。デフォルトはExMachinaスチールパレットを使用。
フィルター:
- シンボル・フィルター:監視するシンボルのコンマ区切りリスト。すべてのシンボルの場合は空のままにします。例"eurusd,xauusd"
- Min Lot Size to Notify (通知する最小ロットサイズ): 通知をトリガーする最小数量。0 = フィルタなし。マイクロロットを無視するのに便利。
- マジックナンバーフィルター: 特定のマジックナンバーを持つ取引のみ通知します。-1 = すべての取引(手動も含む)。
メッセージスタイル
最小 - コンパクトな一行形式:
XAUUSD|買い|0.50ロット@ 1928.45
詳細 - ラベル付きフィールドで構成:
取引終了
━━━━━━━━━━━━━━━━━━━━
シンボルXAUUSD
クローズ売り(終値買い)
出来高: 0.50ロット
価格:1935.20
───────────────────
グロスP/L: +$340.00
コミッション: -$2.50
スワップ: -$0.00
ネットP/L: +$337.50
残高: $10,585.00 USD
ディール #182947363
Emoji-rich (default) - Detailed と同じですが、各フィールドに Unicode アイコンが表示されます。取引開始には、買いの場合は緑色の丸、売りの場合は赤色の丸が表示されます。クローズには、利益にはチェックマーク、損失にはクロスが表示されます。
フィルター
マジックナンバーフィルターは、同じ口座で複数のEAを運用する場合に特に便利です。特定のEAのマジックナンバーに設定すると、そのEAからの通知のみを受信します。すべてを受信するには-1に設定します(手動取引を含む)。
Symbolフィルターはカンマ区切りのリストで指定します:"xauusd,eurusd,gbpusd"。これらのシンボルの取引のみが通知を生成します。全シンボルを監視する場合は空のままにします。
口座サマリー
定期的なサマリーには、残高、エクイティ、フリーマージン、オープンポジション数、合計フローティングP/L(スワップを含む)、EAを開始してからのセッションP/L、当日の最高エクイティ、当日の最低エクイティ、当日の最高値から計算したドローダウンのパーセンテージが含まれます。
日々のドローダウン制限をリモートで監視する必要があるプロップファームのトレーダーに便利です。アクティブなセッション中は、間隔を1時間に設定してください。
チャート上ダッシュボード
チャート左上のコンパクトなステータス・パネルが表示します:
- 接続状態:接続状態: 接続済み(緑)または未接続(赤)
- ボットのユーザー名
- 実行中のカウンター: 送信されたメッセージと失敗したメッセージ
- ExMachinaのキャッチフレーズ
ダッシュボードは、デフォルトでExMachinaスチールパレット(背景C'8,10,18'、アクセントC'0,180,220')を使用し、カスタマイズしたり、ディスプレイの入力を介して無効にすることができます。
テスト方法
ステップ1: デモ口座の任意のチャートにEAをアタッチします。Experts タブで「Connected to bot @YourBotName」を確認。テレグラムで接続メッセージを確認する。
ステップ2:手動で少額の成行注文を発注します(例:0.01ロットのEURUSD)。TRADE OPENED」通知を受け取るはずです。
ステップ3: オープンポジションのSLまたはTPを変更します(右クリック→変更)。SL/TP MODIFIED" 通知が表示され、新しい値が表示されます。
ステップ4: ポジションをクローズします。P/Lの内訳が表示された "TRADE CLOSED "通知を受け取ります。
ステップ5: 保留注文(例:指値買い)を発注します。PENDING ORDER PLACED "通知を受け取ります。
ステップ6: EAをチャートから削除します。セッション統計とともに「Disconnected(接続解除)」メッセージが表示されます。
簡単なブラウザテスト: EAを使用する前にトークンとチャットIDを確認するには、以下のURLを任意のブラウザに貼り付けてください(プレースホルダを置き換えてください):
https://api.telegram.org/bot<YOUR_TOKEN>/sendMessage?chat_id=<YOUR_CHAT_ID>&text=Test
レスポンスに{"ok":true}と表示されれば、あなたの認証情報は正しい。
簡単なスモークテストスクリプト:これをスクリプト(EAではない)としてMQL5/Scripts/に保存し、コンパイルして、デモチャート上で実行します:
<TradeTrade.mqh> をインクルードします。
void OnStart()
{
CTradeトレード;
trade.Buy(0.01, "EURUSD");
Sleep(3000);
for(int i = PositionTotal()-1; i >= 0; i--)
{
if(PositionGetSymbol(i) == "EURUSD")
trade.PositionClose(PositionGetTicket(i));
}
}
オープン通知とクローズ通知の両方をテレグラムで受信する必要があります。
重要:このEAはStrategy Testerでは動作しません。Strategy TesterはWebRequest(ネットワークコール)をサポートしていません。EAはインターネットにアクセスできるライブまたはデモチャート上で実行する必要があります。
他のEAと並行して実行する
MT5 では、1 つのチャートに 1 つの EA しか使用できません。テレグラムブリッジを別のチャート(任意のシンボル)に取り付けます。EAが接続されているチャートだけでなく、口座全体を監視します。ブリッジがどのチャート上で実行されているかに関係なく、すべてのEAからのすべての取引と手動取引が検出されます。
特定のEAに通知を制限するには、マジックナンバーフィルターを使用してください。
トラブルシューティング
メッセージを受信しない:
1.ツール → オプション → Expert Advisors → Allow WebRequestでhttps://api.telegram.org。
2.ボットトークンとチャットIDが正しいことを確認する(余分なスペースがないこと)
3.ボットのテレグラムチャットで「開始」を押したことを確認します。
4.Experts タブ(View → Toolbox → Experts)にエラーメッセージがないか確認する。
WebRequest エラー 4014: Telegram URL が許可リストにありません。これは最も一般的な問題です。
HTTP 401 Unauthorized: 無効なボットトークンです。もう一度 @BotFather からコピーしてください。
HTTP 400 Bad Request: チャット ID が間違っているか、ボットと会話を開始していません。
HTTP 429 リクエストが多すぎます:Telegram のレート制限。EA にはバックオフによる再試行ロジックが組み込まれています。これは取引頻度が極めて高い場合にのみ発生します。
EAがINIT_PARAMETERS_INCORRECTを表示しています:ボットトークンとチャットIDの両方が必要です。どちらのフィールドも空であることを確認してください。
ダッシュボードが表示されない: EAの入力で「ダッシュボードをチャートに表示」がtrueに設定されていることを確認してください。
テクニカル詳細
- 取引検出: OnTradeTransaction (リアルタイム) + 2秒ごとの取引履歴ポーリング (フォールバック) による二重メカニズム。
- 重複排除: 処理された取引をメモリに保存 (直近の500取引を追跡)
- SL/TP検出:毎ティックで比較されるポジション・スナップショット配列、変化があればトリガー
- Telegram API: WebRequest経由のHTTPS POST、URLエンコードされたペイロード、Markdownパースモード
- 再試行ロジック:1メッセージにつき最大3回の試行、再試行間に1秒の遅延、HTTP 429では3秒の遅延
- 接続テスト:トークンを検証し、ボット名を取得するために、init時に呼び出される/getMeエンドポイント
- サマリータイマー:EventSetTimer(60) が、設定された間隔が経過したかどうかをチェックする。
- チャート・オブジェクト:すべてのダッシュボード・オブジェクトは接頭辞 "EXTB_"を使用し、deinit時にクリーンアップされます。
- 外部DLL、サードパーティサーバーは使用しない。HTTPS 経由の MT5 → Telegram 直接通信。
このEAはフリーでオープンソースです。フィードバック、評価、提案を歓迎します。
ExMachinaトレーディングシステム - 利益の前に精度。
MetaQuotes Ltdによって英語から翻訳されました。
元のコード: https://www.mql5.com/en/code/70383
ExMachina TradePilot
プロフェッショナルな取引管理パネル:自動ロットサイジング、スマートトレーリングストップ(ATR/Fixed/Candle)、自動ブレイクイーブン、マルチTPパーシャルクローズシステム(TP1/TP2/TP3)、ワンクリック保留注文を備えたワンクリック売買。本格的なトレーダーのためのオールインワン注文管理。
ExMachina Prop Dashboard
リアルタイムのプロップファームルールトラッカー:毎日のドローダウン、最大ドローダウン、利益目標の進捗状況、取引日数カウント、視覚的な進捗バーによるチャレンジステータス。FTMO、MyFundedFX、E8、TFT、Bulenox用のプリセット。純粋なインジケーター - トレードの干渉なし。
CRT Indicator(STF) : Explorer
これは、100行未満で構築されたミニマリストのCRT(ローソク足レンジ理論)ビジュアライザーであり、「絵に描いたような」シングル・タイムフレーム・セットアップが実際の市場において実際にどのような結果をもたらすかを明らかにする。
Accelerator Oscillator (AC)
アクセルレーション/デセレレーションインジケーター(AC)は現在の市場を動かす力の加速と減速を測ります。
