그리고 다시 dll과 시장 - 페이지 10

 
Alexsandr San :

다시 쓴다면?

그 쯤

예, 이것은 바이너리로 작동하지만 공개 웹 서비스의 컨텍스트에서는 작동하지 않습니다)

불행히도이 코드의 이점을 보지 못했습니다.

 
Alexsandr San :

고맙습니다! 이해가 되네요. 사람이 눈을 멀게하려는 것

그런 젠장! :) 401은 ibm 웹 서버에서 반환된 오류 번호입니다. MQL5 도크에서 찾지 마십시오.

 
Nikolai Karetnikov :

만들어진

프로필의 서비스 데스크 링크로 이동하여 새 티켓을 만들어야 합니다. "금융 거래가 제한됨"과 같은 주제를 선택합니다. 그리고 거기에 두 번째 계정을 만들어 자원의 규칙을 무의식적으로 위반했다고 적습니다. 그리고 제거를 요청합니다. 삭제할 계정에 대한 링크를 첨부합니다.

 
Nikolai Karetnikov :

Aryom, 계정 병합이 제공됩니까?

아니요.

 

그리고 한 가지 더, WebRequest 문서에는 이 함수의 2가지 변형이 있다고 명시되어 있습니다. 첫 번째 것은 Content-Type: application/x-www-form-urlencoded와 함께 작동하는데 이는 분명히 적합하지 않습니다. IBM은 "헤더 "Content-Type: application/json"을 요청합니다.

그러나 그것이 우리가 지금까지 알아낼 수 있었던 전부입니다.

 

나는 뭔가를 얻었다

파일만 들리지 않습니다

스냅샷4

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

이것은 업로드 된 것입니다

스냅샷5

스냅샷6

내가 이해하는 것처럼 - 주소가 필요한 것이 있으면 어떻게 든 변경하십시오.

스냅샷7

 
Nikolai Karetnikov :

)))

아이디어는 단말기와 우주)))의 음성 제어가 아니라 음성 안내에 있습니다. 예를 들어, 5분마다 한 세트의 악기 가격을 말하거나 음성 경고를 설정할 수 있는 기능이 있습니다. 터미널에 비슷한 "알림"이 있는데, 트리거되면 짧은 사운드 신호가 재생되며 어떤 악기를 가리키는지 이해할 수 없습니다.

목표의 경계가 정의되지 않았기 때문에 작업은 매우 어렵고 거의 불가능합니다. 고문은 정확히 무엇을 말해야 합니까? 가격 만 있으면 유성 번호 세트를 통합 한 다음 결합 할 수 있습니다. 조언자가 적시에 켤 사용자 지정 미리 알림을 마이크에 녹음하는 옵션이 필요한 경우 이것이 불가능한 것은 아니지만 매우 어렵습니다. 나는 의심스러운 칩에 그렇게 많은 에너지를 소비하는 요점이 거의 없다고 생각합니다.

하고 싶은 일에 대해 더 구체적으로 말하세요.
 

나는 기사에 대한 수수료가 토론의 참가자들에게 분배되어야 하고 저자에 모두 표시되어야 한다는 것을 이해합니다 :-)

 
많은 양의 음성 파일을 녹음하고, 자원을 Expert Advisor에 통합하고, 포함을 이벤트 모델 과 연결하기만 하면 됩니다. 웹 요청이 필요하지 않습니다.