Files
All-MQL5-code/Experts/Ref/UEA/07_2540/Include/Strategy/Trailings/Trailing.mqh
T
2018-06-20 15:35:55 +02:00

64 lines
5.4 KiB
Plaintext

//+------------------------------------------------------------------+
//| Trailing.mqh |
//| Copyright 2016, Vasiliy Sokolov. |
//| http://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2016, Vasiliy Sokolov."
#property link "http://www.mql5.com"
#include <Object.mqh>
#include "..\PositionMT5.mqh"
#include "..\Logs.mqh"
class CPosition;
//+------------------------------------------------------------------+
//| Базовый класс трейлинг-стопа |
//+------------------------------------------------------------------+
class CTrailing : public CObject
{
protected:
CPosition *m_position; // Позиция, стоп-лосс которой требуется модифицировать.
CLog *Log;
public:
CTrailing(void);
void SetPosition(CPosition *position);
CPosition *GetPosition(void);
virtual bool Modify(void);
virtual CTrailing* Copy(void);
};
//+------------------------------------------------------------------+
//| Constructor. Получает модуль логирования |
//+------------------------------------------------------------------+
CTrailing::CTrailing(void)
{
Log=CLog::GetLog();
}
//+------------------------------------------------------------------+
//| Метод модификациии трейлинг-стопа, который необходимо |
//| переопределить в производном классе трейлинга |
//+------------------------------------------------------------------+
bool CTrailing::Modify(void)
{
return false;
}
//+------------------------------------------------------------------+
//| Возвращает копию экземпляра |
//+------------------------------------------------------------------+
CTrailing* CTrailing::Copy(void)
{
return new CTrailing();
}
//+------------------------------------------------------------------+
//| Sets a position, the stop loss of which should be modified |
//+------------------------------------------------------------------+
void CTrailing::SetPosition(CPosition *position)
{
m_position=position;
}
//+------------------------------------------------------------------+
//| Возвращает позицию, стоп-лосс которой требуется модифицировать |
//+------------------------------------------------------------------+
CPosition *CTrailing::GetPosition(void)
{
return m_position;
}
//+------------------------------------------------------------------+