MQL4 및 MQL5에 대한 초보자 질문, 알고리즘 및 코드에 대한 도움말 및 토론 - 페이지 1895

 

채팅 번호를 얻는 데 도움이 됩니다. 0으로 재설정합니다. 나는 뭔가를 따라잡지 못한다.

#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 채팅 번호를 얻는 데 도움이 됩니다. 0으로 재설정합니다. 나는 뭔가를 따라잡지 못한다.

Telegram.mqh 라이브러리에 대한 토론이 있는 곳에 작성하십시오.

 
Vitaly Muzichenko # :

Telegram.mqh 라이브러리에 대한 토론이 있는 곳에 작성하십시오.

썼다. 물론 문제는 μl이 아니라 카트 봇의 API입니다. 메시지와 반환에서 봇에서 ID를 보낼 때 채팅 ID와 봇 토큰으로 응답이 생성됩니다. 그러나 봇 토큰을 사용하면 장바구니에서 무엇을 얻을 수 있습니까?
 
x572intraday # :
어떤 종류의 비밀, 아무도 고백하지 않습니다. 여기 누군가가 알고 있을지도 모릅니다: https://www.mql5.com/ru/forum/1111/page3141#comment_27268709 ?

아마도 디스패처에서 무엇이 그리고 얼마나 로드되었는지 살펴봐야 할 것입니다.

 
Andrey Sokolov # :

아마도 디스패처에서 무엇이 그리고 얼마나 로드되었는지 살펴봐야 할 것입니다.

호화로운 발상, 어떻게 내가 직접 완성하지 못했는가!

다음은 일어난 일입니다.

CPU 및 GPU 사용량

스크린샷에서 볼 수 있듯이 두 프로세서가 모두 사용되지만 정도는 다릅니다. CPU가 GPU보다 더 많이 끓었다고 해서 인디케이터 버퍼를 처리한다고 하기에는 너무 주제넘은 것입니다. CPU와 GPU의 특성 때문에 CPU와 GPU를 비교하는 것은 옳지 않기 때문입니다. 둘 다 그 문제에 이용되었다는 결론을 다시 한 번 얻을 수 있습니다. 질문은 열려 있습니다 ...

 

문제 해결 방법을 알 수 없음

틱 차트가 필요합니다. 즉, 틱이 도착했습니다. 버퍼를 1만큼 이동하고 그립니다.

마지막 60틱, 즉 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);
  }

---

"티키" 창의 터미널에 구현되어 있으므로 수행해야 합니다.