und wieder dll und Markt - Seite 10

 
Alexsandr San:

wenn umgeschrieben?

oder so

ja, das ist eine Binärdatei, aber nicht im Zusammenhang mit einem öffentlichen Webdienst)

Ich sehe den Nutzen dieses Codes leider nicht

 
Alexsandr San:

Ich danke Ihnen! Ich versuche nur, ein Gefühl dafür zu bekommen, was der Mann zu machen versucht.

Pssst! :) 401 ist eine Fehlernummer, die vom IBM-Webserver zurückgegeben wird. Sie sollten nicht in der MQL5-Dokumentation nach ihr suchen.

 
Nikolai Karetnikov:

fertig

Gehen Sie in Ihrem Profil auf den Link Service Desk und erstellen Sie dort eine neue Bewerbung. Wählen Sie ein Thema wie "Finanztransaktionen eingeschränkt". Schreiben Sie dort, dass Sie unwissentlich gegen die Regeln der Ressource verstoßen haben, indem Sie ein zweites Konto angelegt haben. Und bitten Sie darum, sie zu löschen. Fügen Sie einen Link zu dem zu löschenden Konto hinzu.

 
Nikolai Karetnikov:

Aryom, gibt es eine Möglichkeit, Konten zusammenzulegen?

Nein.

 

Und noch etwas, das WebRequest Dokument sagt, dass es 2 Varianten dieser Funktion gibt. Die erste funktioniert mit Content-Type: application/x-www-form-urlencoded, was offensichtlich nicht geeignet ist, da IBM nach dem Header "Content-Type: application/json" fragt.

Aber das ist alles, was ich bis jetzt verstanden habe.

 

Ich habe etwas.

aber die Datei klingt nicht

Schuss4

//+------------------------------------------------------------------+
//|                                                   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);
     }
  }
//+------------------------------------------------------------------+
 

Das hat es heruntergeladen.

Bild5

Bild6

Ich habe mir gedacht, dass es etwas mit der Adresse zu tun hat, dass man sie irgendwie ändern muss.

Schnappschuss7

 
Nikolai Karetnikov:

)))

Die Idee ist nicht die Sprachsteuerung des Terminals und des Universums ))), sondern die Sprachführung. Sagen wir, alle fünf Minuten, um den Preis eines Instruments aus einem Set zu hören, oder die Möglichkeit, Sprachwarnungen einzurichten. Es gibt so etwas wie "Alerts" im Terminal, wenn sie ausgelöst werden, ertönt ein kurzer Piepton, aber auf welches Tool er sich bezieht, ist nicht zu verstehen.

Diese Aufgabe ist sehr kompliziert und fast unmöglich, da die Zielgrenzen unklar sind. Was genau soll der Expert Advisor ankündigen? Wenn nur der Preis, können Sie eine Reihe von Zahlen, die dann kombiniert werden können, zu integrieren. Wenn Sie die Möglichkeit benötigen, eine benutzerdefinierte Erinnerung aufzuzeichnen, die der Expert Advisor zum richtigen Zeitpunkt aktiviert, dann ist das nicht wirklich unmöglich, aber SEHR schwierig. Ich sehe fast keinen Sinn darin, so viel Energie auf einen zweifelhaften Chip zu verwenden.

Seien Sie genauer, was Sie tun wollen.
 

Ich gehe davon aus, dass das Honorar für den Artikel unter den Diskussionsteilnehmern aufgeteilt wird und dass alle Autoren genannt werden :-)

 
Nehmen Sie eine große Anzahl von Sprachdateien auf, integrieren Sie die Ressourcen in den EA, verknüpfen Sie ihre Einbeziehung mit dem Ereignismodell, und schon sind Sie fertig. Eine Websuche ist nicht erforderlich.