TesterEA_by_fxsaber/Experts/fxsaber/TesterEA/TesterEA.mq4

44 lines
1 KiB
MQL4
Raw Permalink Normal View History

input int inMinPips = 0; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> (<28> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
input int inPeriodAvg = 0; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
input int inPeriodSize = 0; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
input double inMultSize = 1; // <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
input int inAddSize = 0; // <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<28> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
#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;
}