Respuesta

Reproducir un archivo de audio personalizado en Signal Indicator

5 respuestas

TJ#

Cliente, bbp_participante, comunidad, 144 respuestas.

Visitar el perfil

hace 9 años #112772

Hola Admin,

 

Bajo el indicador de señal. Cómo puedo reproducir un archivo de audio personalizado?

 

Por ejemplo, PlaySound("Starwars.wav") mientras que el por defecto es PlaySound("alert.wav"). 

 

saludos,

 

TJ

0

Mark Fric

Administrador, sq-ultimate, 2 respuestas.

Visitar el perfil

hace 9 años #127291

Hola,

 

desafortunadamente los indicadores de señal en el Asistente de EA solo dibujan señales en el gráfico, no realizan acciones personalizadas que usted especificó en la sección THEN.

Pero puede combinarlo con un EA - tener el mismo indicador de señal exportado como un EA que reproducirá sonido y luego como indicador de señal que mostrará los puntos.

 

Sí, debe utilizar el nombre del archivo de audio en la función PlaySound. De acuerdo con la ayuda MT4 archivo de sonido debe estar ubicado en terminal_directory\Sounds

Mark
Arquitecto de StrategyQuant

0

TJ#

Cliente, bbp_participante, comunidad, 144 respuestas.

Visitar el perfil

hace 9 años #127314

Hola Mark,

 

Probé el Starwars.wav como alerta de precio, funciona perfectamente pero cuando intento usarlo en EA Wizard (indicador de señal) no reproducirá el Starwars.wav sino que reproducirá el tono por defecto (alerta.wav). ¿Hay algún error en mi versión? 

 

El archivo de audio está almacenado en, 

C:Archivos de programa (x86)OANDA MT4 Sonidos

 

Saludos,

 

TJ

0

Mark Fric

Administrador, sq-ultimate, 2 respuestas.

Visitar el perfil

hace 9 años #127371

esto se debe a que en el modo de indicador de señal no utiliza acciones THEN en absoluto, utiliza Alert() función de MT4 y esto va acompañado del sonido por defecto.

 

Tendrías que editar el código del indicador de señal - encontrar donde se utiliza Alert() y poner allí tu función de reproducción de sonido.

Mark
Arquitecto de StrategyQuant

0

TJ#

Cliente, bbp_participante, comunidad, 144 respuestas.

Visitar el perfil

hace 9 años #127657

Querido Mark,
 

Yo no soy un programador por lo tanto no estoy seguro de qué y dónde buscar la alerta, pero he disparado la función de búsqueda y destacó toda la palabra "alerta" y por debajo de las secciones que tiene la palabra "alerta", por lo que el revestimiento que debo cambiar para reproducir el archivo "starwars.wav"? 

 

Muchas gracias 🙂 . 




 
extern bool MT4Alerta = verdadero;
extern bool Correo electrónicoAlerta = verdadero;
cadena externa EmailSubject = "Señal Alerta : “;
extern int LookBackForAlertas = 5;


 
void processSignal(int signalIndex, int i) {
   if(getSignal(signalIndex, i)) {
      drawSignal(signalIndex, i, getDrawOffset(signalIndex, i));
 
      bool SeñalAnterior = getSignal(signalIndex, i+1);
      if(previousSignal == false && i<=LookBackForAlertas && (lastSignalDisplayed == 0 || lastSignalDisplayed < Time[i])) {
         // enviar alertas
         últimaSeñalMostrada = Tiempo[i];
 
         cadena alertaTexto = getAlertText(signalIndex, i);
 
         si(MT4Alerta) {
            Alerta(alertaTexto);
         }
         si(Correo electrónicoAlerta) {
            SendMail(StringConcatenate(EmailSubject, "Ind_M1_V4"), alertaTexto);
         }
      }
   } else {
      drawSignal(signalIndex, i, 0);
   }
}
 
//+——————————————————————+
 
cadena getAlertaText(int signalIndex, int i) {
   string text = Symbol() +"/" + getPeriodAsString() + " - " + TimeToStr(Time[i]);
   text = StringConcatenate(text, " Señal Alerta :”);
 
if(signalIndex == 1) {
      text = StringConcatenate(text, " Long (#1, Desconocido) : ");
      text = StringConcatenate(text, Señal1Text);
   }
if(signalIndex == 2) {
      text = StringConcatenate(text, " Corto (#2, Desconocido) : ");
      text = StringConcatenate(text, Señal2Text);
   }
 
   return(texto);



 

0

Mark Fric

Administrador, sq-ultimate, 2 respuestas.

Visitar el perfil

hace 9 años #127908

ok, puedes editar el código y añade el código para reproducir el sonido en este bloque:

 

si(MT4Alerta) {
   Alerta(alertaTexto);
   
PlaySound("Starwars.wav"); // añadido

}

 

 

No estoy seguro de si funcionaría, porque no estoy seguro de si MT4 permite que los indicadores reproduzcan sonidos, pero probablemente sí.

Mark
Arquitecto de StrategyQuant

0

Viendo 5 respuestas - de la 1 a la 5 (de un total de 5)