e di nuovo dll e mercato - pagina 10

 
Alexsandr San:

se riscritto?

o come questo

sì, questo è un binario, ma non nel contesto di un servizio web pubblico)

Non vedo l'utilità di questo codice, purtroppo

 
Alexsandr San:

Grazie! Sto solo cercando di farmi un'idea di quello che l'uomo sta cercando di fare.

Shosh! :) 401 è un numero di errore restituito dal server web ibm, non dovresti cercarlo nel documento MQL5

 
Nikolai Karetnikov:

fatto

Vai al link Service Desk nel tuo profilo e crea una nuova applicazione lì. Scegliete un argomento come "Transazioni finanziarie limitate". Scrivi lì che hai inconsapevolmente violato le regole della risorsa creando un secondo account. E chiedere di cancellarlo. Allega un link all'account da cancellare.

 
Nikolai Karetnikov:

Aryom, è prevista la fusione dei conti?

No.

 

E un'altra cosa, il documento WebRequest dice che ci sono 2 varianti di questa funzione. Il primo funziona con Content-Type: application/x-www-form-urlencoded, che ovviamente non è adatto, perché IBM chiede "header "Content-Type: application/json"

Ma questo è tutto quello che ho capito finora

 

Ho qualcosa.

tranne che il file non suona

Colpo4

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

Ecco cosa ha scaricato.

Immagine5

Istantanea6

Ho pensato che è qualcosa che ha a che fare con l'indirizzo, cambiarlo in qualche modo.

Istantanea7

 
Nikolai Karetnikov:

)))

L'idea non è il controllo vocale del terminale e dell'universo ))), ma la guida vocale. Diciamo ogni cinque minuti per suonare il prezzo di uno strumento da un set, o avere la possibilità di impostare avvisi vocali. Esistono nel terminale cose come "Alerts", quando vengono attivati viene emesso un breve segnale acustico, ma a quale strumento si riferisce è impossibile capire

Questo compito è molto complicato, quasi impossibile perché i confini dell'obiettivo non sono chiari. Cosa dovrebbe annunciare esattamente l'Expert Advisor? Se solo il prezzo, è possibile integrare una serie di cifre, che possono poi essere combinate. Se avete bisogno della possibilità di registrare un promemoria personalizzato, che l'EA attiverà al momento giusto, allora non è davvero impossibile, ma MOLTO difficile. Quasi non vedo il senso di spendere tanta energia per un chip dubbio.

Sii più specifico su ciò che vuoi fare.
 

Capisco che il compenso per l'articolo dovrebbe essere distribuito tra i partecipanti alla discussione e tutti gli autori dovrebbero essere elencati :-)

 
Registrate un grande insieme di file vocali, integrate le risorse nell'EA, legate la loro inclusione al modello dell'evento e il gioco è fatto. Non c'è bisogno di una ricerca sul web.