TesterEA_by_fxsaber/Experts/fxsaber/TesterEA/TesterEA.mq4

44 lines
No EOL
1 KiB
MQL4

input int inMinPips = 0; // Минимальное колено ЗЗ (в пипсах)
input int inPeriodAvg = 0; // Период усреднения середины канала
input int inPeriodSize = 0; // Период усреднения отклонения ЗЗ от середины канала
input double inMultSize = 1; // Во сколько увеличиваем размер канала
input int inAddSize = 0; // На сколько увеличиваем размер канала (в пипсах)
#include "ZigZag.mqh"
#include "Channel_EMA.mqh"
#include "TradeChannel.mqh"
CHANNEL* const Channel = new CHANNEL_EMA(inPeriodAvg, inPeriodSize);
void System()
{
static ZIGZAG ZigZag(inMinPips);
static TRADECHANNEL TradeChannel;
static CHANNEL_UNIT ChannelUnit;
MqlTick Tick;
if (SymbolInfoTick(_Symbol, Tick) && ZigZag.Calc(Tick))
{
static const double AddSize = inAddSize * _Point;
ChannelUnit = Channel.Get(ZigZag.GetLastZZ());
ChannelUnit *= inMultSize;
ChannelUnit += AddSize;
ChannelUnit.Normalize();
}
TradeChannel.Trade(ChannelUnit);
}
void OnTick()
{
System();
}
void OnDeinit( const int )
{
delete Channel;
}