Обсуждение статьи "Создание бота для Telegram на языке MQL5" - страница 42

 
Andrey Vasilenko:
Доброго времени суток. Нет доступа к url api телеграма, ошибка 1001. Вопрос здесь уже поднимался, у кого была такая проблема и кто смог её решить, поделитесь пжл 

Переходите на Win10

 
Спасибо за ответ. Это реально помогло или предположение? У клиента Win 7, требовать перейти на Win 10 как-то не с руки, на vps тоже будет другая винда.
 
Andrey Vasilenko:
Спасибо за ответ. Это реально помогло или предположение? У клиента Win 7, требовать перейти на Win 10 как-то не с руки, на vps тоже будет другая винда.

Гарантии нет, надо проверять. Но многие на W7 жаловались, а на W10 сообщали, что всё работает. Пробуйте на себе. Я бы тоже ради телеграма не поменял.

 
Спасибо, помогло ) Переход с Win7 на Win10 решил проблему
 
Ricardo Andres Moscoloni:

Telegram.mqh на линии 980 вызывает:

и в строке 1006 вызывает:

для отправки сообщения в приватный канал я должен специально определить chat_id как long, вот так:

input long InpChatId= -(используйте h t t p s ://t.me/username_to_id_bot для получения идентификатора приватного чата); // Идентификатор приватного чата

и используем его для отправки в telegram

иначе не будет работать, если кто-то знает код, чтобы определить, когда мы используем строку @publicChannelName или длинную -privateChannelName для кастинга соответственно, пожалуйста, опубликуйте его здесь!

Ids приватных каналов имеют отрицательные значения. Сделайте следующее:
input ulong channelId = -1097657894777;
input string channelName = "@electronicsfreak";

bot.SendMessage (channelId, "Hello you!");
bot.SendMessage (channelName, "Hello you!");
 
Andrey Vasilenko:
Спасибо, помогло ) Переход с Win7 на Win10 решил проблему

На Win7 не работает, можете не пытаться даже. Пробовал все варианты. Встроенный в MQL WebRequest() и тот который на Винде. Нужен Windows 10 или Windows Server 2012 и выше.

 

Я реализовал функцию отправки скриншота из Telegram в Telegram для подтверждения для моего мульти-валютного мульти-таймфреймового советника, все хорошо.

  void              send_photo(CMyBot & ibot, string symbol, string type, string shortTF, string longTF)
     {
      string photo_id = ScreenShotToFile(symbol, type,  shortTF,  longTF);
      int chat_id = **********;
      string caption = photo_id;
      StringReplace(caption, ".png", "");
      string enter = StringFormat("/%s", caption);
      int sent =  ibot.SendPhoto(photo_id, chat_id,  photo_id, enter, NULL, false, 10000);
      PrintFormat("Sent %i", sent);
      //--- команды запуска или помощи
      // ibot.SendMessage(chat_id, "Click on the buttons", ibot.inlineKeyBoardMarkup());
     }

Telegram Post

Я также могу отправить встроенную клавиатуру с помощью функции Telegram.mqh SendMessage(), все хорошо.

 ibot.SendMessage(chat_id, "Click on the buttons", ibot.inlineKeyBoardMarkup());

Встроенная клавиатура

Я бы предпочел, чтобы функция sendPhoto() принимала инлайн-клавиатуру, но по какой-то причине SendPhoto() принимает только стандартную KeyBoardMarkup(), а не инлайн-клавиатуру в "reply_markup".

Я ковырялся в Telegram.mqh, но так и не смог заставить его работать.

Любая помощь будет признательна

 

Здравствуйте, возможно ли получить ежедневную прибыль в процентах вместо баланса счета?

Буду признателен за любой совет.

На приложенном скриншоте вы можете увидеть код.

с уважением

 
Audiamant:

Здравствуйте, можно ли получить ежедневную прибыль в процентах вместо баланса счета?

Буду признателен за любой совет.

На приложенном скриншоте вы можете увидеть код.

с наилучшими пожеланиями

Да, это возможно,
1. Проверять текущий баланс
2. Проверять ежедневную прибыль (как выигрыши, так и проигрыши)
3. Вычтите из текущего баланса и получите daily_initial balance
4. Daily_Profit/daily_initial - это дробь, умножив которую на 100, вы получите процент
 

Привет, ребята, я запустил 10 экспертов и получил эту ошибку во всех из них.

Как исправить эту ошибку?


{"ok":false, "error_code":409, "description": "Конфликт: завершен другим запросом getUpdates; убедитесь, что запущен только один экземпляр бота"}