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

 
Andrey Voytenko:

OK. Wenn Sie jedoch mit einem privaten Kanal arbeiten, verwenden Sie die Kanal-ID und nicht den Kanalnamen.

Hallo Andrey


deine Bibliothek für mt5 scheint im Asynchronen Modus mit Telegramm nicht zu funktionieren


Wenn mt5 Bot zwei Nachrichten in der gleichen Sekunde sendet, geht eine der Nachrichten verloren.


Ich habe viele Male getestet. Könntest du dich um dieses Problem kümmern?

 

Hallo Andrey


Vielen Dank zunächst für Ihre Zeit und für Ihren Artikel hat mir sehr geholfen und ich habe alle Veröffentlichungen gelesen.

Lesen zwischen ihnen habe ich schließlich in der Lage gewesen, mit dem "Telegram_Bot_EA" in MT5 zu arbeiten.

Versuchen "Telegram_Signal_EA" in MT5, habe ich nicht gelungen, jedes Signal mit entweder "MA" oder "MACD" oder mit einem benutzerdefinierten Indikator zu senden.

Die Kompilierung funktioniert gut, aber sendet keinen Alarm oder Nachricht, aber ich weiß, dass es gut konfiguriert ist, da ich in der Lage gewesen, mit "Telegram_Bot_EA" zu arbeiten.

Ich habe den Code sowohl die EA und die telegram.mqh Ich sehe nicht, wo der Fehler sein kann, und ich bin stuck.The EA ( Telegram_Signal_EA) kann nicht gesendet werden keine Text-Informationen.

Könnten Sie mir helfen? seine gleichen Dateien, die ursprünglichen Artikel.

In diesem Forum sehe ich diesen Code, aber ich denke, seine nicht mein Problem:

   //+------------------------------------------------------------------+
   int SendMessage(const string _channel_name,
                   const string _text,
                   const bool   _as_HTML=false,
                   const bool   _silently=false)
     {
      //--- Token prüfen
      if(m_token==NULL)
         return(ERR_TOKEN_ISEMPTY);

      string name=StringTrim(_channel_name);
      if(StringGetCharacter(name,0)!='@')
         name="@"+name;

      string out;
      string url=StringFormat("%s/bot%s/sendMessage",TELEGRAM_BASE_URL,m_token);
      string params=StringFormat("chat_id=%s&text=%s",name,UrlEncode(_text));
      if(_as_HTML)
         params+="&parse_mode=HTML";
      if(_silently)
         params+="&disable_notification=true";
      // Print(params);
      int res=PostRequest(out,url,params,WEB_TIMEOUT);
      return(res);
     }

   //+------------------------------------------------------------------+


Hinweis: Ich bin sicher, dass die Arbeit, weil "Telegram_Bot_EA" kann gut ausgeführt werden.


Eine andere:

//+------------------------------------------------------------------+
//||
//+------------------------------------------------------------------+
void OnChartEvent(const int id,const long &lparam,const double &dparam,const string &sparam)
  {
   if(id==CHARTEVENT_KEYDOWN && 
      lparam=='Q')
     {
         
         bot.SendMessage(InpChannelName,"ee\nAt:100\nDDDD");
     }
  }

Anmerkung: Ich drücke "Q" im Bot-Chat oder Channel-Chat und es funktioniert nicht .... Ich denke, wenn man die Taste drückt, sendet der Bot einen Text...richtig? Ich habe keine Fehler oder Warnungen, um alle mql5 Code zu kompilieren.


Resume: Ich möchte an Telegram Text Signal (Kauf/Verkauf) über Ihr Beispiel Indikatoren oder meine benutzerdefinierten Indikatoren Regeln, aber ich dont understant, warum nicht funktionieren mich.


Vielen Dank und schönen Tag.


UPDATE1(gelöst):


Ich überprüfe die Logs und erhalte diese Info:

HL 0 06:24:00.729 Telegram_Signal_EAEVO (DE30,M1) Fehler: Bad Request

LH 0 06:40:00.916 Telegram_Signal_EAEVO (DE30,M1) {"ok":false, "error_code":400, "description": "Bad Request: chat not found"}

RG 0 06:40:00.916 Telegram_Signal_EAEVO (DE30,M1) Fehler: Bad Request

KQ 0 07:31:00.442 Telegram_Signal_EAEVO (DE30,M1) {"ok":false, "error_code":400, "description": "Bad Request: chat not found"}

MO 0 07:31:00.442 Telegram_Signal_EAEVO (DE30,M1) Fehler: Bad Request

Ich habe einen neuen Vater hinzugefügt und den letzten Fehler behoben, aber ich kann dem Bot wieder keine Nachricht schicken...

EF 0 12:26:44.372 Telegram_Signal_EAEVO (DE30,H1) NAME_bot: NAMEsignalsbot


UPDATE2(gelöst):

Ich habe diesen Link http://usefulmix.com/send-message-telegram-channel-bot-http-api/ überprüft.


Im Text :


Wir müssen also den Kanal privat machen, aber dabei wird unser obiger HTTP-API-Aufruf nicht mehr funktionieren und so wird der Versuch, eine Nachricht zu veröffentlichen, aussehen:


{
  "ok": false,
  "error_code": 400,
  "description": "Bad Request: chat not found"
}

Ich prüfe mit dem url-Beispiel und erhalte dies:

        
ok      false
error_code      404
description     "Not Found"


In common.mqh listet diesen Fehler auf, aber ich bin sehr verloren mit diesem....Ich recherchiere mehr.

Das "Problem" ist ein Konvertierungstoken, ich schreibe und tippe diesen Code zum Testen und der Bot schreibt mir:

//+------------------------------------------------------------------+
//||
//+------------------------------------------------------------------+

//Ursprünglicher Code:

// {
// 
// if(id==CHARTEVENT_KEYDOWN && lparam=="Q")
//bot.SendMessage(InpChannelName, "ee\nAt:100\nDDDD");
//}

//Testcode:

 {

  
   if(id==CHARTEVENT_KEYDOWN && 
      lparam=="Q")
   
      //--- Token setzen
   bot.Token(InpToken);
    bot.SendMessage("ID CHAT OR USER","ITS A TEST!");

}
     

Bild:

Ich lese wieder die allgemeine Post, weil man Leute sprechen über diese.


ZU UPDATE 3!!!

How to send a message to a Telegram channel using the HTTP bot sendMessage API
How to send a message to a Telegram channel using the HTTP bot sendMessage API
  • 2018.10.08
  • admin
  • usefulmix.com
Here’s a practical example how to send a message to a Telegram channel using a Telegram Bot and the HTTP bot sendMessage API. In order to be able to do so, you will have to the following: Create a Telegram public channel (we’ll make this private later) Create a Telegram BOT via BotFather Set the bot as administrator in your channel After...
 

Hallo stellen Sie sicher, dass Sie telegram.mqh importieren und sehen Sie hier :

https://www.mql5.com/en/forum/285054/page2#comment_11220261

MT4 to Telegram
MT4 to Telegram
  • 2019.04.04
  • www.mql5.com
Can anyone code or have any idea how to send trade details from MT4 to a Telegram channel. This is the sort of thing I am talking about. Thanks...
 
Marco vd Heijden:

Hola, asegúrese de importar telegram.mqh y vea aquí:

https://www.mql5.com/en/forum/285054/page2#comment_11220261

Ich prüfe...ich brauche Zeit...später schreibe ich dir.Danke!!!!!
 

Vielen Dank Nguyen Van Tuan,
Jetzt funktioniert es mit privaten Kanälen. Vorher funktionierte mein Bot nur in öffentlichen Kanälen.

Mit freundlichen Grüßen,
Junior


Nguyen Van Tuan:

Hallo!

Wenn ich mit dieser Bibliothek von Andrey Voytenkoon MT5 getestet haben, es nicht gut funktionieren, so habe ich einige weitere einfache Schritt. Alle Menschen treffen gleichen Fehler kann versuchen, wie ich zu ändern:

1. Bestätigen Sie hinzufügen https://api.telegram.org zu Allow WebRequest für aufgelistete URL

2. Wenn Sie chat_id (wie "-1001301234105") anstelle von @channel_name verwenden, werden Sie mit diesem Code auf einen Fehler stoßen, daher habe ich ihn geändert

Und jetzt bestätige ich, nachdem ich zwei Dinge oben getan haben, diese Bibliothek arbeiten gut in MT5.

Vielen Dank Andrey Voytenko wieder.

 

Richtig!!! Dasselbe Problem!!!!



Junior:

Vielen Dank Nguyen Van Tuan,
Jetzt funktioniert es mit privaten Kanälen. Vorher funktionierte mein Bot nur in öffentlichen Kanälen.

Mit freundlichen Grüßen,
Junior


 
Hallo

Ich habe ein Skript, um Nachrichten von MT4 zu Telegram zu senden, ich habe versucht, in MQL5 zu konvertieren, aber es ist fehlgeschlagen. Durch dieses Diskussionsforum bitte ich um Hilfe, um vom MQ4-Dateiformat in MQL5 für weiteres Studienmaterial zu konvertieren .....

die Datei, die ich beigefügt habe


Ich danke denen, die bereit sind zu helfen



Dateien:
 

Hallo, ich aktualisieren metatrader v und kompilieren Sie den Code wieder, aber melden Sie mir eine Warnung:


MT5 5.00 build: 2170 4 / OCT / 2019:

"" Obsoletes Verhalten, Aufrufe zu versteckten Methoden werden in einer zukünftigen Version des MQL Telegram.mqh Compilers deaktiviert werden ""


The reference call to: " StringReplace "


Ich bin auf der Suche nach einer Alternative, aber im Moment habe ich es nicht gefunden. In der Zukunft rev ..... irgendwelche Ideen?


Vielen Dank!!!


Code:


 //+------------------------------------------------------------------+
   void UserNameFilter( const string username_list)
     {
      m_users_filter.Clear();

       //--- Parsing
       string text=StringTrim(username_list);
       if (text== "" )
         return ;

       //---
       while ( StringReplace (text, "  " , " " )> 0 );
       StringReplace (text, ";" , " " );
       StringReplace (text, "," , " " );
      

       //---
       string array[];
       int amount= StringSplit (text, ' ' ,array);
       for ( int i= 0 ; i<amount; i++)
        {
         string username=StringTrim(array[i]);
         if (username!= "" )
           {
             //--- erstes @ entfernen
             if ( StringGetCharacter (username, 0 )== '@' )
               username= StringSubstr (username, 1 );

            m_users_filter.Add(username);
           }
        }

     }
   //+------------------------------------------------------------------+ 
 
satrifx7:
Hallo

Ich habe ein Skript, um Nachrichten von MT4 zu Telegram zu senden, ich habe versucht, in MQL5 zu konvertieren, aber es ist fehlgeschlagen. Durch dieses Diskussionsforum bitte ich um Hilfe, um vom MQ4-Dateiformat in MQL5 für weiteres Studienmaterial zu konvertieren .....

die Datei, die ich beigefügt habe


Ich danke denen, die bereit sind zu helfen



Sie brauchen den Code nicht zu konvertieren, dieser Code kann in beiden Versionen ausgeführt werden, siehe wieder den Beitrag oder den Code.
 
odlambda:

Hallo, ich aktualisieren metatrader v und kompilieren Sie den Code wieder, aber melden Sie mir eine Warnung:

Bitte verwenden Sie im Forum nur Englisch.

Ich habe bearbeitet und übersetzt Ihren Beitrag mit der Website-Tool dieses Mal