Шаблон для торговли на форекс

Данный шаблон предназначен для общих целей создания экспертов, в этом шаблоне заложены самые важные и 

необходимые функции работы с экспертом 

Среди возможностей данного шаблона есть:
1. Использование / НЕ использование – Стоплоссов / Тейкпрофитов
2. Использование / НЕ использование – Торговли по времени
3. Использование / НЕ использование – MarketWatch технологии ведении торговли (включение – Только для знающих)
4. Использование / НЕ использование – Отложенных ордеров / позиций по рынку – на выбор
5. Использование / НЕ использование – Автолота, либо же использование фиксированного лота
6. Использование / НЕ использование – Закрытия позиций по обратному сигналу

eToro - Popular Investor

7. Использование / НЕ использование – Трейлингстопа

ВНИМАНИЕ!!! КОД ПОЛНОСТЬЮ ОТКРЫТЫЙ И КОММЕНТИРОВАННЫЙ

 

В этом шаблоне заложены самые важные и необходимые функции работы с экспертом.

Автолот(Расчет лота от текущего баланса) Мани менеджмент Работа по времени(Ограничение работы советника по времени торговли); Трейлингстоп(Стандартный, с алгоритмом “Только профитные”); Трейлингстоп по ПАРАБОЛИКу ; MarketWatch ECN(Работа на счетах групп ECN NDD); Функции обработки ошибок для реальных счетов; Блок закрытия по общей прибыли и убытку с возможностью отключить все советники на счете; Безубыток(Установка стоплоссов на нулевой уровень); Мартингейл(Увеличения следующего лота, после убыточной позиции); Работа исключительно по сигналам индикатора(Сигнал – открытие, Сигнал – закрытие противоположного ордера – открытие ); Закрытие противоположного сигнала, при смене сигнала; Функция “РЕВЕРС”, переворот сигналов Вашей стратегии; Работа на отложенных ордерах / работа на позициях; Блок работы усреднения;  Описание Блок работы траллингстопа на откатах  Описание

Введение

Многие трейдеры сталкивалось с проблемой написания своих экспертов.

С чего начать?
Как задать в коде советника тейк-профит, стоп-лосс или трейлинг-стоп?
Как проверить стратегию на работоспособность?
Вы не хотите заказывать у программиста то, что уже давно сделано до Вас?

Вы нашли похожую стратегию и желаете ее улучшить?

Как программист хочу сказать, что каждый 3 заказ похож на предшественника по своей логике.
Такие заказы выполняются как правило дешевле.
 

Каждый программист имеет в своем наборе ряд функций и библиотек для написания советников и пользуется

 ими при написании того или иного заказа.

Благодаря данной статье и шаблону, Вы сами сможете написать свой первый код на языке MQL4.

Шаблон советника для автоматической торговли

Данный шаблон предназначен для общих целей создания экспертов, в этом шаблоне заложены самые

 важные и необходимые функции работы с экспертом

Среди возможностей данного шаблона есть:

Использование / НЕ использование – Стоплоссов / Тейкпрофитов
Использование / НЕ использование – Торговли по времени

Использование / НЕ использование – MarketWatch технологии ведении торговли

 (включение – Только для знающих)
Использование / НЕ использование – Отложенных ордеров / позиций по рынку – на выбор
Использование / НЕ использование – Автолота, либо же использование фиксированного лота
Использование / НЕ использование – Закрытия позиций по обратному сигналу

Использование / НЕ использование – Трейлингстопа

Внешние параметры шаблона:  

Параметр Обозначение Indicator ” Настройки индикатора”; FastEMA Пример для вывода внешних параметров индикатора в шаблон SlowEMA   SignalSMA   trade Настройки торговли CorectStopLevelwServers Корректировка значений стопов StopLoss TakeProfit StopOrderDeltaifUSE TrailingStop на минимально возможный уровень, при этом параметры следует установить на -1 Magic Магический номер StopLoss Стоплосс, 0 – не используется TakeProfit Тейкпрофит, 0 – не используется Slippage Проскальзывание MarketWatch Режим торговли по MarketWatch true = сначала выставляются позиции/ордера без стопов, потом происходит модификация – для некоторых брокеров StopOrderUSE Использовать Отложенные ордера StopOrderDeltaifUSE Дистанция для отложенных ордеров ClosePosifChange Закрывать позиции при обратном сигнале ONlyOnePosbySignal Играть только или бай и / или селл 1 позицией autolot “Настройки автолота”; Lots Фиксированный лот DynamicLot Динамический лот LotBalancePcnt % от депозита MinLot Минимальный лот при расчете MaxLot Максимальный лот при расчете timetrade “Настройки времени торговли”; OpenHour Час открытия торгов OpenMinute Минута открытия торгов CloseHour Час закрытия торгов CloseMinute Минута закрытия торгов Trailing “Настройки трейлингстопа”; TrailingStopUSE Использовать трейлингстоп IfProfTrail Использовать только дял профитных позиций – режим безубытка TrailingStop Дистанция трейлинга = 0 – минимально допустимый TrailingStep Шаг дистанции

Список функций используемых в шаблоне

// Работа по времени

bool TDt(string CloseHour,string CloseMinute,string OpenHour,string OpenMinute)

// Удаление отложенных ордеров

bool DxO(string sy=””,int op=-1,int mn=-1,datetime ot=0)
 

// Модификация позиций/ордеров

void ModifyOrder(double pp=-1,double sl=0,double tp=0,datetime ex=0)
 

// Наличие отложенных ордеров

bool ExO(string sy=””,int op=-1,int mn=-1,datetime ot=0)

// Установка отложенного ордера

nt SetOrder(string sy,int op,double ll,double pp, double sl=0,double tp=0,int mn=0,datetime ex=0,string lsComm=””)

// Возвращает флаг удачного выбора позиции по тикету

bool SBT(int ti,string sy=””,int op=-1,int mn=-1)

// Открытие позиции по рынку

int OPs(string sy,int op,double ll,double sl=0,double tp=0,int mn=0,string coomment=””)

// Наличие позиций по рынку

bool EPs(string sy=””,int op=-1,int mn=-1,int ticket=0)

// Автолот

double GetSizeLot()
 

// Удаление 1 предварительно выбранной позиции

void CPBS()
 

// Удаление позиций по рынку

void CPD(string sy=””,int op=-1,int mn=-1)

// Описание : Сопровождение позиций простым тралом

void SimpleTrailing(string sy=””,int op=-1,int mn=-1)

 

int IndicatorSignal()
  {
   int Sig=0;    double ExampleMA=iMA(Symbol(),0,20,0,MODE_SMA,PRICE_CLOSE,shift); // Пример Вызова МА
   double ExampleADX=iADX(Symbol(),0,34,PRICE_CLOSE,MODE_MAIN,shift);// Пример Вызова АДХ
   double ExampleCustom=iCustom(Symbol(),0,”Moving Averages”,20,0,MODE_SMA,shift); // Пример вызова пользовательского индикатора                                                                                    //Указываем Сигналы на закрытие:
   if( ExampleMABid)Sig=3; // Если МА выше цены БИД – закрываем в бай    if(Sig==3 &&  EPs(Symbol(),OP_BUY,Magic))CPD(Symbol(),OP_BUY,Magic);
   if(Sig==4 &&  EPs(Symbol(),OP_SELL,Magic))CPD(Symbol(),OP_SELL,Magic); //Указываем Сигналы на открытие:
   if( ExampleMABid)Sig=2; // Если МА выше цены БИД – открываемся в селл    StringInd=”nn”
             +”n”+”ExampleMA=”+ExampleMA
             +”n”+”Bid=”+Bid
             ;
   Comment(StringInd); // 1 – бай  2 – селл, 3 – закрытие бай, 4 – закрытие селл
   return(Sig);
  }

в Данном блоке и следует задавать свои сигналы для торговли. В качестве примера здесь приведен пример использования индикатора MA

Больше примеров кода для вызова индикаторов.

Заключение  

Данная статья и шаблон поможет новичкам в создании своих первых экспертов, 

исчезнут вопросы на форумах 

– как сделать простейшие системы торговли, а программисты смогут взять этот 

шаблон для разработки своих сложных систем.

Шаблон для торговли на форекс – Видео