Cualquier pregunta de los recién llegados sobre MQL4 y MQL5, ayuda y discusión sobre algoritmos y códigos - página 1895

 

Ayuda a sacar el número del chat. Se está reiniciando. No lo entiendo.

#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

Gracias, eso es útil.

 
Buenos días. Necesito ayuda. En el probador, el beneficio de la orden no se muestra correctamente en el gráfico. Antes todo estaba bien. Pero hoy tengo la sensación de que se queda muy corto.
 
Сергей Груздев #:
Buenos días. Necesito ayuda. En el probador, el beneficio de las órdenes no se muestra correctamente en el gráfico. Antes todo estaba bien. Pero hoy parece que se queda muy corto.

Es así para ti.

 
Es como un secreto, nadie lo admite. Tal vez alguien aquí sepa: https://www.mql5.com/ru/forum/1111/page3141#comment_27268709?
Ошибки, баги, вопросы
Ошибки, баги, вопросы
  • 2022.01.16
  • www.mql5.com
Общее обсуждение: Ошибки, баги, вопросы
 
Valeriy Yastremskiy chat. Se está reiniciando. Algo que no entiendo.

Escribe donde está la discusión de la biblioteca Telegram.mqh

 
Vitaly Muzichenko #:

Escribe donde se habla de la biblioteca Telegram.mqh

Publicado. El problema ahí no es, por supuesto, mqh, sino la api del bot del carrito. Cuando envías desde el bot la api en el mensaje y de vuelta genera una respuesta con la api del chat y el token del bot. Pero con la ficha del bot lo que puedes conseguir del carro.
 
x572intraday #:
Es como un secreto, nadie lo admite. Tal vez alguien aquí sepa: https://www.mql5.com/ru/forum/1111/page3141#comment_27268709?

Puede valer la pena mirar en el despachador para ver qué se está cargando y por cuánto tiempo.

 
Andrey Sokolov #:

Podría ser una buena idea mirar en el gestor para ver qué se está cargando y durante cuánto tiempo.

Es una idea brillante, ¡cómo no se me ocurrió a mí!

Esto es lo que tengo:

Uso de la CPU y la GPU

Como puedes ver en la captura de pantalla, ambas CPUs están ocupadas, aunque en diferente medida. Sería demasiado presuntuoso decir que la CPU está más excitada que la GPU, por lo tanto, es la CPU la que procesa los búferes indicadores, ya que es incorrecto comparar la CPU y la GPU debido a las especificidades de cada una. Sólo se puede concluir, una vez más, que ambos están implicados. La cuestión sigue abierta...

 

No sé cómo resolver el problema

Necesito un gráfico de ticks, es decir, un tick vino - desplazar el buffer en uno y dibujar

Necesitamos dibujar 60 últimos ticks, es decir, 60 barras.

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);
  }

---

Tenemos que hacer como se implementa en el terminal de la ventana "Ticky"


Razón de la queja: