Diskussion zum Artikel "Die Erstellung des Bots für Telegram in der Sprache MQL5" - Seite 39

 
OrelMely:

Hallo an alle!
Kann ich wissen, ob es eine einfache Möglichkeit gibt, verschiedene Vorlagenbuttons je nach dem gewählten Zeitrahmen zu erhalten?


Danke!!!

Ja, der einfache Weg ist, hier zu gehen.

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...
 

[GELÖST] "UNBEKANNTER FEHLER 1001"

Zeitsynchronisation

Wenn die Client-Zeit stark von der Server-Zeit abweicht, kann ein Server beginnen, Client-Nachrichten zu ignorieren, oder umgekehrt, wegen eines ungültigen Nachrichten-Identifikators (der eng mit der Erstellungszeit zusammenhängt). Unter diesen Umständen sendet der Server dem Client eine spezielle Nachricht, die die korrekte Zeit und ein bestimmtes 128-Bit-Salz enthält (entweder explizit vom Client in einer speziellen RPC-Synchronisationsanforderung angegeben oder gleich dem Schlüssel der letzten vom Client während der aktuellen Sitzung empfangenen Nachricht). Diese Nachricht könnte die erste in einem Container sein, der andere Nachrichten enthält (wenn die Zeitdiskrepanz erheblich ist, aber noch nicht dazu führt, dass die Nachrichten des Clients ignoriert werden).

Nach Erhalt einer solchen Nachricht oder eines Containers, der sie enthält, führt der Client zunächst eine Zeitsynchronisation durch (d. h. er speichert einfach die Differenz zwischen der Zeit des Servers und seiner eigenen, um in Zukunft die "richtige" Zeit berechnen zu können) und überprüft dann, ob die Identifikatoren der Nachricht korrekt sind.

Wurde eine Korrektur vernachlässigt, muss der Client eine neue Sitzung erzeugen, um die Monotonie der Nachrichtenidentifikatoren zu gewährleisten.

Das obige Zitat stammt von https://core.telegram.org/mtproto


Ich habe ein Problem gefunden, wenn wir viele Geräte haben, die Zeiten auf jedem Telegram-Gerät sind vielleicht nicht die gleichen.

Dann synchronisiere ich meine PC-Zeitzone genau mit der mobilen Zeit.

Danach sehe ich diesen Fehler nicht mehr.


-> Das ist meine Lösung. Ich weiß nicht, ob es bei dir funktioniert. Es ist nur ein Tipp.

Ich hoffe, ihr könnt diesen Fehler bald beheben!

 

Liebe Forumsmitglieder, bitte sagen Sie mir, wie ich dieses Problem lösen kann

{"ok":false, "error_code":409, "description": "Conflict: terminated by other getUpdates request; make sure that only one bot instance is running"} Wer hat das schon erlebt? Wo kann man suchen, was ist zu beachten.

 
Sergey Kasirenko:

Liebe Forumsmitglieder, bitte sagen Sie mir, wie ich dieses Problem lösen kann

{"ok":false, "error_code":409, "description": "Conflict: terminated by other getUpdates request; make sure that only one bot instance is running"} Wer hat das schon erlebt? Wo kann man nachforschen, was muss man beachten.

Haben Sie mehr als einen Indikator oder einen Expert Advisor mit demselben Bot laufen?
 
Aleksei Beliakov:
Haben Sie mehr als einen Indikator laufen oder ein EA mit dem gleichen Bot?

Ja, ich habe mehrere Terminals, und die Aufgabe ist es, diese Terminals das gleiche Signal aus dem Bot zu bekommen, und wie zu sein?

 
Sergey Kasirenko:

Ja, ich habe mehrere Terminals, und die Aufgabe ist es, diese Terminals das gleiche Signal aus dem Bot zu bekommen, und wie zu sein?

Sie können eine von ihnen erhalten und senden Signale an die anderen über eine Datei (es gibt solche Kopierer in kodobase, ich glaube).

 
Yevhenii Levchenko:

Es ist möglich, eine Datei zu empfangen und über eine Datei Signale an die andere zu senden (es gibt solche Kopierer in kodobase, glaube ich).

Die Sache ist, dass etwas auf dem Server ist, etwas auf der vps, etwas auf der Arbeitsmaschine, und ich möchte es über Telegram, für die Praxis zu tun, sozusagen, es ist interessant. Und ich bin gestolpert, als ich versucht habe, das alles auf mehreren Terminals zu empfangen, bei einem Terminal gibt es keine Probleme, es empfängt und sendet, alles ist so, wie es sein soll, natürlich kann man die Markierung, dass die Nachricht empfangen wurde, aufheben und so wird der Expert Advisor trotz des Fehlers früher oder später die Nachricht empfangen, und man kann die Überspielung herausfiltern, aber das ist alles ein Tanz mit dem Tamburin, da gibt es sicher eine schöne Lösung. Oder einen allgemeinen Ansatz, um einen solchen Mechanismus der Kommunikation zwischen Telegram und Terminals zu organisieren.

 
Sergey Kasirenko:

Die Sache ist, dass etwas auf dem Server ist, etwas auf dem vps, etwas auf der Arbeitsmaschine, und ich will immer noch irgendwie durch Telegram, für die Praxis, so zu sprechen, es ist interessant. Und ich bin gestolpert, als ich versucht habe, das alles auf mehreren Terminals zu empfangen, bei einem Terminal gibt es keine Probleme, es empfängt und sendet, alles ist so, wie es sein soll, natürlich kann man die Markierung, dass die Nachricht empfangen wurde, aufheben und so wird der Expert Advisor trotz des Fehlers früher oder später die Nachricht empfangen, und man kann die Überspielung herausfiltern, aber das ist alles ein Tanz mit dem Tamburin, da gibt es sicher eine schöne Lösung. Oder einen allgemeinen Ansatz, um einen solchen Mechanismus der Kommunikation zwischen Telegram und Terminals zu organisieren.

Man kann für jedes Terminal einen Kanal einrichten und dort Nachrichten senden...

 
Yevhenii Levchenko:

Sie können für jedes Terminal einen eigenen Kanal einrichten und dort Nachrichten senden....

Können Sie das etwas näher ausführen, d. h. jedes Terminal hat seinen eigenen Chatbot?

 
Sergey Kasirenko:

Können Sie das etwas näher erläutern, d. h. jedes Terminal hat einen eigenen Chatbot?

Nein. Ein Bot. Jedes Terminal hat seinen eigenen Telegrammkanal. Dort kann man per Kanal-ID senden. So habe ich ein Bild an den Kanal gesendet:

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

Sammeln Sie die Kanal-IDs in einem Array und senden Sie Nachrichten an diese Kanäle nach ihnen. Um die Kanal-ID herauszufinden, senden Sie eine Nachricht vom Kanal an den Bot Get My ID (oder einen anderen, den Sie finden können) .....