PlaySound

Spielt Audiodatei ab.

bool  PlaySound(
   string  filename      // Dateiname
   );

Parameter

filename

[in] Pfad zur Audiodatei. Wenn filename=NULL ist, wird die Audiowiedergabe gestoppt.

Rückgabewert

true – wenn Audiodatei nicht gefunden wird, ansonsten false.

Hinweis

Datei muss sich im Katalog Katalog_des Terminals\Sounds oder in seinem Subkatalog befinden. Es werden nur Audiodateien im Format  WAV abgespiegelt.

Aufruf von Playsound() mit einem Parameter NULL stoppt Audiowiedergabe.

Beim Anwenden im Strategie-Tester wird die PlaySound()-Funktion nicht ausgeführt.

Beispiel:

#include <Trade\Trade.mqh>
#define MAGIC (123)
 
//--- Eingabeparameter
input string          InpFileNameOK  = "ok.wav";               // Audiodatei für Erfolg
input string          InpFileNameErr = "timeout.wav";          // Audiodatei für einen Fehler
input ENUM_ORDER_TYPE InpOrderType   = ORDER_TYPE_BUY_LIMIT;   // Auftragstyp
input double          InpLots        = 0.1;                    // Losgröße
 
//--- globale Variable
CTrade ExtTrade;
 
//+------------------------------------------------------------------+
//| Skript Programm Start Funktion                                   |
//+------------------------------------------------------------------+
void OnStart()
  {
//--- Setzen der MagicNumber und die Auftragsart bei der Ausführung entsprechend den Symboleinstellungen
   ExtTrade.SetExpertMagicNumber(MAGIC);
   ExtTrade.SetTypeFillingBySymbol(Symbol());
//--- Aufruf der Funktion zum Erteilen eines Auftrags oder zum Eröffnen einer Position mit Tonwiedergabe
   OrderSendWithAudio();
  }
//+------------------------------------------------------------------+
//| Die Funktion platziert einen Auftrag oder eröffnet eine Position |
//| und spielt den Sound für Erfolg oder für einen Fehler ab         |
//+------------------------------------------------------------------+
void OrderSendWithAudio(void)
  {
   bool    res=true;
   MqlTick tick= {};
 
   ResetLastError();
   if(!SymbolInfoTick(Symbol(),tick))
     {
      Print("SymbolInfoTick() failed. Error code: ",GetLastError());
      PlaySound(InpFileNameErr);
      return;
     }
//--- Senden einer Anfrage an den Server
   switch(InpOrderType)
     {
      case ORDER_TYPE_BUY :
         res=ExtTrade.Buy(InpLots);
         break;
      case ORDER_TYPE_BUY_LIMIT :
         res=ExtTrade.BuyLimit(InpLots,NormalizeDouble(tick.ask-100*Point(),Digits()));
         break;
      case ORDER_TYPE_BUY_STOP :
         res=ExtTrade.BuyStop(InpLots,NormalizeDouble(tick.ask+100*Point(),Digits()));
         break;
      case ORDER_TYPE_SELL :
         res=ExtTrade.Sell(InpLots);
         break;
      case ORDER_TYPE_SELL_LIMIT :
         res=ExtTrade.SellLimit(InpLots,NormalizeDouble(tick.bid+100*Point(),Digits()));
         break;
      case ORDER_TYPE_SELL_STOP :
         res=ExtTrade.SellStop(InpLots,NormalizeDouble(tick.bid-100*Point(),Digits()));
         break;
      default :
         res=false;
     }
   if(!res)
      Print("Error ",GetLastError());
   Print(ExtTrade.ResultRetcodeDescription());
 
//--- wenn die Anfrage akzeptiert wird, wird der Sound ok.wav abgespielt
   if(ExtTrade.ResultRetcode()==TRADE_RETCODE_DONE)
      PlaySound(InpFileNameOK);
   else
      PlaySound(InpFileNameErr);
  }

Sehen Sia auch

Ressourcen