e novamente dll e mercado - página 11

 

Você aprendeu como carregar um arquivo via WebRequest?

A única coisa que falta aprender é PlaySound (que pode fazer sentido em um conselheiro/serviço separado),

mas"O arquivo deve estar localizado no terminal_diretório de sons ou em seu subdiretório". Somente arquivos de áudio em formato WAV podem ser reproduzidos". faça um link com antecedência de um diretório para outro (de Arquivos/Som para Som/Ficheiros, por exemplo).

e voila - sem exceder as capacidades de MT e sem DLLs externas tudo deve funcionar.

 
Nikolai Karetnikov:

E outra coisa, o documento WebRequest diz que existem 2 variantes desta função. O primeiro funciona com Content-Type: aplicação/x-www-form-urlencoded, que obviamente não é adequado, porque a IBM pede "header "Content-Type: aplicação/json".

Mas isso é tudo o que entendi até agora.

Por que você precisa deste WebRequest foleiro?As funções de tomadas estão disponíveis há algum tempo, inclusive com o TLS.
 

isso é o quanto é interessante

   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)

Foto por

Foto por

bat dará um erro - se estiver no lixo e depois de alguma forma do lixo

Instantâneo2

 
Serhii Shevchuk:
Por que você precisa deste WebRequest foleiro? As funções de tomadas estão disponíveis há muito tempo, inclusive com o TLS.

Vejo que você é uma pessoa experiente, você pode me ajudar a escrever um exemplo de referência de soquete?

A documentação está aquihttps://cloud.ibm.com/docs/text-to-speech?topic=text-to-speech-usingWebSocket

Entendo que oexemplo_id é GR1bb3zVMs9fcNKL6pA9-5zj9ptWliCu6eh9oupUnpZB

Enquanto fumava o doc...

 
Реter Konow:
A tarefa é muito complicada, quase impossível porque os limites do alvo são indefinidos. O que exatamente deve ser anunciado pela EA? Se apenas o preço, então podemos integrar um conjunto de números vocalizados que podem ser combinados. Se você precisar da opção de gravar um lembrete personalizado, que o Expert Advisor ativará na hora certa, então não é realmente impossível, mas MUITO difícil. Quase não vejo o interesse de gastar tanta energia em um chip duvidoso.

Seja mais claro sobre o que você quer fazer.

a tarefa não é muito complicada. Basicamente, tudo já está feito e o Expert Advisor trabalha bem com a chamada DLL, pronunciando em inglês ou russo os nomes dos instrumentos e seus preços atuais e, se necessário, atingindo o preço na região.

As capacidades incorporadas do sistema operacional Windows são utilizadas


Com uma simples classe https://www.mql5.com/ru/forum/342293#comment_16626455 é possível pronunciar textos arbitrários, até mesmo erros de tempo de execução ou de impressão, se alguém precisar deles ))))

E a implementação usando múltiplos arquivos ondulados é muito complicada, você está certo.

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

a tarefa não é muito difícil. Basicamente, tudo já está feito e o Expert Advisor trabalha bem com a chamada DLL, pronunciando em inglês ou russo tanto os nomes dos instrumentos como seus preços atuais e, se necessário, atingindo o preço na região.

As capacidades incorporadas do sistema operacional Windows são utilizadas


Com uma simples classe https://www.mql5.com/ru/forum/342293#comment_16626455 é possível pronunciar textos arbitrários, até mesmo erros de tempo de execução ou de impressão, se alguém precisar deles ))))

E a implementação usando múltiplos arquivos ondulados é muito complicada, você está certo.

Você não tem uma tarefa formulada e, portanto, não está claro o que precisa ser feito. Para fazer o conselheiro dizer o que ele quiser? Mas, o que exatamente ele deve dizer? Como você diz a ele para ler o nome do símbolo? :) Você não poderá se comunicar com o assessor mesmo que ele "fale" formalmente o texto. Você não pode fazê-lo ler um texto que seja relevante para um evento. Como você o instrui a ler as impressões ou os registros?)
 
OK, suponha que a EA escreve o texto a ser falado para um arquivo e o envia via webquest ou sockets para o servidor, e o servidor, em obediência, o fala. Teoricamente possível, mas não é uma tarefa fácil...

Levar em conta os atrasos no tempo.
 
Реter Konow:
Você não tem um problema formulado e, portanto, não está claro o que precisa ser resolvido. Fazer o Consultor Especialista dizer o que você quiser que ele diga? Mas o que deveria dizer exatamente? Como você diz a ele para ler o nome do símbolo? :) Você não poderá se comunicar com o assessor mesmo que ele "fale" formalmente o texto. Você não pode fazê-lo ler o texto que é relevante para um evento. Como você o instrui a ler as impressões ou os registros?)

Preciso resolver o problema de transformar um texto arbitrário em um arquivo wav sem utilizar chamadas DLL )

Tudo o resto já está resolvido

 
Реter Konow:
Suponha que nossa EA escreva um texto para ser falado a um arquivo e o envie ao servidor através do WebRequest ou de soquetes, e o servidor fale com ele. Teoricamente possível, mas não é uma tarefa fácil...

não há necessidade de escrever para o arquivo. WebRequest

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

Preciso resolver o problema de transformar um texto arbitrário em um arquivo wav sem utilizar chamadas DLL )

Tudo o resto já está resolvido

Não sei... este é o problema insolúvel... Você precisa de um serviço web especial que pega um arquivo de texto de você, o converte para wav, o envia de volta para sua pasta Sounds e reescreve o arquivo antigo. Ou simplesmente, recebê-lo e falar sem convertê-lo em .wav