2025-03-13 11:57:31 -04:00 | | | //+------------------------------------------------------------------+
|
| | | //| 011_Event_R2.mq5 |
|
2025-04-16 11:59:03 -04:00 | | | //| Author: Santiago Cruz |
|
2025-03-13 11:57:31 -04:00 | | | //| https://www.mql5.com/en/users/algo-trader/ |
|
| | | //+------------------------------------------------------------------+
|
2025-04-16 11:59:03 -04:00 | | | #property copyright "Santiago Cruz"
|
2025-03-13 11:57:31 -04:00 | | | #property link "https://www.mql5.com/en/users/algo-trader/"
|
| | | #property version "1.00"
|
| | |
|
| | | #include <Trade/Trade.mqh>
|
| | |
|
| | | int OnInit()
|
2025-03-17 22:46:51 -04:00 | | | {
|
| | | currenciesCount = 0;
|
| | | ArrayResize(currencies, 0);
|
2025-03-15 21:02:44 -04:00 | | |
|
2025-03-17 22:46:51 -04:00 | | | if(!StartUp(true)) return INIT_PARAMETERS_INCORRECT;
|
| | |
|
| | | const bool barwise = UnityPriceType == PRICE_CLOSE && UnityPricePeriod == 1;
|
| | | controller = new UnityController(UnitySymbols, barwise,
|
| | | UnityBarLimit, UnityPriceType, UnityPriceMethod, UnityPricePeriod);
|
| | | // waiting for messages from the indicator on currencies in buffers
|
| | | return INIT_SUCCEEDED;
|
| | | }
|
2025-03-16 18:08:03 -04:00 | | |
|
| | | bool isNewTime() const
|
| | | {
|
| | | return lastRead != lastTime();
|
| | | }
|
| | |
|
| | | bool getOuterIndices(int &min, int &max)
|
| | | {
|
| | | if(isNewTime())
|
| | | {
|
| | | if(!read()) return false;
|
| | | }
|
| | | max = ArrayMaximum(data);
|
| | | min = ArrayMinimum(data);
|
| | | return true;
|
| | | }
|
| | |
|
| | | double operator[](const int buffer)
|
| | | {
|
| | | if(isNewTime())
|
| | | {
|
| | | if(!read())
|
| | | {
|
| | | return EMPTY_VALUE;
|
| | | }
|
| | | }
|
| | | return data[buffer];
|
| | | }
|
2025-03-17 22:46:51 -04:00 | | | };
|
| | |
|