記事"MQL5言語でのTelegram用ボットの作成"についてのディスカッション - ページ 24 1...171819202122232425262728293031...55 新しいコメント thegosutrader 2020.04.17 14:27 #231 こんにちは、 私のボットが同じメッセージを何度も送信しているのですが、どこに問題があるのでしょうか? ありがとうございます。 Keith Watford 2020.04.17 14:35 #232 thegosutrader:こんにちは、私のボットが同じメッセージを何度も送信しています。ありがとうございます。 外部のウェブサイトにリンクする代わりに、ここにコードを添付してください。 thegosutrader 2020.04.17 14:41 #233 Keith Watford:外部サイトへのリンクではなく、ここにコードを添付してください。 ボットが同じメッセージを何度も送信しています。ログには次のように書かれています:"Too many requests: retry after 10","parameters":{"retry_after":10} これが私のmq4ファイルです: #include <Telegram.mqh> input string InpChannelName="@xxx";//チャンネル名 input string InpToken="1049045330:AxxxxxxbFxxx0-IxwKXyxxxxxxxx";//ボット・トークン 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}"; } //--- ありがとうございました。 thegosutrader 2020.04.17 17:45 #234 Antonio Vargas:こんにちは!彼らはまた、プライベートチャンネルで動作するので、私は何とかやって、すべてがTelegram.mqhにあり、 "@"が配置されているファイルの一部があり、私がやったことは "-"で置き換えられ、InpChannelName変数とチャンネルの名前を配置する際に、次の "-10014749xxxxx"、ボットとチャンネルのトークン こんにちは、 プライベートチャンネルに送信したい場合 1) Telegram.mqhの1009行目と1010行目の"@"を"-"に置き換える、 2) mq4ファイルに、チャンネル・トークンを-1000xxxxで始まるように記述する:InpChannelName="-10000xxxx";//チャンネル名 チャンネルをプライベートに設定すると、メッセージが表示されるはずです。 幸運を祈ります。 ファイル: privatechannel.jpg 100 kb channeltoken.jpg 18 kb thegosutrader 2020.04.18 08:31 #235 こんにちは、 複数のメッセージが送信された場合、MT4ジャーナルで表示されるエラーメッセージは以下のとおりです: {"ok":false, "error_code":429, "description": "Too Many Requests: retry after 11","parameters":{"retry_after":11}} と表示されます。 そして エラー不明なエラー66965 ご協力ありがとうございました。 Agus Wahyu Pratomo 2020.04.19 12:42 #236 thegosutrader:こんにちは、プライベートチャンネルに送信したい方へ、1) Telegram.mqhの1009行目と1010行目の"@"を"-"に置き換えてください(添付画像 参照)、 2) mq4ファイルに、チャンネル・トークンを-1000xxxxで始まるように記述する:InpChannelName="-10000xxxx";//チャンネル名 チャンネルをプライベートに設定すると、メッセージが表示されるはずです。がんばってください。 ということは、すでに"@"を"-"に変更してプライベート・チャンネルに設定している場合、パブリック・チャンネルに送信したいときは、もう一度"@"を"-"に戻せばいいのですか? ありがとうございます。 thegosutrader 2020.04.20 07:07 #237 Agus Wahyu Pratomo:ということは、"@"を"-"に変更してプライベート・チャンネルに設定した後、パブリック・チャンネルに送信したい場合は、もう一度変更し直せばいいのですか?ありがとうございます。 そうですね、でも私はコーダーではないので、公開と非公開を同時に送信する方法があると思うのですが・・・。 Alexandr Gavrilin 2020.04.20 12:52 #238 管理者として追加できないテレグラム・チャンネルから、ボットを使ってデータを取得することは可能ですか?可能であれば、どのように行うのですか? Thiago Benfica Da Cruz 2020.05.05 23:18 #239 2016年の投稿だが、まだ最新のものである! Kayode Ebenezer Adeyemi 2020.05.12 11:37 #240 こんにちは、Andrey、HTTPリクエストが失敗しました。 助けてください。 ありがとうございます。 ファイル: Screenshot_20200512-091243.jpg 339 kb 1...171819202122232425262728293031...55 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
こんにちは、
私のボットが同じメッセージを何度も送信しているのですが、どこに問題があるのでしょうか?
ありがとうございます。
こんにちは、
私のボットが同じメッセージを何度も送信しています。
ありがとうございます。
外部のウェブサイトにリンクする代わりに、ここにコードを添付してください。
外部サイトへのリンクではなく、ここにコードを添付してください。
ボットが同じメッセージを何度も送信しています。ログには次のように書かれています:"Too many requests: retry after 10","parameters":{"retry_after":10}
これが私のmq4ファイルです:
ありがとうございました。
こんにちは!彼らはまた、プライベートチャンネルで動作するので、私は何とかやって、すべてがTelegram.mqhにあり、 "@"が配置されているファイルの一部があり、私がやったことは "-"で置き換えられ、InpChannelName変数とチャンネルの名前を配置する際に、次の "-10014749xxxxx"、ボットとチャンネルのトークン
こんにちは、
プライベートチャンネルに送信したい場合
1) Telegram.mqhの1009行目と1010行目の"@"を"-"に置き換える、
2) mq4ファイルに、チャンネル・トークンを-1000xxxxで始まるように記述する:InpChannelName="-10000xxxx";//チャンネル名
チャンネルをプライベートに設定すると、メッセージが表示されるはずです。
幸運を祈ります。
こんにちは、
複数のメッセージが送信された場合、MT4ジャーナルで表示されるエラーメッセージは以下のとおりです:
{"ok":false, "error_code":429, "description": "Too Many Requests: retry after 11","parameters":{"retry_after":11}} と表示されます。
そして
エラー不明なエラー66965
ご協力ありがとうございました。
こんにちは、
プライベートチャンネルに送信したい方へ、
1) Telegram.mqhの1009行目と1010行目の"@"を"-"に置き換えてください(添付画像 参照)、
2) mq4ファイルに、チャンネル・トークンを-1000xxxxで始まるように記述する:InpChannelName="-10000xxxx";//チャンネル名
チャンネルをプライベートに設定すると、メッセージが表示されるはずです。
がんばってください。
ということは、すでに"@"を"-"に変更してプライベート・チャンネルに設定している場合、パブリック・チャンネルに送信したいときは、もう一度"@"を"-"に戻せばいいのですか?
ありがとうございます。
ということは、"@"を"-"に変更してプライベート・チャンネルに設定した後、パブリック・チャンネルに送信したい場合は、もう一度変更し直せばいいのですか?
ありがとうございます。
こんにちは、Andrey、HTTPリクエストが失敗しました。
助けてください。
ありがとうございます。