et encore dll et marché - page 10

 
Alexsandr San:

si elle est réécrite ?

ou comme ceci

oui, c'est un binaire, mais pas dans le contexte d'un service web public)

Je ne vois pas l'utilité de ce code, malheureusement

 
Alexsandr San:

Merci ! J'essaie juste d'avoir une idée de ce que l'homme essaie de faire.

Shosh ! :) 401 est un numéro d'erreur renvoyé par le serveur web d'IBM, vous ne devez pas le chercher dans la documentation MQL5.

 
Nikolai Karetnikov:

fait

Allez sur le lien Service Desk dans votre profil et créez-y une nouvelle application. Choisissez un sujet tel que "Transactions financières restreintes". Écrivez-y que vous avez, sans le savoir, violé les règles de la ressource en créant un deuxième compte. Et demandez à le supprimer. Joignez un lien vers le compte à supprimer.

 
Nikolai Karetnikov:

Aryom, est-il prévu de fusionner des comptes ?

Non.

 

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.

 

J'ai quelque chose.

sauf que le fichier ne sonne pas

Shot4

//+------------------------------------------------------------------+
//|                                                   WebRequest.mq5 |
//|                        Copyright 2020, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2020, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
   string cookie=NULL,headers;
   char   post[],result[];
   headers = "curl -X POST -u" "apikey:GR1bb3zVMs9fcNKL6pA9-5zj9ptWliCu6eh9oupUnpZB";
   headers = "Content-Type: application/json";
   headers = "Accept: audio/wav";
   headers = "data" "{\"text\":\"hello world\"}";
//output hello_world.wav ^

   string url="https://api.eu-gb.text-to-speech.watson.cloud.ibm.com";
//--- для работы с сервером необходимо добавить 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("output hello_world.wav",FILE_WRITE|FILE_BIN);
         if(filehandle!=INVALID_HANDLE)
           {
            //--- сохраняем содержимое массива result[] в файл
            FileWriteArray(filehandle,result,0,ArraySize(result));
            //--- закрываем файл
            FileClose(filehandle);
           }
         else
            Print("Ошибка в FileOpen. Код ошибки =",GetLastError());
        }
      else
         PrintFormat("Ошибка загрузки '%s', код %d",url,res);
     }
  }
//+------------------------------------------------------------------+
 

C'est ce qu'il a téléchargé.

Photo 5

Photo 6

J'ai pensé que c'était quelque chose à faire avec l'adresse, la changer d'une manière ou d'une autre.

Snapshot7

 
Nikolai Karetnikov:

)))

L'idée n'est pas le contrôle vocal du terminal et de l'univers ;)), mais le guidage vocal. Disons toutes les cinq minutes pour connaître le prix d'un instrument d'un ensemble, ou avoir la possibilité de configurer des alertes vocales. Il existe des "alertes" dans le terminal. Lorsqu'elles sont déclenchées, un bref signal sonore est émis, mais il est impossible de comprendre à quel outil elles font référence.

Cette tâche est très compliquée, presque impossible car les limites de la cible ne sont pas claires. Que doit annoncer exactement le conseiller expert ? Si ce n'est que le prix, vous pouvez intégrer un ensemble de chiffres, qui peuvent ensuite être combinés. Si vous avez besoin de la possibilité d'enregistrer un rappel personnalisé, 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 précis sur ce que vous voulez faire.
 

Je comprends que les frais de l'article doivent être répartis entre les participants à la discussion et que tous les auteurs doivent être mentionnés :-)

 
Enregistrez un grand nombre de fichiers vocaux, intégrez les ressources dans l'EE, liez leur inclusion au modèle d'événement et le tour est joué. Pas besoin d'une quête sur le web.