//+------------------------------------------------------------------+ //| TradeContext.mqh | //| Copyright 2026, MasterOfPuppets | //| https://forge.mql5.io/masterofpuppets/mql5 | //+------------------------------------------------------------------+ #ifndef MASTER_OF_PUPPETS_LIB_TRADE_CONTEXT_MQH #define MASTER_OF_PUPPETS_LIB_TRADE_CONTEXT_MQH #include #include #include #property copyright "Copyright 2026, MasterOfPuppets" #property link "https://forge.mql5.io/masterofpuppets/mql5" //+------------------------------------------------------------------+ //| Trade context class | //+------------------------------------------------------------------+ class TradeContext { private: CPositionInfo *m_positionInfo; CSymbolInfo *m_symbolInfo; CTrade *m_trade; public: TradeContext() : m_positionInfo(NULL), m_symbolInfo(NULL), m_trade(NULL) {} void Init(CPositionInfo &srcPositionInfo, CSymbolInfo &srcSymbolInfo, CTrade &srcTrade) { m_positionInfo = GetPointer(srcPositionInfo); m_symbolInfo = GetPointer(srcSymbolInfo); m_trade = GetPointer(srcTrade); } CPositionInfo* GetPositionInfo() const { return m_positionInfo; } CSymbolInfo* GetSymbolInfo() const { return m_symbolInfo; } CTrade* GetTrade() const { return m_trade; } }; #endif //+------------------------------------------------------------------+