Adwizard/Base/Advisor.mqh

52 lines
4.5 KiB
MQL5
Raw Permalink Normal View History

2025-04-11 13:28:40 +03:00
<EFBFBD><EFBFBD>//+------------------------------------------------------------------+
//| Advisor.mqh |
//| Copyright 2019-2024, Yuriy Bykov |
//| https://www.mql5.com/ru/users/antekov |
//+------------------------------------------------------------------+
#property copyright "Copyright 2019-2024, Yuriy Bykov"
#property link "https://www.mql5.com/ru/users/antekov"
#property version "1.04"
#include "../Utils/Macros.mqh"
#include "Factorable.mqh"
#include "Strategy.mqh"
//+------------------------------------------------------------------+
//| 07>2K9 :;0AA M:A?5@B0 |
//+------------------------------------------------------------------+
class CAdvisor : public CFactorable {
protected:
CStrategy *m_strategies[]; // 0AA82 B>@3>2KE AB@0B5389
virtual void Add(CStrategy *strategy); // 5B>4 4>102;5=8O AB@0B5388
public:
~CAdvisor(); // 5AB@C:B>@
virtual void Tick(); // 1@01>BG8: A>1KB8O OnTick
virtual double Tester() {
return 0;
}
};
//+------------------------------------------------------------------+
//| 5AB@C:B>@ |
//+------------------------------------------------------------------+
void CAdvisor::~CAdvisor() {
// #40;O5< 2A5 >1J5:BK AB@0B5389
FOREACH(m_strategies) delete m_strategies[i];
}
//+------------------------------------------------------------------+
//| 1@01>BG8: A>1KB8O OnTick |
//+------------------------------------------------------------------+
void CAdvisor::Tick(void) {
// ;O 2A5E AB@0B5389 2K7K205< >1@01>B:C OnTick
FOREACH(m_strategies) m_strategies[i].Tick();
}
//+------------------------------------------------------------------+
//| 5B>4 4>102;5=8O AB@0B5388 |
//+------------------------------------------------------------------+
void CAdvisor::Add(CStrategy *strategy) {
APPEND(m_strategies, strategy); // >102;O5< AB@0B538N 2 :>=5F <0AA820
}
//+------------------------------------------------------------------+