mql5/Include/MasterOfPuppetsLib/Trader.mqh

44 lines
2.1 KiB
MQL5
Raw Permalink Normal View History

2026-03-05 02:12:38 +03:00
//+------------------------------------------------------------------+
//| Trader.mqh |
//| Copyright 2026, MasterOfPuppets |
//| https://forge.mql5.io/masterofpuppets/mql5 |
//+------------------------------------------------------------------+
#ifndef MASTER_OF_PUPPETS_LIB_TRADER_MQH
#define MASTER_OF_PUPPETS_LIB_TRADER_MQH
2026-03-12 12:12:59 +03:00
#include <MasterOfPuppetsLib\Modifiers\IModifier.mqh>
2026-03-06 01:00:44 +03:00
#include <MasterOfPuppetsLib\TradeAction.mqh>
#include <MasterOfPuppetsLib\TradeContext.mqh>
2026-03-06 03:27:39 +03:00
#include <MasterOfPuppetsLib\TraderContext.mqh>
2026-03-06 01:00:44 +03:00
#include <MasterOfPuppetsLib\Utils.mqh>
2026-03-05 02:12:38 +03:00
#property copyright "Copyright 2026, MasterOfPuppets"
#property link "https://forge.mql5.io/masterofpuppets/mql5"
//+------------------------------------------------------------------+
2026-03-05 02:33:36 +03:00
//| Trader class |
2026-03-05 02:12:38 +03:00
//+------------------------------------------------------------------+
class Trader
{
private:
2026-03-06 09:09:20 +03:00
const TradeContext *m_tradeContext;
const TraderContext *m_traderContext;
double m_buyPyramidPriceOpen;
double m_sellPyramidPriceOpen;
2026-03-06 12:04:18 +03:00
void Log(const string message) const;
2026-03-12 12:12:59 +03:00
void ModifyPositions(const IModifier* modifier) const;
2026-03-05 02:12:38 +03:00
public:
2026-03-06 07:29:22 +03:00
Trader() : m_tradeContext(NULL), m_traderContext(NULL) {}
void Init(const TradeContext *srcTradeContext, const TraderContext *srcTraderContext);
2026-03-06 12:04:18 +03:00
void DeleteOrders(const string message, const bool allOrders) const;
2026-03-12 12:12:59 +03:00
void Modify(const string message, const IModifier* modifier) const;
2026-03-06 12:04:18 +03:00
void OrderOpen(const string message, const TradeAction tradeAction) const;
2026-03-05 23:55:48 +03:00
void PositionOpen(const string message, const TradeAction tradeAction);
2026-03-06 03:09:30 +03:00
const double GetBuyPyramidPriceOpen() const;
const double GetSellPyramidPriceOpen() const;
2026-03-05 02:12:38 +03:00
};
2026-03-06 01:00:44 +03:00
#include <MasterOfPuppetsLib\Trader.mq5>
2026-03-05 02:12:38 +03:00
#endif
//+------------------------------------------------------------------+