Toute question des nouveaux arrivants sur MQL4 et MQL5, aide et discussion sur les algorithmes et les codes. - page 1895

 

Aidez à faire sortir le numéro de chat. Ça se réinitialise. Je ne comprends pas.

#include <Telegram.mqh>
long Ch_id;
//+------------------------------------------------------------------+
//|   CMyBot                                                         |
//+------------------------------------------------------------------+
class CMyBot: public CCustomBot
  {
public:
   void ProcessMessages(void)
     {
      for(int i=0; i<m_chats.Total(); i++)
        {
         CCustomChat *chat=m_chats.GetNodeAtIndex(i);
         //--- if the message is not processed
         if(!chat.m_new_one.done)
           {
            chat.m_new_one.done=true;
            string text=chat.m_new_one.message_text;
            Ch_id=chat.m_id;   // И здесь не хочет присваивать.
            //--- start
            if(text=="/start")
               SendMessage(chat.m_id,"Hello, world! I am bot. \xF680");
               Alert("chat.m_id ",chat.m_id);
               Ch_id=chat.m_id;  // что здесь не так?

            //--- help
            if(text=="/help")
               SendMessage(chat.m_id,"My commands list: \n/start-start chatting with me \n/help-get help");
           }        
        }
     }
  };

//---
input string InpToken="5068873298:AAGihZr2vJsD5Zs1ca4i0r2JimAFuIbbmI0";//Token
//---
CMyBot bot;
int getme_result;
//+------------------------------------------------------------------+
//|   OnInit                                                         |
//+------------------------------------------------------------------+
int OnInit()
  {
//--- set token
   bot.Token(InpToken);
//--- check token
   getme_result=bot.GetMe();
//--- run timer
   EventSetTimer(3);
   OnTimer();
//--- done
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//|   OnDeinit                                                       |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
   Comment("");
  }
//+------------------------------------------------------------------+
//|   OnTimer                                                        |
//+------------------------------------------------------------------+
void OnTimer()
  {
//--- show error message end exit
   if(getme_result!=0)
     {
      Comment("Error: ",GetErrorDescription(getme_result));
      return;
     }
//--- show bot name
   Comment("Bot name: ",bot.Name());
//--- reading messages
   bot.GetUpdates();
//--- processing messages
   bot.ProcessMessages();
  }

//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void OnChartEvent(const int id,const long &lparam,const double &dparam,const string &sparam)
{
   if(id==CHARTEVENT_KEYDOWN &&
         lparam=='Q')
   {

      Alert("445672666"); // Номер чата вручную забил, работает.
       
      bot.SendMessage(445672666,"ee\nAt:100\nDDDD");
  //    bot.SendMessage(Ch_id,"ee\nAt:100\nDDDD"); не хочет работать, Ch_id=0.
      Alert(Ch_id);
      
     
   }
}
 

Alexey Viktorov

Merci, c'est utile.

 
Bonjour. J'ai besoin d'aide. Dans le testeur, le bénéfice de l'ordre n'est pas correctement affiché sur le graphique. Tout allait bien avant. Mais aujourd'hui, j'ai l'impression qu'elle sous-estime beaucoup.
 
Сергей Груздев #:
Bonjour. J'ai besoin d'aide. Dans le testeur, le bénéfice de l'ordre n'est pas correctement affiché sur le graphique. Tout allait bien avant. Mais aujourd'hui, j'ai l'impression qu'elle sous-estime beaucoup.

C'est comme ça pour toi.

 
C'est comme un secret, personne ne veut l'admettre. Peut-être que quelqu'un ici le sait : https://www.mql5.com/ru/forum/1111/page3141#comment_27268709 ?
Ошибки, баги, вопросы
Ошибки, баги, вопросы
  • 2022.01.16
  • www.mql5.com
Общее обсуждение: Ошибки, баги, вопросы
 
Valeriy Yastremskiy chat. Ça se réinitialise. Quelque chose que je ne comprends pas.

Écrire où se trouve la discussion de la bibliothèque Telegram.mqh

 
Vitaly Muzichenko #:

Écrire où il y a une discussion sur la bibliothèque Telegram.mqh

Posté. Le problème n'est bien sûr pas mqh, mais l'api du robot de panier. Lorsque vous envoyez l'api du robot dans le message et que vous le renvoyez, il génère une réponse avec l'api du chat et le jeton du robot. Mais avec le jeton du bot, ce que vous pouvez obtenir du panier.
 
x572intraday #:
C'est comme un secret, personne ne veut l'admettre. Peut-être que quelqu'un ici le sait : https://www.mql5.com/ru/forum/1111/page3141#comment_27268709 ?

Il peut être intéressant de regarder dans le répartiteur pour voir ce qui est chargé et pour combien de temps.

 
Andrey Sokolov #:

Il peut être intéressant de regarder dans le gestionnaire pour voir ce qui est chargé et pour combien de temps.

C'est une idée brillante, comment se fait-il que je ne l'ai pas réalisée moi-même !

Voilà ce que j'ai :

Utilisation du CPU et du GPU

Comme vous pouvez le voir sur la capture d'écran, les deux processeurs sont engagés, bien que dans une mesure différente. Il serait trop présomptueux de dire que le CPU est plus excité que le GPU, donc que c'est le CPU qui traite les tampons indicateurs, car il est incorrect de comparer CPU et GPU en raison des spécificités de chacun. On ne peut que conclure une fois de plus que les deux sont impliqués. La question reste ouverte...

 

Je n'arrive pas à trouver comment résoudre le problème.

J'ai besoin d'un graphique en tic-tac, c'est-à-dire un tic-tac venu - décaler le tampon d'une unité et dessiner

Nous devons dessiner 60 derniers ticks, c'est-à-dire 60 barres.

int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])
  {

   // ВСЁ - здесь затык :(
    Buffer[0] = _bid;
   return(rates_total);
  }

---

Nous devons faire comme il est mis en œuvre dans le terminal de la fenêtre "Ticky".