MetaTrader 5 / ライブラリ

MT5からTelegramへ - プロフェッショナル取引通知ライブラリ - MetaTrader 5のためのライブラリ

93
(6)

MetaTrader 5用Telegramボット統合のプロフェッショナルライブラリ。取引シグナル、スクリーンショット、レポート、リアルタイム通知をTelegramチャンネルやグループに送信するための完全なソリューションです。

主な機能

  • 📨リアルタイム取引通知- ポジションの新規/決済/変更を即座にアラートします。
  • チャートスクリーンショット- 注釈付きのチャートを自動的にキャプチャ
  • 📊口座レポート- 日次、週次、月次パフォーマンスレポート
  • ⚠️リスク管理アラート- ドローダウン、マージンレベル、ストップアウトアラート
  • 🔄メッセージキューシステム- リトライメカニズムによる信頼性の高い配信
  • 📝マルチチャンネル・サポート- 複数のTelegramチャット/チャンネルに送信
  • 📝テンプレートシステム- カスタマイズ可能なメッセージテンプレート
  • Ἷスマートレート制限- APIブロッキングの防止

必要条件

  • MetaTrader 5 バージョン2375以上
  • Telegram ボットトークン(@BotFather から取得)
  • チャットまたはチャンネルID
  • インターネット接続

インストール

ステップ1:テレグラムボットを作成する

  1. Telegramを開き、@BotFatherを見つける。
  2. newbotコマンドを送信
  3. ボットの名前を選択
  4. ユーザー名を選択(末尾は 'bot' でなければならない)
  5. BotFather が提供するトークンを保存する

ステップ 2: チャット ID の取得

  1. ボットをグループ/チャンネルに追加するか、プライベートチャットルームを開始します。
  2. ボットにメッセージを送る
  3. https://api.telegram.org/bot<YOUR_TOKEN>/getUpdates にアクセスしてください。
  4. 返信でチャットIDを見つける

ステップ3:MT5をセットアップする

  1. MT5を開く → サービス → 設定 → Expert Advisors
  2. 以下のURLのWebRequestを許可する」にチェックを入れる
  3. URLを追加: https://api.telegram.org
  4. OKをクリックします。

ステップ 4: ファイルのインストール

  1. TelegramBot.mqhをMQL5/Include/フォルダにコピーします。
  2. TelegramBot_Example.mq5をMQL5/Experts/フォルダにコピーします。
  3. 両方のファイルをコンパイルする

クイックスタート

#include <TelegramBot.mqh> CTelegramBot bot; int OnInit() {     // ボットの初期化     if(!bot.Initialize("YOUR_TOKEN"。, "YOUR_CHAT_ID"))     {         Print(「ボットの初期化に失敗しました);         return INIT_FAILED;     }          // テスト・メッセージの送信     bot.SendMessage(「ボット接続成功);          // グラフのスクリーンショットを送る     bot.SendChartScreenshot("現在の市場の状況");          return INIT_SUCCEEDED; }

APIリファレンス

基本メッセージ

bool SendMessage(string text); bool SendHTMLMessage(string text); bool SendMarkdownMessage(string text); bool SendMessageToAll(string text);

取引シグナル

bool SendTradeSignal(ENUM_SIGNAL_TYPE type, string symbol, double price); bool SendPositionOpened(ulong ticket, string symbol, ENUM_POSITION_TYPE type, double volume, double price); bool SendPositionClosed(ulong ticket, string symbol, double profit, double commission, double swap);

メディアファイル

bool SendPhoto(string file_path, string caption); bool SendDocument(string file_path, string caption); bool SendChartScreenshot(); bool SendChartScreenshot(string caption);

レポート

bool SendAccountStatus(); bool SendDailyReport(); bool SendWeeklyReport(); bool SendMonthlyReport();

リスク管理

bool SendRiskAlert(double drawdown_percent); bool SendMarginWarning(double margin_level); bool SendStopOutWarning();

エキスパート・アドバイザーの例

本パッケージには、Expert Advisorのデモ用サンプルが含まれています:

  • 通知によるポジション監視
  • 取引イベント時の自動スクリーンショット
  • 定期的な口座状況の更新
  • リスク管理アラート
  • デイリーレポート
  • デモ取引シグナル

メッセージフォーマット

HTML形式(推奨)

string message = "<b> Жирный текст</b>\n"; message += "<i> Курсив</i>\n"; message += "<code> Моноширинный код</code>\n"; message += "<a href='http://example.com'> Ссылка</a>"; bot.SendHTMLMessage(message);

マークダウン形式

string message = "太字テキスト{n}"; message += 「イタリック体; message += 「等幅コード; message += "[Link](http://example.com)"; bot.SendMarkdownMessage(message);

パフォーマンス

  • メッセージ速度: 1分間に最大30メッセージ
  • ファイルサイズ制限: 1ファイルあたり50MB
  • メッセージの長さ 4096文字
  • 署名長: 1024文字
  • キューサイズ: 100メッセージ
  • 平均応答時間: 50-200ms

エラー処理

ライブラリには複雑なエラー処理が含まれています:

  • 接続チェック
  • リミットオーバー保護
  • 失敗時の自動再試行
  • 失敗メッセージのキューイングシステム
  • 詳細なエラーログ

サポート

  • ドキュメント: 完全なAPIドキュメントがソースコードに含まれています。
  • EAサンプル: すべての機能を備えた動作例
  • デバッグモード: トラブルシューティングのためのデバッグ機能内蔵

バージョン履歴

バージョン 1.0.0 (2024)

  • 最初のリリース
  • Telegram Bot APIの完全統合
  • 複数チャンネルのサポート
  • キューイングシステム
  • テンプレートエンジン
  • リスク管理アラート

ライセンス

このライブラリはMetaTrader 5で使用するために「現状のまま」提供されます。個人および商用利用は無料です。

作者

Forex Trading Blueprint
(Stepan Sinic)

免責事項

本ソフトウェアは、いかなる保証もなく「現状のまま」提供されます。取引には多額の損失リスクが伴い、すべての投資家に適しているわけではありません。過去の実績は将来の結果を示すものではありません。


このライブラリが有用であるとお感じになりましたら、MQL5 CodeBaseで評価してください!

詳細なセットアップ手順

テレグラムでボットを作成する

  1. BotFatherを見つける

    • テレグラムを開く
    • 検索に @BotFather と入力
    • STARTを押す
  2. 新しいボットを作成する

    • コマンド /newbot を送信
    • ボットの名前を入力 (例: "My Trading Bot")
    • ボットのユーザー名を入力 (例: my_trading_bot)
    • トークンを保存します:123456789:ABCdefGHIjklMNOpqrsTUVwxyz
  3. ボットを設定する

    • setprivacyを送信し、DISABLEを選択します(グループ内で作業する場合)。
    • setjoingroupsを送信し、ENABLEを選択します(グループに追加する)。

チャットIDの取得

プライベートメッセージの場合

  1. ボットとの対話を開始する
  2. 任意のメッセージを送信
  3. ブラウザで開く: https://api.telegram.org/bot<TOKEN>/getUpdates
  4. chat":{"id":123456789} - これがあなたのチャットIDです。

グループの場合

  1. ボットをグループに追加
  2. グループにメッセージを送る
  3. ブラウザで開く: https://api.telegram.org/bot<TOKEN>/getUpdates
  4. チャット":{"id":-123456789}はグループに対して負の数です。

チャネルの場合

  1. チャンネル管理者としてボットを追加
  2. チャンネルにメッセージを送る
  3. またはチャネルの @username をチャット ID として使用する

よくある問題の解決方法

WebRequest エラー

解決方法: 1. ツール → 設定 → アドバイザー 2.次のURLに対してWebRequestを許可する 3.追加: https://api.telegram.org 4.MT5を再起動する

ボットが応答しません:

チェック: 1. トークンが正しい 2.チャット ID が正しい 3. インターネット接続 4. WebRequest の設定

メッセージが届きません:

考えられる原因: 1.API制限を超えている (30メッセージ/分) 2.メッセージのHTML形式が正しくない 3.メッセージが長すぎる(4096文字以上)

使用例

買いシグナルの送信

bot.SendTradeSignal(SIGNAL_BUY, "EURUSD", 1.1850, 1.1800, 1.1900);

注釈付きスクリーンショットの送信

string caption = "<b> Точка входа</b>\n"; caption += "Пара: EURUSD\n"; caption += "Тип: BUY\n"; caption += "Цена: 1.1850"; bot.SendChartScreenshot(caption);

口座状況の送信

bot.SendAccountStatus(); // 残高、エクイティ、マージンなどを自動的に送信する。

デイリーレポートの設定

// OnTimer()アドバイザーの中で if(TimeHour(TimeCurrent()) == 23 && TimeMinute(TimeCurrent()) == 0) {     bot.SendDailyReport(); }

ドローダウンアラート

double drawdown = CalculateDrawdown(); // 計算関数 if(drawdown > 20.0) // ドローダウンが20%以上 {     bot.SendRiskAlert(drawdown); }

メッセージの構成

ポジションオープン

[POSITION OPENED] ↑ ================ Ticket: #12345678 Symbol: EURUSD Type: BUY Volume: 0.10 Price: 1.18500 Time: 2024.01.15 10:30 ================

ポジションクローズ

[POSITION CLOSED] ================ Ticket: #12345678 Symbol: EURUSD Profit: +125.50 USD Commission: -2.00 Swap: -0.50 Total: +123.00 USD Time: 2024.01.15 14:45 ================

日次レポート

[DAILY REPORT] ================ Date: 2024.01.15 ACCOUNT SUMMARY ---------------- Balance: 10,125.50 USD Equity: 10,250.00 USD Floating P/L: +124.50 USD TRADING ACTIVITY ---------------- Trades Today: 5 Today's Result: +250.00 USD Open Positions: 2 BOT STATISTICS ---------------- Messages Sent: 45 Signals Sent: 8 Success Rate: 98.5% ================

MetaQuotes Ltdによってロシア語から翻訳されました。
元のコード: https://www.mql5.com/ru/code/63585