y de nuevo dll y el mercado - página 11

 

¿Ha aprendido a cargar un archivo mediante WebRequest?

Lo único que queda por aprender es PlaySound (que podría tener sentido en un asesor/servicio aparte),

pero"El archivo debe estar ubicado en el directorio terminal_sonidos o en su subdirectorio. Sólo se pueden reproducir archivos de audio en formato WAV". Haga un enlace por adelantado de un directorio a otro (de Archivos/Sonido a Sonido/Archivos, por ejemplo).

y voila - sin exceder las capacidades de MT y sin DLLs externas todo debería funcionar.

 
Nikolai Karetnikov:

Y otra cosa, el doc de WebRequest dice que hay 2 variantes de esta función. El primero funciona con Content-Type: application/x-www-form-urlencoded, que obviamente no es adecuado, porque IBM pide "header "Content-Type: application/json"

Pero eso es todo lo que he entendido hasta ahora

¿Por qué necesitas esta cursilada de WebRequest?Las funciones de socket están disponibles desde hace tiempo, incluso con TLS.
 

así de interesante es

   string cookie=NULL,headers;
   char   post[],result[];
   string url="https://c.mql5.com/3/321/voice.bat.txt";
//--- для работы с сервером необходимо добавить URL "https://finance.yahoo.com"
//--- в список разрешенных URL (Главное меню->Сервис->Настройки, вкладка "Советники"):
//--- обнуляем код последней ошибки
   ResetLastError();
//--- загрузка html-страницы с Yahoo Finance
   int res=WebRequest("GET",url,cookie,NULL,500,post,0,result,headers);
   if(res==-1)
     {
      Print("Ошибка в WebRequest. Код ошибки  =",GetLastError());
      //--- возможно, URL отсутствует в списке, выводим сообщение о необходимости его добавления
      MessageBox("Необходимо добавить адрес '"+url+"' в список разрешенных URL во вкладке 'Советники'","Ошибка",MB_ICONINFORMATION);
     }
   else
     {
      if(res==200)
        {
         //--- успешная загрузка
         PrintFormat("Файл успешно загружен, размер %d байт.",ArraySize(result));
         //PrintFormat("Заголовки сервера: %s",headers);
         //--- сохраняем данные в файл
         int filehandle=FileOpen("voice.bat",FILE_WRITE|FILE_BIN);
         if(filehandle!=INVALID_HANDLE)

Foto de

Foto de

bat dará un error - si en bin y luego de alguna manera de bin

Instantánea2

 
Serhii Shevchuk:
¿Por qué necesitas esta cursilada de WebRequest? Las funciones de socket están disponibles desde hace mucho tiempo, incluso con TLS.

Veo que eres una persona con experiencia, ¿puedes ayudarme a escribir un ejemplo de referencia de enchufe?

La documentación está aquíhttps://cloud.ibm.com/docs/text-to-speech?topic=text-to-speech-usingWebSocket

Entiendo queinstance_id es GR1bb3zVMs9fcNKL6pA9-5zj9ptWliCu6eh9oupUnpZB

Mientras se fuma el doc...

 
Реter Konow:
La tarea es muy complicada, casi imposible porque los límites del objetivo no están definidos. ¿Qué debe anunciar exactamente la EA? Si sólo el precio, entonces podemos integrar un conjunto de números vocalizados que se pueden combinar. Si necesita la opción de grabar un recordatorio personalizado en el micrófono, que el EA encenderá en el momento adecuado, entonces no es realmente imposible, pero sí MUY difícil. Casi no veo el sentido de gastar tanta energía en una ficha dudosa.

Ten muy claro lo que quieres hacer.

la tarea no es muy complicada. Básicamente, todo está ya hecho y el Asesor Experto funciona bien con la llamada DLL, pronunciando en inglés o ruso los nombres de los instrumentos y sus precios actuales y, si es necesario, golpeando el precio en la región.

Se utilizan las capacidades integradas del sistema operativo Windows


Con una simple clase https://www.mql5.com/ru/forum/342293#comment_16626455 es posible pronunciar un texto arbitrario, incluso errores en tiempo de ejecución o la salida printf, si alguien lo necesita ))))

Y la implementación usando múltiples archivos wav es muy complicada, tienes mucha razón

и снова dll и маркет
и снова dll и маркет
  • 2020.05.30
  • www.mql5.com
День добрый! Правило №1 dll на Маркете запрещен...
 
nkaretnikov:

la tarea no es muy difícil. Básicamente, todo está ya hecho y el Asesor Experto funciona bien con la llamada DLL, pronunciando en inglés o ruso tanto los nombres de los instrumentos como sus precios actuales, y, si es necesario, golpeando el precio en la región.

Se utilizan las capacidades integradas del sistema operativo Windows


Con una simple clase https://www.mql5.com/ru/forum/342293#comment_16626455 es posible pronunciar un texto arbitrario, incluso errores en tiempo de ejecución o la salida printf, si alguien lo necesita ))))

Y la implementación usando múltiples archivos wav es muy complicada, tienes mucha razón

No tiene una tarea formulada y, por tanto, no está claro lo que hay que hacer. ¿Para que el consejero diga lo que quiera? Pero, ¿qué se supone que debe decir exactamente? ¿Cómo se le dice que lea el nombre del símbolo? :) No podrás comunicarte con el asesor aunque "hable" formalmente el texto. No se le puede obligar a leer el texto que es relevante para un evento. ¿Cómo se le instruye para que lea las huellas o los registros?)
 
Bien, supongamos que el EA escribe el texto a hablar en un archivo y lo envía vía web-quest o sockets al servidor, y el servidor, en obediencia, lo habla. Teóricamente es posible, pero no es una tarea fácil...

Tenga en cuenta los retrasos.
 
Реter Konow:
No tiene un problema formulado y, por tanto, no está claro qué hay que resolver. ¿Hacer que el Asesor Experto diga lo que usted quiere que diga? Pero, ¿qué debe decir exactamente? ¿Cómo se le dice que lea el nombre del símbolo? :) No podrás comunicarte con el asesor aunque "hable" formalmente el texto. No se le puede obligar a leer un texto que sea relevante para un evento. ¿Cómo se le instruye para que lea las huellas o los registros?)

Necesito resolver el problema de transformar un texto arbitrario en un archivo wav sin usar llamadas a DLL )

Todo lo demás ya está resuelto

 
Реter Konow:
Supongamos que nuestro EA escribe un texto para ser hablado en un archivo y lo envía al servidor a través de WebRequest o sockets, y el servidor habla con él. Teóricamente es posible, pero no es una tarea fácil...

no es necesario escribir en el archivo. WebRequest

и снова dll и маркет
и снова dll и маркет
  • 2020.05.31
  • www.mql5.com
День добрый! Правило №1 dll на Маркете запрещен...
 
nkaretnikov:

Necesito resolver el problema de transformar un texto arbitrario en un archivo wav sin usar llamadas a DLL )

Todo lo demás ya está resuelto

No sé... este es el problema irresoluble... Necesitas un servicio web especial que tome un archivo de texto tuyo, lo convierta en wav, lo envíe de vuelta a tu carpeta de sonidos y reescriba el archivo antiguo. O simplemente, recibirlo y hablarlo sin convertirlo a .wav