Risposta

Riproduzione di un file audio personalizzato in Signal Indicator

5 risposte

TJ#

Cliente, bbp_partecipante, comunità, 144 risposte.

Visita il profilo

9 anni fa #112772

ciao Admin,

 

Sotto l'indicatore di segnale. Come posso riprodurre un file audio personalizzato?

 

Ad esempio, PlaySound("Starwars.wav") mentre il file L'impostazione predefinita è PlaySound("alert.wav"). 

 

saluti,

 

TJ

0

Mark Fric

Amministratore, sq-ultimate, 2 risposte.

Visita il profilo

9 anni fa #127291

Salve,

 

Purtroppo gli indicatori di segnale in EA Wizard disegnano solo i segnali sul grafico, ma non eseguono le azioni personalizzate specificate nella sezione THEN.

Ma è possibile combinarlo con un EA: lo stesso indicatore di segnale viene esportato come EA che emette un suono e poi come indicatore di segnale che visualizza i punti.

 

Sì, è necessario utilizzare il nome del file audio nella funzione PlaySound. Secondo la guida di MT4, il file audio dovrebbe trovarsi nella directory terminal_directory\Sounds

Marchio
Architetto StrategyQuant

0

TJ#

Cliente, bbp_partecipante, comunità, 144 risposte.

Visita il profilo

9 anni fa #127314

Ciao Mark,

 

Ho provato il Starwars.wav come avviso di prezzo, funziona perfettamente ma quando cerco di usarlo nell'EA Wizard (indicatore di segnale) non riprodurrà il file Starwars.wav ma il tono predefinito (alert.wav). C'è un bug da qualche parte nella mia versione? 

 

Il file audio è memorizzato in, 

C:´File di programma (x86)´OANDA MT4´´Suoni

 

Saluti,

 

TJ

0

Mark Fric

Amministratore, sq-ultimate, 2 risposte.

Visita il profilo

9 anni fa #127371

Questo perché in modalità indicatore di segnale non utilizza affatto le azioni THEN, ma la funzione Alert() di MT4, accompagnata dal suono predefinito.

 

È necessario modificare il codice dell'indicatore di segnale, trovando il punto in cui viene utilizzato Alert() e inserendovi la funzione di riproduzione del suono.

Marchio
Architetto StrategyQuant

0

TJ#

Cliente, bbp_partecipante, comunità, 144 risposte.

Visita il profilo

9 anni fa #127657

Caro Mark,
 

Non sono un programmatore e quindi non sono sicuro di cosa e dove cercare l'avviso, ma ho attivato la funzione di ricerca e ho evidenziato tutte le parole "avviso" e sotto ci sono le sezioni che hanno la parola "avviso", quindi quale linea devo cambiare per riprodurre il file "starwars.wav"? 

 

Grazie mille. 🙂 




 
extern bool MT4Allarme = vero;
bool esterno EmailAllarme = vero;
stringa extern EmailSubject = "Signal Allarme : “;
int LookBackForAvvisi = 5;


 
void processSignal(int signalIndex, int i) {
   if(getSignal(signalIndex, i)) {
      drawSignal(signalIndex, i, getDrawOffset(signalIndex, i));
 
      bool previousSignal = getSignal(signalIndex, i+1);
      if(previousSignal == false && i<=LookBackForAvvisi && (lastSignalDisplayed == 0 || lastSignalDisplayed < Time[i])) {
         // inviare avvisi
         lastSignalDisplayed = Time[i];
 
         stringa allarmeTesto = getAllarmeText(signalIndex, i);
 
         se(MT4Allarme) {
            Allarme(allarmeTesto);
         }
         if(EmailAllarme) {
            SendMail(StringConcatenate(EmailSubject, "Ind_M1_V4"), allarmeTesto);
         }
      }
   } else {
      drawSignal(signalIndex, i, 0);
   }
}
 
//+——————————————————————+
 
stringa getAllarmeText(int signalIndex, int i) {
   string text = Symbol() + "/" + getPeriodAsString() + " - " + TimeToStr(Time[i]);
   testo = StringConcatenate(testo, " Signal Allarme :”);
 
if(signalIndex == 1) {
      text = StringConcatenate(text, " Long (#1, Unknown) : ");
      testo = StringConcatenate(testo, Signal1Text);
   }
if(signalIndex == 2) {
      text = StringConcatenate(text, " Short (#2, Unknown) : ");
      testo = StringConcatenate(testo, Signal2Text);
   }
 
   return(testo);



 

0

Mark Fric

Amministratore, sq-ultimate, 2 risposte.

Visita il profilo

9 anni fa #127908

ok, è possibile modificare il codice e aggiungere il codice per la riproduzione del suono in questo blocco:

 

se(MT4Allarme) {
   Allarme(allarmeTesto);
   
PlaySound("Starwars.wav"); // aggiunto

}

 

 

Non so se funzionerebbe, perché non sono sicuro che MT4 permetta agli indicatori di riprodurre suoni, ma probabilmente sì.

Marchio
Architetto StrategyQuant

0

Stai visualizzando 5 risposte - da 1 a 5 (di 5 totali)