2026-03-06 07:00:43 +03:00
|
|
|
//+------------------------------------------------------------------+
|
|
|
|
|
//| Modifier.mqh |
|
|
|
|
|
//| Copyright 2026, MasterOfPuppets |
|
|
|
|
|
//| https://forge.mql5.io/masterofpuppets/mql5 |
|
|
|
|
|
//+------------------------------------------------------------------+
|
|
|
|
|
#ifndef MASTER_OF_PUPPETS_LIB_MODIFIER_MQH
|
|
|
|
|
#define MASTER_OF_PUPPETS_LIB_MODIFIER_MQH
|
|
|
|
|
|
2026-03-06 07:49:43 +03:00
|
|
|
#include <MasterOfPuppetsLib\Modifiers\IModifier.mqh>
|
2026-03-06 07:00:43 +03:00
|
|
|
#include <MasterOfPuppetsLib\TradeContext.mqh>
|
|
|
|
|
#include <MasterOfPuppetsLib\TraderContext.mqh>
|
|
|
|
|
|
|
|
|
|
#property copyright "Copyright 2026, MasterOfPuppets"
|
|
|
|
|
#property link "https://forge.mql5.io/masterofpuppets/mql5"
|
|
|
|
|
|
|
|
|
|
//+------------------------------------------------------------------+
|
|
|
|
|
//| Modifier class |
|
|
|
|
|
//+------------------------------------------------------------------+
|
2026-03-06 07:49:43 +03:00
|
|
|
class Modifier : public IModifier
|
2026-03-06 07:00:43 +03:00
|
|
|
{
|
|
|
|
|
protected:
|
|
|
|
|
const TradeContext *m_tradeContext;
|
|
|
|
|
const TraderContext *m_traderContext;
|
|
|
|
|
bool m_withExpert;
|
|
|
|
|
public:
|
2026-03-06 07:37:45 +03:00
|
|
|
Modifier() : m_tradeContext(NULL), m_traderContext(NULL), m_withExpert(false) {}
|
2026-03-06 07:49:43 +03:00
|
|
|
void Init(const TradeContext *srcTradeContext, const TraderContext *srcTraderContext,
|
|
|
|
|
const bool withExpert = false) override;
|
|
|
|
|
virtual void Modify() const override = 0;
|
2026-03-06 07:37:45 +03:00
|
|
|
virtual ~Modifier() {}
|
2026-03-06 07:00:43 +03:00
|
|
|
};
|
|
|
|
|
|
|
|
|
|
#include <MasterOfPuppetsLib\Modifiers\Modifier.mq5>
|
|
|
|
|
|
|
|
|
|
#endif
|
|
|
|
|
//+------------------------------------------------------------------+
|