Задача: реализация ежедневной аналитики на MQL5 с выкладкой в онлайн - страница 8

 
sanyooooook:
а куда постить-то нужно?
Да, собственно без разницы. Мне интересно решение данной задачи с помощью WebRequest.
 
Renat:

Кстати да, публикация шаблонов (шаблон + скрин) - это гораздо лучшая система аналитики, так как любой сможет ее скачать с сайта и увидеть все индикаторы, объекты и тд. И это хорошо подходит для ручной публикации. 

Скорее всего мы откроем секцию "Аналитика", где подразделами будут "Чарты" (куда сейчас публикуются скриншоты), "Профили/Шаблоны" (шаблон + скриншот + текст описания) с возможностью обсуждения, "Блоги" для ведения персональных блогов. Соответственно, дальше можем добавить еще подразделы, включая автоматические публикации.

А как будут обстоять дела с публикацией шаблонов, если в шаблоне платный индикатор с Маркета?
 
Renat:

Штатные есть - посмотрите функцию WebRequest.

С ее помощью можно все что угодно делать по HTTP/HTTPS протоколам.

Ой, далеко не все что угодно. Черта с два извлечешь данные из слоя, контент которого динамически генерится AJAX. И авторизацию не пройдешь на сайте где она требуется для дальнейшей работы.

Только POST/GET запросы... ответы получишь и все. 

 
fyords:
Нет, проблема в том, что WebRequest не позволяет (возможно я не знаю как) генерить свои заголовки.

Если использовать HttpOpenRequest, то можно заюзать и HttpAddRequestHeaders для установки HTTP заголовка.

Только в примере выше нужно импортировать функции с постфиксом не A, а W. Например HttpOpenRequestA => HttpOpenRequestW

Как-то так 

 
elugovoy:

Если использовать HttpOpenRequest, то можно заюзать и HttpAddRequestHeaders для установки HTTP заголовка.

Только в примере выше нужно импортировать функции с постфиксом не A, а W. Например HttpOpenRequestA => HttpOpenRequestW

Как-то так 

Это да, но меня интересуют только штатные возможности. С dll в Маркет "не пустят".
 
fyords:
Нет, проблема в том, что WebRequest не позволяет (возможно я не знаю как) генерить свои заголовки.
Значит ли это, что даже с mql5.com что угодно скачать из авторизованной части не получится без wininet?
 
zaskok:
Значит ли это, что даже с mql5.com что угодно скачать из авторизованной части не получится без wininet?
Думаю нет.
 

Подниму старую тему.

Возможно ли сейчас получить доступ к .tpl файлу сгенерированному через ChartSaveTemplate() через MQL?

Файл жестко кладется в Profiles/Templates а это за пределами песочниц.

Хотя в документации, в функции ChartApplyTemplate()

 https://www.mql5.com/ru/docs/chart_operations/chartapplytemplate

пример, в котором файл читают из папки Files

Как-то они в эту папку попали? 

//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//--- пример применения шаблона, расположенного в каталоге \MQL5\Files
   if(FileIsExist("my_template.tpl"))
     {
      Print("Шаблон my_template.tpl найден в каталоге \Files'");
      //--- применим найденный шаблон
      if(ChartApplyTemplate(0,"\\Files\\my_template.tpl"))
        {
         Print("Применили успешно шаблон 'my_template.tpl'");
         //--- принудительно перерисуем график для быстрого показа изменений
         ChartRedraw();
        }
      else
         Print("Не удалось применить шаблон 'my_template.tpl', ошибка ",GetLastError());
     }
   else
     {
      Print("Файл 'my_template.tpl' не найден в папке "
            +TerminalInfoString(TERMINAL_PATH)+"\\MQL5\\Files");
     }
  }


Задача - тексты tpl файлов экспертом отправлять на сервер.

Документация по MQL5: Операции с графиками / ChartApplyTemplate
Документация по MQL5: Операции с графиками / ChartApplyTemplate
  • www.mql5.com
Операции с графиками / ChartApplyTemplate - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Igor Volodin:

Подниму старую тему.

Возможно ли сейчас получить доступ к .tpl файлу сгенерированному через ChartSaveTemplate() через MQL?

Файл жестко кладется в Profiles/Templates а это за пределами песочниц.

Хотя в документации в функции ChartApplyTemplate()

 https://www.mql5.com/ru/docs/chart_operations/chartapplytemplate

пример в котором файл читают из папки Files

Как-то они в эту папку попали? 

//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//--- пример применения шаблона, расположенного в каталоге \MQL5\Files
   if(FileIsExist("my_template.tpl"))
     {
      Print("Шаблон my_template.tpl найден в каталоге \Files'");
      //--- применим найденный шаблон
      if(ChartApplyTemplate(0,"\\Files\\my_template.tpl"))
        {
         Print("Применили успешно шаблон 'my_template.tpl'");
         //--- принудительно перерисуем график для быстрого показа изменений
         ChartRedraw();
        }
      else
         Print("Не удалось применить шаблон 'my_template.tpl', ошибка ",GetLastError());
     }
   else
     {
      Print("Файл 'my_template.tpl' не найден в папке "
            +TerminalInfoString(TERMINAL_PATH)+"\\MQL5\\Files");
     }
  }


Задача - тексты tpl файлов экспертом отправлять на сервер.

Файл с шаблонами графика с недавних пор находится в "каталог данных терминала\MQL5\Profiles":

Terminal: шаблоны и профили графиков перенесены из [каталога данных терминала\Profiles] в [каталог данных терминала\MQL5\Profiles]. Теперь можно легко добавлять шаблоны в хранилище MQL5 Storage и использовать их с любого вашего компьютера. 

 
Vladimir Karputov:

Файл с шаблонами графика с недавних пор находится в "каталог данных терминала\MQL5\Profiles":

Terminal: шаблоны и профили графиков перенесены из [каталога данных терминала\Profiles] в [каталог данных терминала\MQL5\Profiles]. Теперь можно легко добавлять шаблоны в хранилище MQL5 Storage и использовать их с любого вашего компьютера. 

Я так понимаю этот ответ означает "Нет, из MQL нельзя получить доступ к тексту сохраняемого .tpl файла"