Einzelnen Beitrag anzeigen
  #3 (permalink)  
Alt 07.12.18
AVT AVT ist offline
Elite Mitglied
 
Registriert seit: Mar 2018
Ort: Hamburg
Beiträge: 612
AVT befindet sich auf einem aufstrebenden Ast
Standard

Vielen Dank traderdoc

Code sieht so aus, falls jemand es braucht (oder es vielleicht noch was zu verbessern gibt):
Code:
// === head
#resource "\\Files\\Sounds\\HitSl.wav" // SL Treffer
#resource "\\Files\\Sounds\\HitTp.wav" // TP Treffer
datetime LastCloseTime=TimeCurrent();  // reicht hier

void OnTimer()
{
   GetExitHits(); // reicht hier, je nach Timereinstellung
}

void GetExitHits()
{
   string sl_subst="[sl]"; // Zeichen im Kommentar für SL
   string tp_subst="[tp]"; // Zeichen im Kommentar für TP
   int    res=EMPTY;       // Resultatnummer, -1 ist nicht gefunden

   // === 0 ist die 1. Position (früheste), wird hochgezählt bis zur letzten
   // === wir zählen runter von der letzten zur frühesten
   //     und stoppen nach dem ersten Fund mit break
   for(int i=OrdersHistoryTotal(); i>=0; i--)
   {
      if( OrderSelect(i,SELECT_BY_POS,MODE_HISTORY) )
      {
         if(   OrderSymbol()==_Symbol   // unser Markt
            && OrderType()<=1         ) // Market Orders
         {

            // === SL Sound
            res=StringFind(OrderComment(),sl_subst,0);
            if(   res!=-1                          // [sl] im Kommentar
               && OrderCloseTime()>LastCloseTime ) // nach dem letzten Fund
            {
               FuncPlaySound("::Files\\Sounds\\HitSl.wav"); // Sound spielen
               LastCloseTime=OrderCloseTime();              // als letzten Fund merken
               break;                                       // stop, keine älteren mehr
            }

            // === TP Sound
            res=StringFind(OrderComment(),tp_subst,0);
            if(   res!=-1                          // [tp] im Kommentar
               && OrderCloseTime()>LastCloseTime ) // nach dem letzten Fund
            {
               FuncPlaySound("::Files\\Sounds\\HitTp.wav"); // Sound spielen
               LastCloseTime=OrderCloseTime();              // als letzten Fund merken
               break;                                       // stop, keine älteren mehr
            }

         } // Symbol, MarketOrders
      } // select MODE_HISTORY
   } // HistoryTotal
}
Die FuncPlaySound(string FileName) prüft ob SoundOn und wenn ja dann PlaySound(FileName).
AVT