et encore dll et marché - page 11

 

Avez-vous appris comment télécharger un fichier via WebRequest?

La seule chose qui reste à apprendre est le PlaySound (qui pourrait avoir un sens dans un conseiller/service séparé),

mais"Le fichier doit être situé dans le répertoire terminal\Sounds ou son sous-répertoire. Seuls les fichiers audio au format WAV peuvent être lus". Faites un lien à l'avance d'un répertoire à un autre (de Fichiers/Son vers Son/Fichiers, par exemple).

et voilà, sans dépasser les capacités de MT et sans DLL externe, tout devrait fonctionner.

 
Nikolai Karetnikov:

Et autre chose, la doc WebRequest dit qu'il y a 2 variantes de cette fonction. La première fonctionne avec Content-Type : application/x-www-form-urlencoded, ce qui ne convient évidemment pas, car IBM demande l'en-tête "Content-Type : application/json".

Mais c'est tout ce que j'ai compris jusqu'à présent.

Pourquoi avez-vous besoin de cette WebRequest ringarde ? Lesfonctions de socket sont disponibles depuis un certain temps, y compris avec TLS.
 

c'est dire à quel point c'est intéressant

   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)

Photo par

Photo par

bat donnera une erreur - si dans bin et d'une manière ou d'une autre depuis bin

Instantané2

 
Serhii Shevchuk:
Pourquoi avez-vous besoin de cette WebRequest ringarde ? Les fonctions de socket sont disponibles depuis longtemps maintenant, y compris avec TLS.

Je vois que vous êtes une personne expérimentée, pouvez-vous m'aider à rédiger un exemple de référence de prise de courant ?

La documentation est icihttps://cloud.ibm.com/docs/text-to-speech?topic=text-to-speech-usingWebSocket

Je comprends que l'instance_id est GR1bb3zVMs9fcNKL6pA9-5zj9ptWliCu6eh9oupUnpZB.

En fumant le doc...

 
Реter Konow:
La tâche est très compliquée, presque impossible car les limites de la cible sont indéfinies. Que doit annoncer exactement l'EA ? Si ce n'est que le prix, nous pouvons intégrer un ensemble de numéros vocalisés qui peuvent être combinés. Si vous avez besoin de la possibilité d'enregistrer un rappel personnalisé sur le microphone, que l'EA activera au bon moment, alors ce n'est pas vraiment impossible, mais TRÈS difficile. Je ne vois presque pas l'intérêt de dépenser autant d'énergie pour une puce douteuse.

Soyez plus clair sur ce que vous voulez faire.

la tâche n'est pas très compliquée. Fondamentalement, tout est déjà fait et l'Expert Advisor fonctionne bien avec l'appel DLL, prononçant en anglais ou en russe les noms des instruments et leurs prix actuels et, si nécessaire, frappant le prix dans la région.

Les capacités intégrées du système d'exploitation Windows sont utilisées.


Avec une simple classe https://www.mql5.com/ru/forum/342293#comment_16626455, il est possible de prononcer un texte arbitraire, même les erreurs d'exécution ou la sortie printf, si quelqu'un en a besoin )))).

Et l'implémentation utilisant plusieurs fichiers wav est très compliquée, vous avez tout à fait raison.

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

la tâche n'est pas très difficile. Fondamentalement, tout est déjà fait et le conseiller expert fonctionne bien avec l'appel DLL, prononçant en anglais ou en russe à la fois les noms des instruments et leurs prix actuels, et, si nécessaire, frappant le prix dans la région.

Les fonctions intégrées du système d'exploitation Windows sont utilisées.


Avec une simple classe https://www.mql5.com/ru/forum/342293#comment_16626455, il est possible de prononcer un texte arbitraire, même les erreurs d'exécution ou la sortie printf, si quelqu'un en a besoin )))).

Et l'implémentation utilisant plusieurs fichiers wav est très compliquée, vous avez tout à fait raison.

Vous n'avez pas de tâche formulée et donc ce qui doit être fait n'est pas clair. Pour faire dire au conseiller ce qu'il veut ? Mais, que doit-il dire exactement ? Comment lui dire de lire le nom du symbole ? :) Vous ne pourrez pas communiquer avec le conseiller même s'il "parle" formellement le texte. Vous ne pouvez pas lui faire lire un texte qui se rapporte à un événement. Comment l'instruire de lire les empreintes ou les journaux) ?
 
Supposons que l'EA écrive le texte à prononcer dans un fichier et l'envoie au serveur via une requête web ou des sockets, et que le serveur, en réponse, le prononce. Théoriquement possible, mais pas une tâche facile...

Tenez compte des délais.
 
Реter Konow:
Vous n'avez pas de problème formulé et, par conséquent, ce qui doit être résolu n'est pas clair. Faire dire au conseiller expert ce que vous voulez qu'il dise ? Mais que doit-il dire exactement ? Comment lui dire de lire le nom du symbole ? :) Vous ne pourrez pas communiquer avec le conseiller même s'il "parle" formellement le texte. Vous ne pouvez pas lui faire lire un texte qui se rapporte à un événement. Comment l'instruire de lire les empreintes ou les journaux) ?

J'ai besoin de résoudre le problème de la transformation d'un texte arbitraire en un fichier wav sans utiliser d'appels de DLL).

Tout le reste est déjà résolu

 
Реter Konow:
Supposons que notre EA écrive un texte à prononcer dans un fichier et l'envoie au serveur par WebRequest ou sockets, et que le serveur lui parle. Théoriquement possible, mais pas une tâche facile...

il n'est pas nécessaire d'écrire dans le fichier. WebRequest

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

J'ai besoin de résoudre le problème de la transformation d'un texte arbitraire en un fichier wav sans utiliser d'appels de DLL).

Tout le reste est déjà résolu

Je ne sais pas... c'est le problème insoluble... Vous avez besoin d'un service web spécial qui vous prend un fichier texte, le convertit en wav, le renvoie dans votre dossier Sons et réécrit l'ancien fichier. Ou simplement, le recevoir et le prononcer sans le convertir en .wav.
Raison: