TesterEA_by_fxsaber/Experts/fxsaber/TesterEA/Channel_EMA.mqh

27 lines
No EOL
577 B
MQL5

#include "Channel.mqh"
#include "EMA.mqh"
class CHANNEL_EMA : public CHANNEL
{
private:
EMA EMA_Avg;
EMA EMA_Size;
public:
CHANNEL_EMA( const int iPeriodAvg, const int iPeriodSize ) : EMA_Avg(iPeriodAvg), EMA_Size(iPeriodSize)
{
}
virtual const CHANNEL_UNIT Get( const double Value )
{
const double Avg = this.EMA_Avg.Get(Value);
const double Size = this.EMA_Size.Get(::MathAbs(Value - Avg));
CHANNEL_UNIT ChannelUnit;
ChannelUnit.High = Avg + Size;
ChannelUnit.Low = Avg - Size;
return(ChannelUnit);
}
};