新人对MQL4和MQL5的任何问题,对算法和代码的帮助和讨论 - 页 1895

 

帮忙把聊天 号码传出去。它正在重新设置,我不明白。

#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

谢谢你,这很有帮助

 
上午好。需要一些帮助。在测试器中,订单利润不能正确显示在图表上。以前一切都很好。但今天感觉它低估了非常多。
 
Сергей Груздев #:
上午好。我需要一些帮助。在测试器中,订单利润不能正确显示在图表上。以前一切都很好。但今天我有一种感觉,它低估了非常多。

对你来说是这样的

 
这就像一个秘密,没有人愿意承认它。也许这里有人知道:https://www.mql5.com/ru/forum/1111/page3141#comment_27268709?
Ошибки, баги, вопросы
Ошибки, баги, вопросы
  • 2022.01.16
  • www.mql5.com
Общее обсуждение: Ошибки, баги, вопросы
 
Valeriy Yastremskiy 聊天 号码传出去。它正在重新设置。我不明白的是。

写下Telegram.mqh库讨论的位置

 
Vitaly Muzichenko #:

写在有讨论Telegram.mqh库的地方

发布。问题当然不是MQH,而是购物车机器人的api。当你从机器人发送消息中的api并返回时,它会生成一个带有聊天api和机器人token的回复。但用机器人的令牌,你能从购物车里得到什么。
 
x572intraday #:
这就像一个秘密,没有人愿意承认它。也许这里有人知道 https://www.mql5.com/ru/forum/1111/page3141#comment_27268709?

也许值得在调度器中查看一下,看看有哪些东西正在加载,以及加载了多长时间。

 
Andrey Sokolov #:

在管理器中查看一下,看看有哪些东西正在加载,以及加载了多长时间,这可能是一个好主意。

这是个绝妙的主意,我自己怎么没有意识到呢!?

这是我所得到的。

CPU和GPU的使用

正如你从截图中看到的,两个CPU都在工作,尽管程度不同。如果说CPU比GPU更兴奋,因此,是CPU在处理指标缓冲区,那就太冒昧了,因为由于各自的具体情况,比较CPU和GPU是不正确的。人们只能再次得出结论,两者都有关系。这个问题仍未解决...

 

我搞不清楚如何解决这个问题

我需要一个滴答图,也就是一个滴答来--将缓冲区移开一个,然后画出

我们需要画出60个最后的ticks,即60个条形。

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

---

我们需要像在 "Ticky "窗口终端中实现的那样做。