記事"MQL5言語でのTelegram用ボットの作成"についてのディスカッション - ページ 46 1...394041424344454647484950515253...55 新しいコメント CodeFx 2021.12.24 23:23 #451 Jefferson Metha #:右上に拡大鏡のアイコンがあり、検索アイコンとしても知られています それを左クリック 次に"Binance" デスクトップで[ENTER]キーを押してください その後、スクロールダウンする必要はありません。 ようこそ ありがとうございます。 Chun Kai Yen 2021.12.27 07:50 #452 ユーザがファイルをダウンロードするためのボットへのgetfileの方法 Chun Kai Yen 2021.12.27 08:52 #453 電報ボット inputFile これをどう書くか私の英語は良くありません。 Valeriy Yastremskiy 2022.01.31 16:48 #454 素晴らしい記事。うまくいっている。ヌビ的な質問をしてもいいですか?indicatorsでは、URLはWebRequestの ために許可されていないと言います。 WebRequestは indicatorsでは動作しないということでよろしいでしょうか? 私はそれを理解しました。同期ポーズ。それは動作しません。残念。 Vitaly Muzichenko 2022.01.31 16:49 #455 Valeriy Yastremskiy WebRequestで URLが許可されていません。 WebRequestは indicatorsでは動作しないということでよろしいでしょうか? それは動作しません Valeriy Yastremskiy 2022.01.31 16:56 #456 Vitaly Muzichenko #:機能していない しかし、テスターでは動作します))SendNotificationが必要でしょう。あまり便利ではないし、テスターでは動かない。 Valeriy Yastremskiy 2022.02.11 08:56 #457 困っています。ボットのトークンを知っていて、グローバル変数にチャットのIDをプログラムで取得する方法。異なるボットにidを尋ねることができるのは明らかですが、私はプログラムでidを取得したいのです。 ProcessMessage関数の中に、私が探して いる番号を取得するループがあるのですが、それはしばしばゼロを返し、私はそれを覚えていません。 Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам 2022.02.10www.mql5.com В этой ветке я хочу начать свою помощь тем, кто действительно хочет разобраться и научиться программированию на новом MQL4 и желает легко перейти н... Valeriy Yastremskiy 2022.02.11 18:53 #458 もうひとつ質問です。ボットのトークンを知っていれば、ボットからメッセージを送らなくても、このボットを作成したユーザーのチャットIDをテレグラムから取得することは可能でしょうか。トークンでボットの名前を取得します。 Arman 2022.02.13 22:00 #459 mq5 側で "chat.m_new_one.message_text" は、ユーザーがボットに直接送信したメッセージを取得します。これは素晴らしいことです。 しかし、ボット(mt5 EA と通信しているもの)が所属しているチャンネルに送信されたメッセージを受信するために使用できますか? seyed mohammad reza aalami 2022.03.24 06:16 #460 Telegramにメッセージを送信するのに以下のコードを使用しています。私の問題は、メッセージを1回送信する代わりに、数回送信することです。 ご指導ください。 #include <Telegram\TelegramL.mqh> input string InpChannelName="";//チャンネル名 input string InpToken="";//ボット・トークン CCustomBot bot; datetime time_signal=0; //int SendMessage(const string channel_name、 //const string text); //+------------------------------------------------------------------+ //| エキスパート初期化関数| //+------------------------------------------------------------------+ int OnInit() { time_signal=0; //--- トークンを設定する bot.Token(InpToken); //--- 完了 return(INIT_SUCCEEDED); } datetime _opened_last_time = TimeCurrent() ; datetime _closed_last_time = TimeCurrent() ; //+------------------------------------------------------------------+ |エキスパート初期化関数| //+------------------------------------------------------------------+ void OnDeinit(const int reason) { } //+------------------------------------------------------------------+ //| エキスパート・ティック機能| //+------------------------------------------------------------------+ void OnTick() { string message = ""; int total=OrdersTotal(); for(int pos=0;pos<total;pos++){ // 現在のオーダー if(OrderSelect(pos,SELECT_BY_POS)==false) continue; if(OrderOpenTime() <= _opened_last_time) continue; message += StringFormat("Order opened!\r\nType: %s\r\nSymbol: %s\r\nPrice: %s\r\nSL: %s\r\nTP: %s\r\nTime: %s\r\nTicket:.%s ", order_type(), OrderSymbol(), DoubleToStr(OrderOpenPrice(),MarketInfo(OrderSymbol(),MODE_DIGITS)), DoubleToStr(OrderStopLoss(),MarketInfo(OrderSymbol(),MODE_DIGITS)), DoubleToStr(OrderTakeProfit(),MarketInfo(OrderSymbol(),MODE_DIGITS)), TimeToStr(OrderOpenTime(),TIME_MINUTES), IntegerToString(OrderTicket()) ); int res=bot.SendMessage(InpChannelName,message); if(res!=0) Print("Error: ",GetErrorDescription(res)); } bool is_closed = false; total = OrdersHistoryTotal(); for(int pos=0;pos<total;pos++){ // 履歴の注文 if(OrderSelect(pos,SELECT_BY_POS,MODE_HISTORY)==false) continue; if(OrderCloseTime() <= _closed_last_time) continue; printf(OrderCloseTime()); is_closed = true; message += StringFormat("Order closed!\r\nTicket: %s\r\nSymbol: %s\r\nClosing Price: %s\r\nTime: %s", IntegerToString(OrderTicket()), OrderSymbol(), DoubleToStr(OrderClosePrice(),MarketInfo(OrderSymbol(),MODE_DIGITS)), TimeToStr(OrderCloseTime(),TIME_MINUTES), DoubleToStr(order_pips(),1) ); int res=bot.SendMessage(InpChannelName,message); if(res!=0) Print("Error: ",GetErrorDescription(res)); } } double order_pips() { double pips; if(OrderType() == OP_BUY) { pips = (OrderClosePrice()-OrderOpenPrice())/MarketInfo(OrderSymbol(),MODE_POINT); } else { pips = (OrderOpenPrice()-OrderClosePrice())/MarketInfo(OrderSymbol(),MODE_POINT); } return pips/10; } string order_type_to_str(int type) { return StringSubstr(EnumToString((ENUM_ORDER_TYPE)type), 11); } string order_type () { return order_type_to_str(OrderType()); if(OrderType() == OP_BUY) return "BUY"; if(OrderType() == OP_SELL) return "SELL"; if(OrderType() == OP_BUYLIMIT) return "BUY LIMIT"; if(OrderType() == OP_SELLLIMIT) return "SELL LIMIT"; if(OrderType() == OP_BUYSTOP) return "BUYSTOP"; if(OrderType() == OP_SELLSTOP) return "SELLSTOP"; return "{err}"; } //--- 1...394041424344454647484950515253...55 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
右上に拡大鏡のアイコンがあり、検索アイコンとしても知られています
それを左クリック
次に
"Binance"
デスクトップで[ENTER]キーを押してください
その後、スクロールダウンする必要はありません。
ようこそ
ありがとうございます。
これをどう書くか
私の英語は良くありません。素晴らしい記事。うまくいっている。ヌビ的な質問をしてもいいですか?indicatorsでは、URLはWebRequestの ために許可されていないと言います。
WebRequestは indicatorsでは動作しないということでよろしいでしょうか?
私はそれを理解しました。同期ポーズ。それは動作しません。残念。
WebRequestは indicatorsでは動作しないということでよろしいでしょうか?
それは動作しません
機能していない
しかし、テスターでは動作します))SendNotificationが必要でしょう。あまり便利ではないし、テスターでは動かない。
困っています。ボットのトークンを知っていて、グローバル変数にチャットのIDをプログラムで取得する方法。異なるボットにidを尋ねることができるのは明らかですが、私はプログラムでidを取得したいのです。
ProcessMessage関数の中に、私が探して いる番号を取得するループがあるのですが、それはしばしばゼロを返し、私はそれを覚えていません。
しかし、ボット(mt5 EA と通信しているもの)が所属しているチャンネルに送信されたメッセージを受信するために使用できますか?
Telegramにメッセージを送信するのに以下のコードを使用しています。私の問題は、メッセージを1回送信する代わりに、数回送信することです。
ご指導ください。