Price Data Components
Miscellaneous
1
Views
0
Downloads
0
Favorites
bigbarsound
//+------------------------------------------------------------------+
//| BigBarSound.mq5 |
//| Alexey Volchanskiy |
//| http://www.robo-forex.ru |
//+------------------------------------------------------------------+
#property copyright "Alexey Volchanskiy"
#property link "http://www.robo-forex.ru"
#property version "1.00"
#property strict
#property description "Indicator plays WavFile when bar size is lager of BarPoint value"
//---- îòðèñîâêà èíäèêàòîðà â ãëàâíîì îêíå
#property indicator_chart_window
//---- êîëè÷åñòâî èíäèêàòîðíûõ áóôåðîâ 0
#property indicator_buffers 0
//---- èñïîëüçîâàíî íîëü ãðàôè÷åñêèõ ïîñòðîåíèé
#property indicator_plots 0
//+------------------------------------------------+
//| Îáúÿâëåíèå êîíñòàíò |
//+------------------------------------------------+
#define RESET 0 // êîíñòàíòà äëÿ âîçâðàòà òåðìèíàëó êîìàíäû íà ïåðåñ÷åò èíäèêàòîðà
#define INDICATOR_NAME "BigBarSound" // êîíñòàíòà äëÿ èìåíè èíäèêàòîðà
//+------------------------------------------------+
//| Ïåðå÷èñëåíèå äëÿ èíäèêàöèè ñðàáàòûâàíèÿ |
//+------------------------------------------------+
enum START_POINT //Òèï êîíñòàíòû
{
OPEN_CLOSE, //õîä öåíû îò îòêðûòèÿ open äî close
HIGH_LOW //ðàçìåð ñâå÷è îò low äî high
};
//+------------------------------------------------+
//| Âõîäíûå ïàðàìåòðû èíäèêàòîðà |
//+------------------------------------------------+
input ENUM_TIMEFRAMES TimeFrame = PERIOD_H4; // Ïåðèîä ãðàôèêà èíäèêàòîðà
input uint BarPoint = 200; // Ìèíèìàëüíûé ðàçìåð ñâå÷íîãî õîäà äëÿ ñèãíàëà
input START_POINT SP = HIGH_LOW; // Âàðèàíò äâèæåíèÿ
input string WavFile = "alert.wav"; // Èìÿ çâóêîâîãî ôàéëà
input uint TimeDeley = 10; // Ìèíèìàëüíàÿ çàäåðæêà ìåæäó äâóìÿ ñèãíàëàìè
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int OnInit()
{
//--- ñîçäàíèå èìåíè äëÿ îòîáðàæåíèÿ â îòäåëüíîì ïîäîêíå è âî âñïëûâàþùåé ïîäñêàçêå
string shortname;
StringConcatenate(shortname,INDICATOR_NAME,"(",EnumToString(TimeFrame),")");
IndicatorSetString(INDICATOR_SHORTNAME,shortname);
//--- îïðåäåëåíèå òî÷íîñòè îòîáðàæåíèÿ çíà÷åíèé èíäèêàòîðà
IndicatorSetInteger(INDICATOR_DIGITS,_Digits);
//--- çàâåðøåíèå èíèöèàëèçàöèè
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Custom iteration function |
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total, // êîëè÷åñòâî èñòîðèè â áàðàõ íà òåêóùåì òèêå
const int prev_calculated,// êîëè÷åñòâî èñòîðèè â áàðàõ íà ïðåäûäóùåì òèêå
const datetime &time[],
const double &open[],
const double &high[],
const double &low[],
const double &close[],
const long &tick_volume[],
const long &volume[],
const int &spread[])
{
//--- ïðîâåðêà êîëè÷åñòâà áàðîâ íà äîñòàòî÷íîñòü äëÿ ðàñ÷åòà
if(Bars(Symbol(),TimeFrame)<1) return(RESET);
//--- èíäåêñàöèÿ ýëåìåíòîâ â ìàññèâàõ êàê â òàéìñåðèÿõ
ArraySetAsSeries(time,true);
int range;
static datetime lasttime,itime;
datetime iTime[1];
//--- êîïèðóåì âíîâü ïîÿâèâøèåñÿ äàííûå â ìàññèâû
if(SP==HIGH_LOW)
{
double iLow[1],iHigh[1];
if(CopyLow(Symbol(),TimeFrame,time[0],1,iLow)<=0) return(RESET);
if(CopyHigh(Symbol(),TimeFrame,time[0],1,iHigh)<=0) return(RESET);
range=int((iHigh[0]-iLow[0])/_Point);
}
else
{
double iOpen[1],iClose[1];
if(CopyOpen(Symbol(),TimeFrame,time[0],1,iOpen)<=0) return(RESET);
if(CopyClose(Symbol(),TimeFrame,time[0],1,iClose)<=0) return(RESET);
range=int((MathAbs(iClose[0]-iOpen[0]))/_Point);
}
if(CopyTime(Symbol(),TimeFrame,time[0],1,iTime)<=0) return(RESET);
if(iTime[0]!=itime)
{
lasttime=NULL;
itime=iTime[0];
}
//---
if(TimeCurrent()-lasttime>=TimeDeley && range>int(BarPoint))
{
PlaySound(WavFile);
lasttime=TimeCurrent();
}
//---
return(rates_total);
}
//+------------------------------------------------------------------+
Comments
Markdown Formatting Guide
# H1
## H2
### H3
**bold text**
*italicized text*
[title](https://www.example.com)

`code`
```
code block
```
> blockquote
- Item 1
- Item 2
1. First item
2. Second item
---