PlaySound

Joue un fichier sonore.

bool  PlaySound(
   string  filename      // nom du fichier
   );

Paramètres

filename

[in]  Le chemin vers le fichier sonore. Si filename=NULL, vous pouvez obtenir une valeur maximale.

Valeur de Retour

true — si le fichier sonore est trouvé, false sinon.

Note

Le fichier doit être situé dans le répertoire  le répertoire_du terminal\Sounds ou son sous-dossier. Seuls les fichiers sonores au format WAV peuvent être utilisés.

L'utilisation de PlaySound() avec le paramètre NULL vous permet de bénéficier de la valeur souhaitée.

La fonction PlaySound() n'est pas disponible dans le cadre du test de stratégie.

Exemple :

#include <Trade\Trade.mqh>
#define MAGIC (123)
 
//--- paramètres d'entrée
input string          InpFileNameOK  = "ok.wav";               // fichier audio de succès
input string          InpFileNameErr = "timeout.wav";          // fichier audio d'erreur
input ENUM_ORDER_TYPE InpOrderType   = ORDER_TYPE_BUY_LIMIT;   // type d'ordre
input double          InpLots        = 0.1;                    // lots
 
//--- variables globales
CTrade ExtTrade;
 
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//--- définit le nombre magique et le type d'ordre par exécution en fonction des paramètres du symbole
   ExtTrade.SetExpertMagicNumber(MAGIC);
   ExtTrade.SetTypeFillingBySymbol(Symbol());
//--- appele la fonction pour passer un ordre ou pour ouvrir une position avec la lecture du son
   OrderSendWithAudio();
  }
//+------------------------------------------------------------------+
//| La fonction passe un ordre ou ouvre une position                 |
//| et joue le son du succès ou de l'erreur                          |
//+------------------------------------------------------------------+
void OrderSendWithAudio(void)
  {
   bool    res=true;
   MqlTick tick= {};
 
   ResetLastError();
   if(!SymbolInfoTick(Symbol(),tick))
     {
      Print("SymbolInfoTick() failed. Error code: ",GetLastError());
      PlaySound(InpFileNameErr);
      return;
     }
//--- envoie une requête au serveur
   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());
 
//--- si la demande est acceptée, joue le son ok.wav
   if(ExtTrade.ResultRetcode()==TRADE_RETCODE_DONE)
      PlaySound(InpFileNameOK);
   else
      PlaySound(InpFileNameErr);
  }

Voir aussi

Ressources