Quaisquer perguntas de recém-chegados sobre MQL4 e MQL5, ajuda e discussão sobre algoritmos e códigos - página 1058

 
Vitaliy Maznev:

Pelo menos logicamente.

Não logicamente...

As funções de Alerta e Playsound não estão conectadas de forma alguma

 
MakarFX:

Não é lógico...

OAlerta e o Playsound não estão relacionados de forma alguma

Você tem que ter Alerta com som? Por que você recusa tão teimosamente a sugestão de silenciá-la e só usa Playsound()

 
MakarFX:

Não é lógico...

As funções de Alerta e Playsound não estão conectadas de forma alguma

Sou uma pessoa longe da programação. Não entendo bem porque a funçãoPlaysound não é adequada para a saída de seus sons. Mas eu apresentei uma opção como essa.

Entretanto, entendi da conversa que juntos Alert e Playsound satisfazem parcialmente sua exigência. Mas há dois sons de saída, certo? Nesta base, logicamente vejo uma solução para substituir o som de Alerta pelo silêncio. Então, de forma audível, somente os sons que você especificar serão ouvidos.

 
Alexey Viktorov:

Você precisa de Alerta com som? Por que você recusa tão teimosamente a sugestão de silenciá-la e só usa Playsound()

Eu não recuso. Alerta set emty.wav, e no Playsound idicator eu o dividi por evento.
 
Vitaliy Maznev:

Eu sou uma pessoa que está longe de programar. Não entendo bem porque a funçãoPlaysound não é adequada para a saída de seus sons. Mas a opção apresentada é esta.

O Playsound é adequado para a emissão de sons, mas não é adequado para a atribuição de sons de alerta.

O Alerta não é apenas um som, é também uma janela com informações e utiliza o som das configurações МТ4, ou seja, não é possível atribuir outro som no indicador para Alerta.

 
Alexey Viktorov:

Somente vice versa, primeiro Alerta() e depois PlaySound(). Caso contrário, PlaySound() não terá tempo nem para começar a tocar, Alert() irá pontuar.

Alerta() obstrui o PlaySound().

o que eu devo consertar aqui?

void Signal(string st) {
  if (UseAlert) Alert(st);
  if (UseComment) Comment(st);
  if (UseSendMail) SendMail(WindowExpertName(), st);
  if (UseSendPush) SendNotification(st);
  if (UsePrint) Print(st);
  if (UseSound) PlaySound(sotFileName);
}

Ou aqui

        if (StringLen(sh)>0) st=sh+st;
        Signal(st);
 
MakarFX:

Alerta() bloqueia PlaySound()

o que precisa ser consertado aqui?

Ou aqui.

Eu não uso Alert() ou PlaySound() há cerca de 10 anos. Mas até onde eu me lembro, Alert() tem som muito curto e PlaySound() deve funcionar sem problemas. Eu nem sei o que aconselhar... Dormir não funciona em indicadores. Talvez seja melhor você substituir Alert() por MessageBox() e PlaySound() depois dele.

Tenho as notificações configuradas desta forma


 
Alexey Viktorov:

Talvez seja melhor substituir Alert() por MessageBox() e PlaySound() depois dele.

Fez uma mudança

void Signal(string st) {
  if (UseAlert) MessageBox(st,Symbol(),1);
  if (UseComment) Comment(st);
  if (UseSendMail) SendMail(WindowExpertName(), st);
  if (UseSendPush) SendNotification(st);
  if (UsePrint) Print(st);
  if (UseSound) PlaySound(sotFileName);
}
Não exibe nenhuma mensagem(
 
MakarFX:

Fez uma mudança

Não exibe nenhuma mensagem(

Você entende como verificar se suas ações estão corretas? Acho que não tenho. Você já leu alguma coisa sobre esta função? Você já leu que não funciona no testador como Alert() funciona ou é de sua responsabilidade substituí-lo, e deixá-lo para aqueles que o aconselham a descobrir?

Felizmente, foi escrito sem erros. Por que não está funcionando, vá para o clube de telepatas.

 
Alexey Viktorov:

Você entende como verificar se suas ações estão corretas? Acho que não. Você já leu alguma coisa sobre esta função? Você já leu que não funciona no Testador de Estratégia como o Alert() funciona ou você deve substituí-lo.

Felizmente, é escrito sem erros. Por que não é chamado, favor entrar em contato com o clube de telepatas.

Eu não sou um programador, eu edito o indicador para minha própria conveniência. Eu verifiquei não no testador, mas em tempo real.

A propósito, não há telepatas.

Se você souber qual dos indicadores disponíveis utiliza esta função, por favor, avise, talvez eu mesmo a entenda.

Obrigado

Razão: