記事"MQL5言語でのTelegram用ボットの作成"についてのディスカッション - ページ 39

 
OrelMely:

皆さん、こんにちは!
選択した時間枠に応じて異なるテンプレートボタンを取得する簡単な方法があれば教えてください。


ありがとうございます!

はい、簡単な方法はこちら です。

Trading applications for MetaTrader 5 to order
Trading applications for MetaTrader 5 to order
  • www.mql5.com
I want a simple RSI based Expert Advisor that buys or sells when it hits the RSI and takes the profit or loss as a percentage. I made a sheet with all the conditions. If you are interested, please leave me a message and I will send you the detailed sheet 1. I want you to include buy arrows (green) and sell arrow (red) based on custom levels...
 

[解決済み】「不明なエラー1001

時刻同期

クライアントの時刻とサーバーの時刻が 大きく乖離している場合、サーバーはクライアント・メッセージを無視したり、逆にメッセージ識別子(これは作成時刻と密接な関係があります)が無効なために無視したりすることがあります。このような状況では、サーバは正しい時刻と 128 ビットのソルト(クライアントが特別な RPC 同期リクエストで明示的に提供するか、現在のセッションでクライアントから受信した最新のメッセージのキーに等しい)を含む特別なメッセージをクライアントに送信します。このメッセージは、他のメッセージを含むコンテナ内の最初のメッセージである可能性がある(時刻の不一致が重大であるが、クライアントのメッセージが無視されるような結果には至っていない場合)。

このようなメッセージまたはそれを保持するコンテナを受信したクライアントは、まず時刻同期を行い(事実上、将来「正しい」時刻を計算できるように、サーバーの時刻と自分の時刻の差を単に保存する)、次にメッセージの識別子が正しいかどうかを検証する。

修正が無視された場合、クライアントはメッセージ識別子の単調性を保証するために、新しいセッションを生成しなければならない。

上記はhttps://core.telegram.org/mtproto。


多くのデバイスを使用している場合、Telegramの各デバイスの時刻が同じにならないことがあります。

そこで、PCの タイム ゾーンと モバイルのタイムゾーンを正確に同期させました。

その後、このバグはなくなりました。


-> これが私の解決策です。これが私の解決策です。単なるヒントです。

このバグが早く解決されることを願っています!

 

フォーラムメンバーの皆様、この問題の解決方法を教えてください。

{"ok":false, "error_code":409, "description": "Conflict: terminated by other getUpdates request; make sure that only one bot instance is running"} この問題に遭遇したことがある人はいますか?どこを調べればいいのか、何を見ればいいのか。

 
Sergey Kasirenko:

フォーラムの皆さん、この問題を解決する方法を教えてください。

{"ok":false, "error_code":409, "description": "Conflict: terminated by other getUpdates request; make sure that only one bot instance is running"} この問題に遭遇したことがある人はいますか?どこを調べればいいのか、何を見ればいいのか。

同じボットで複数のインジケータまたはExpert Advisorを実行していますか?
 
Aleksei Beliakov:
同じボットで複数のインジケータやEAを実行していますか?

はい、私はいくつかの端末を持っており、タスクは、これらの端末がボットから同じ信号を取得することであり、どのようにするのですか?

 
Sergey Kasirenko:

はい、私はいくつかの端末を持っており、タスクは、これらの端末がボットから同じ信号を取得することであり、どのようにすることですか?

そのうちの一つを受信し、ファイル経由で他の端末に信号を送ることができます(kodobaseにはそのようなコピー機があると思います)。

 
Yevhenii Levchenko:

一方を受信し、もう一方にファイルを介して信号を送ることは可能である(kodobaseにはそのようなコピー機があると思う)。

サーバーにあるもの、vpsに あるもの、仕事用のマシンにあるもの、それをテレグラムで送りたいのです。複数の端末で受信しようとしたときにつまずいたのですが、1つの端末では何の問題もなく、受信も送信もすべて思い通りになります。もちろん、メッセージを受信したというマークをキャンセルすれば、エラーにもかかわらず、Expert Advisorは遅かれ早かれメッセージを受信しますし、ダビングをフィルタリングすることもできますが、すべてはタンバリンで踊るようなものです。あるいは、このようなテレグラムと端末間の通信のメカニズムを組織する一般的なアプローチ。

 
Sergey Kasirenko:

サーバー上の何か、vps 上の何か、仕事用のマシン上の何か、そして私はまだ何とかしてテレグラムを通して、いわば練習のために、それは面白いです。複数の端末で受信しようとしたときにつまずいたのですが、1つの端末では何の問題もなく、受信も送信もすべて思い通りになります。もちろん、メッセージを受信したというマークを取り消すことができるので、エラーにもかかわらず、Expert Advisorは遅かれ早かれメッセージを受信しますし、ダビングをフィルタリングすることもできますが、すべてはタンバリンとのダンスです。あるいは、このようなテレグラムと端末間の通信のメカニズムを組織する一般的なアプローチ。

端末ごとにチャンネルを設けて、そこにメッセージを送るとか...。

 
Yevhenii Levchenko:

各端末に個別のチャンネルを設定し、そこにメッセージを送ることができる......。

もう少し詳しく説明してもらえますか?つまり、各端末に独自のチャットボットがあるということですか?

 
Sergey Kasirenko:

もう少し詳しく説明してもらえますか?つまり、各端末に個別のチャットボットがあるということですか?

いいえ、1つのボットです。各端末には独自のテレグラム・チャンネルがあります。そこではチャンネルIDで送信できる。こうやってチャンネルに写真を送るんだ:

if(ChannelID != 0) {
  result = bot.SendPhoto(photo_id, ChannelID, filename, filename);
}

チャンネルIDを配列に集め、それを使ってこれらのチャンネルにメッセージを送る。チャンネルIDを知るには、そのチャンネルからGet My IDボット(または他のボットでも可)にメッセージを送る。