Discusión sobre el artículo "WebRequest multiflujo asincrónico en MQL5" - página 7

 

El archivo en el ejemplo multiwebclient envía sólo una vez al hacer clic en el gráfico. en caso de varios clics de la solicitud al servidor http no se envía. (Voy a cavar en sus fuentes) Tal vez es necesario pre-crear no en INIT, pero cada vez que crear al hacer clic en el gráfico.

Pensé que el objeto se elimina después de cerrar el gráfico o cerrar el terminal.

¿Tiene un ejemplo para enviar un mensaje json? También no es superfluo que alguien tenga una comprobación para el cierre de los gráficos.

SOFTWARE JSON

Por ejemplo, crear una clase json y llenarla de setters. Añadir arrays, añadir elementos, tipos de datos (no es sencillo).

Y un ejemplo, un EA funcionando, para que puedas hacer envíos desde tu función, por ejemplo, cuando aparece una nueva barra, se envía una petición JSON.

A mucha gente le sería útil.

 
Sergei Poliukhov cerrar el terminal.

¿Tiene un ejemplo para enviar un mensaje json? También no es superfluo que alguien tenga una comprobación para el cierre de los gráficos.

SOFTWARE JSON

Por ejemplo, crear una clase json y llenarla de setters. Añadir arrays, añadir elementos, tipos de datos (no es sencillo).

Y un ejemplo, un asesor de trabajo directo, de modo que usted puede hacer el envío de su función, por ejemplo, cuando una nueva barra aparece, se envía una solicitud JSON.

A mucha gente le sería útil.

Todo 100% funcionaba como se describe, en el momento de escribir el artículo, es decir, al hacer clic se enviaban 3 peticiones en paralelo a los 3 servidores por defecto. Se necesitan configuraciones y logs para encontrar problemas. Los cierres de los gráficos se procesan y se envía una notificación al gestor - mira el código.

void OnDeinit(const int reason)
{
  if(manager)
  {
    Print("WebRequest Pool Manager closed, ", ChartID());
    for(int i = 0; i < pool.size(); i++)
    {
      if(CheckPointer(pool[i]) == POINTER_DYNAMIC)
      {
        // hacer saber a los trabajadores que ya no se les necesita
        EventChartCustom(pool[i].getChartID(), TO_MSG(MSG_DEINIT), ChartID(), 0.0, NULL);
      }
    }
    GlobalVariableDel(GVTEMP);
  }
  else
  {
    Print("WebRequest Worker closed, ", ChartID());
    // informar al jefe de que este trabajador ya no está disponible
    EventChartCustom(ManagerChartID, TO_MSG(MSG_DEINIT), ChartID(), 0.0, NULL);
    ObjectDelete(0, OBJ_LABEL_NAME);
    ChartClose(0);
  }
  Comment("");
}

Después de la publicación del artículo, se publicó en la discusión una versión mejorada del lanzamiento a través de objetos gráficos.

Hay muchos materiales sobre json en el sitio, pero no he publicado mi trabajo sobre json "puro" y no tengo tiempo para hacerlo ahora.

Обсуждение статьи "Многопоточный асинхронный WebRequest на MQL5 своими руками" - Запустите WebRequest с помощью объектов-графиков, в которых применяется шаблон с экспертом-помощником.
Обсуждение статьи "Многопоточный асинхронный WebRequest на MQL5 своими руками" - Запустите WebRequest с помощью объектов-графиков, в которых применяется шаблон с экспертом-помощником.
  • 2018.11.12
  • Реter Konow
  • www.mql5.com
потому что не получается передать в них параметр при запуске - похоже. по аналогии с экспертами - похоже на счастливый случай. Выкладываю альтернативный вариант запуска веб-запросов - с помощью объектов-графиков