Fragen von Neueinsteigern zu MQL4 und MQL5, Hilfe und Diskussion über Algorithmen und Codes - Seite 1895

 

Helfen Sie mit, die Chat-Nummer zu verbreiten. Es wird zurückgesetzt. Ich verstehe das nicht.

#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

Vielen Dank, das ist sehr hilfreich.

 
Guten Morgen. Ich brauche Hilfe. Im Tester wird der Ordergewinn nicht korrekt im Chart angezeigt. Vorher war alles in Ordnung. Aber heute hat man das Gefühl, dass es sehr untertrieben ist.
 
Сергей Груздев #:
Guten Morgen. Ich brauche etwas Hilfe. In der Testversion wird der Gewinn der Aufträge nicht korrekt im Diagramm angezeigt. Vorher war alles in Ordnung. Aber heute hat man das Gefühl, dass es sehr untertrieben ist.

Für Sie geht es hier lang.

 
Es ist wie ein Geheimnis, das niemand zugeben will. Vielleicht weiß jemand hier Bescheid: https://www.mql5.com/ru/forum/1111/page3141#comment_27268709?
Ошибки, баги, вопросы
Ошибки, баги, вопросы
  • 2022.01.16
  • www.mql5.com
Общее обсуждение: Ошибки, баги, вопросы
 
Valeriy Yastremskiy Chat-Nummer zu verbreiten. Es wird zurückgesetzt, was ich nicht verstehe.

Schreiben Sie, wo die Telegram.mqh-Bibliothek diskutiert wird

 
Vitaly Muzichenko #:

Schreiben Sie, wo über die Telegram.mqh-Bibliothek diskutiert wird

Geschrieben. Das Problem dabei ist natürlich nicht mqh, sondern die API des Cart Bots. Wenn man vom Bot die API in der Nachricht sendet, erzeugt er eine Antwort mit der API des Chats und dem Token des Bots. Aber mit dem Bot's Token, was Sie aus dem Warenkorb bekommen können.
 
x572intraday #:
Es ist wie ein Geheimnis, das niemand zugeben will. Vielleicht weiß jemand hier Bescheid: https://www.mql5.com/ru/forum/1111/page3141#comment_27268709?

Es kann sich lohnen, im Dispatcher nachzuschauen, was geladen wird und wie lange es dauert.

 
Andrey Sokolov #:

Es könnte eine gute Idee sein, im Manager nachzusehen, was geladen wird und wie lange es dauert.

Das ist eine brillante Idee, wieso bin ich nicht selbst darauf gekommen!

Hier ist, was ich habe:

CPU- und GPU-Nutzung

Wie Sie auf dem Screenshot sehen können, sind beide CPUs ausgelastet, wenn auch in unterschiedlichem Maße. Es wäre zu vermessen zu sagen, dass die CPU aufgeregter ist als die GPU und daher die Indikatorpuffer von der CPU verarbeitet werden, da ein Vergleich zwischen CPU und GPU aufgrund der jeweiligen Besonderheiten falsch ist. Auch hier kann man nur zu dem Schluss kommen, dass beide beteiligt sind. Die Frage bleibt offen...

 

Ich kann nicht herausfinden, wie ich das Problem lösen kann.

Ich brauche ein Tick-Chart, d.h. ein Tick-Came - verschiebe den Puffer um eins und zeichne

Wir müssen 60 letzte Ticks zeichnen, d.h. 60 Balken.

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

---

Wir müssen so vorgehen, wie es im "Ticky"-Fensterterminal implementiert ist