Советник работает только рыночными ордерами.
Через заданный промежуток времени выставляются buy и sell ордера.
Если ордер выставляем против тренда, то лот увеличивается в K раз от предыдущего.
Начальный шаг (Step) так же может быть увеличен против тренда, если кол-во ордеров против тренда превышает OrderStepUp.
Общее кол-во ордеров против тренда ограничено параметром OrdersMax.
Ордера закрываются, когда оба направления одновременно превысят прибыль MinProfit.
Можно выставлять от 0, прибыль по одному из направлений всегда выше 0, так, что при общем закрытии все равно прибыль неизбежна.
Если общее кол-во ордеров превышает OrderCloseAll, то закрытие идет по суммарному профиту, и в этом случае MinProfit желательно установить больше 0, так как при закрытии с рынка возможно проскальзывание и закрытие в минус.
Параметр CloseBy=true я рекомендую использовать только на счетах не использующих ребайт выплаты. При этом сделки закрываются встречно, что снижает спред.
Параметры:
- Код: Выделить всё
extern bool BUY = true; //разрешить buy
extern bool SELL = true; //разрешить sell
extern int Step = 15; //расстояние между ордерами (в пунктах)
extern double Lots = 0.0; //если=0 то лот будет расчитан как процент от свободных средств по RiskPercent %
extern double RiskPercent = 0.01; //Lots = AccountBalance() * (RiskPercent / 100.0) / MARGINREQUIRED
extern double MinProfit = 1.0; //мнимальный профит закрытия серии
extern double K = 1.5; //умножение последующих лотов и шагов
extern bool CloseBy = false; //встречное закрытие ордеров (если счет не использует ребайт выплаты)
extern int OrderCloseAll = 0; //закрывать по суммарному профиту после 20 ордеров
extern int OrderStepUp = 100; //против тренда ордеров больше допустимого, увеличиваем шаг
extern int OrdersMax = 100; //максимальное число ордеров против тренда
extern string _____________ = "";
extern int Magic = 2012;
extern bool DrawInfo = true; //вывод информации на экран
extern int font_size = 12; //размер шрифта
extern color text_color = Aqua; //цвет вывода информации
extern int DigitsLot = 2; //округление лотов ордеров 1- десятые (0.1) 2 сотые (0.01)
extern int slippage = 3;
extern string comment = "cm-Trend"; //коментарии ордерам
Пример работы:
Примеры тестов:
Если у Вас не установлена библиотека msvcr100d.dll, установите ее в C:WINDOWSsystem32