AudioPrice_v1





//+------------------------------------------------------------------+
//|                                                   AudioPrice.mq4 |
//|                                          Copyright © 2008, sxTed |
//|                                               sxted@talktalk.net |
//|                                                       2008.02.13 |
//| Purpose...: Have audio output of latest Price.                   |
//| Thank you.: Big thank you CodersGuru at http://www.forex-tsd.com |
//|             for coding the gSpeak() function so as to have audio |
//|             signals.                                             | 
//+------------------------------------------------------------------+
#property copyright "Copyright © 2008, sxTed"
#property link      "sxted@talktalk.net"

#property indicator_chart_window

//+------------------------------------------------------------------+
//| defines                                                          |
//+------------------------------------------------------------------+
#define SYM_ROWS   40                                               // number of symbols in array sSymbols

//+------------------------------------------------------------------+
//| input parameters:                                                |
//+-----------0---+----1----+----2----+----3]------------------------+
extern bool   SaySymbol = true;
extern bool   SayBidPrice = true;

//+------------------------------------------------------------------+
//| EX4 imports                                                      |
//+------------------------------------------------------------------+
#include <gSpeak.mqh>

//+------------------------------------------------------------------+
//| global variables to program:                                     |
//+------------------------------------------------------------------+
string gsPrevious100, gsSaySymbol;       

//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
void init() {
  string sSymbol=Symbol();
  string sSymbols[SYM_ROWS][2]={"#HPQ"   ,"CFD HEWLETT PACKARD",
                                "#IBM"   ,"CFD IBM",
                                "#INTC"  ,"CFD INTEL CORPORATION",
                                "#MSFT"  ,"CFD MICROSOFT CORPORATION",
                                "#QQQ"   ,"CFD Nasdaq 100 Index Tracking Stock",
                                "#SPY"   ,"CFD Standard & Poors Depositary Receipts",
                                "#T"     ,"CFD AT&T CORPORATION",
                                "#XOM"   ,"CFD EXXON MOBIL CORPORATION",
                                "AUDCAD" ,"Aussie-Canada",
                                "AUDCHF" ,"Aussie-Swiss",
                                "AUDJPY" ,"Aussie-Yen",
                                "AUDNZD" ,"Aussie-Kiwi",
                                "AUDUSD" ,"Aussie",
                                "CADCHF" ,"Canada-Swiss",
                                "CADJPY" ,"Canada-Yen",
                                "CHFJPY" ,"Swiss-Yen",
                                "EURAUD" ,"Euro-Aussie",
                                "EURCAD" ,"Euro-Canada",
                                "EURCHF" ,"Euro-Swiss",
                                "EURGBP" ,"Chunnel",
                                "EURJPY" ,"Euro-Yen",
                                "EURUSD" ,"Euro",
                                "GBPAUD" ,"Sterling-Aussie",
                                "GBPCAD" ,"Sterling-Canada",
                                "GBPCHF" ,"Sterling-Swiss",
                                "GBPJPY" ,"Sterling-Yen",
                                "GBPUSD" ,"Cable",
                                "GOLD"   ,"Gold",
                                "NZDCHF" ,"Kiwi-Swiss",
                                "NZDJPY" ,"Kiwi-Yen",
                                "NZDUSD" ,"Kiwi",
                                "USDCAD" ,"Loonie",
                                "USDCHF" ,"Swissy",
                                "USDJPY" ,"Yen",
                                "XAUUSD" ,"Gold",
                                "XAGUSD" ,"Silver",
                                "_DJI"   ,"Dow Jones Industrial Index",
                                "_NQ100" ,"Nasdaq 100 Index",
                                "_NQCOMP","Nasdaq Composite Index",
                                "_SP500" ,"Standard & Poors 500 Index"
                               };
  
  gsPrevious100=" ";
  gsSaySymbol="";
  if(SaySymbol) {
    gsSaySymbol=sSymbol+" ";
    for(int i=0; i<SYM_ROWS; i++) {
      if(sSymbols[i][0]==sSymbol) break;
    }
    if(i<SYM_ROWS) gsSaySymbol=sSymbols[i][1]+" ";
  }
  if(IsDllsAllowed()==false) Alert("Check \"Allow DLL imports\" to enable program");
}

//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
void deinit() {
}

//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
void start() {
  double dPrice=Ask;
  if(SayBidPrice) dPrice=Bid;
  string sPrice=DoubleToStr(dPrice,Digits), sChar;
  int    iPos=StringFind(sPrice,"."), iLen;
  
  if(iPos>0) sPrice=StringConcatenate(StringSubstr(sPrice,0,iPos),StringSubstr(sPrice,iPos+1));
  iLen=StringLen(sPrice);
  sChar=StringSubstr(sPrice,iLen-3,1);
  if(sChar==gsPrevious100) {
    sPrice=StringSubstr(sPrice,iLen-2);
    if(StringSubstr(sPrice,0,1)=="0") sPrice=StringSubstr(sPrice,1);
    gSpeak(StringConcatenate(gsSaySymbol,sPrice));
  }
  else gSpeak(StringConcatenate(gsSaySymbol,dPrice));
  gsPrevious100=sChar;
}
//+------------------------------------------------------------------+



Sample





Analysis



Market Information Used:



Indicator Curves created:


Indicators Used:



Custom Indicators Used:

Order Management characteristics:

Other Features:

It issuies visual alerts to the screen