Советники: CCI and Martin

 

CCI and Martin:

Советник использует значение индикатора iCCI (Commodity Channel Index, CCI) на последних четырех барах и цены Open и Close на последних трех барах. При этом сигнал на открытие позиции проверяется, если до закрытия текущего бара остается менее 20 секунд (отмечу, что такое решение встречается очень редко) и если на данный момент нет ни одной позиции открытой данным советником.


Условия открытия позиций

//--- BUY
   if(cci[1]<5 && cci[2]<cci[3] && cci[1]<cci[2] && cci[0]>cci[1] && 
      Open[2]>Close[2] && Open[1]>Close[1] && Open[0]<Close[0] && Open[1]<Close[0])

//--- SELL
   if(cci[1]>-5 && cci[2]>cci[3] && cci[1]>cci[2] && cci[0]<cci[1] && 
      Open[2]<Close[2] && Open[1]<Close[1] && Open[0]>Close[0] && Open[1]>Close[0])

где:

  • cci[] - массив значений индикатора CCI;
  • Open[] и Close[] - массивы цен открытия и закрытия соответственно.


Основные торговые настройки

  • Lots - объем позиций постоянный (если отключены мартингейл и пошаговое увеличение объема) или же это начальный лот для мартингейла и пошагового увеличения объема;
  • Stop Loss - Стоп Лосс ("0.0" → выключение параметра);
  • Take Profit - Тейк Профит ("0.0" → выключение параметра);
  • Trailing Stop - трейлинг ("0.0" → выключение параметра);
  • Trailing Step - шаг трейлинга.


Настройки индикатора CCI

  • CCI: averaging period - период усреднения;
  • CCI: type of price - тип цены, на основании которой рассчитывается индикатор.


Объем позиций

Может задаваться одним из способов:

  • постоянный лот (Lots);
  • мартингейл (Use martingale);
  • пошаговое увеличение объема (Use step by step).
Внимание: не допускается одновременное использование мартингейл и пошаговое увеличение объема! Необходимо выбрать какой-то один способ или отключать оба.

Подробнее о двух последних способах задания объема позиций:


Мартингейл

Применяется только в случае наличия в торговой истории убыточной позиции (или позиций). Основные настройки:

  • Use martingale - флаг использовать Мартингейл;
  • Martingale coefficient - коэффициент увеличения объема позиции;
  • Ordinal number of the losing trade - порядковый номер убыточной сделки, начиная с которой будет производится увеличение объема;
  • Maximum number of multiplications - максимальное количество увеличений объема позиций подряд.


Пошаговое увеличение объема

Может применяться или к серии убыточных или к серии прибыльных позиций. Основные настройки:

  • Use step by step - флаг использовать пошаговое увеличение лота;
  • Step lots - шаг увеличения объема позиции;
  • Maximum lots - максимальный объем который можно использовать при пошаговом увеличении лота;
  • Use step after... - применять пошаговое увеличение объема после:
    • ... losing - убыточной сделки;
    • ... profitable - прибыльной сделки.

При использовании мартингейла кроме параметров мартингейла также важно подобрать параметры Stop Loss, Take Profit, Trailing Stop и Trailing Step.

Параметры по-умолчанию, пара EURUSD M15, начальный депозит $1000:

CCI and Martin


Автор: Vladimir Karputov

 
При этом сигнал на открытие позиции проверяется, если до закрытия текущего бара остается менее 20 секунд (отмечу, что такое решение встречается очень редко)
А где это в коде можно увидеть?
 
Igor Nistor:
А где это в коде можно увидеть?

Вот место, где определятся количество секунд:

//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
//---
   if(!IsPositionExists())
     {
      MqlDateTime STimeCurrent;
      TimeToStruct(TimeCurrent(),STimeCurrent);
      if(STimeCurrent.sec<40)
         return;
      //---
      double cci[];
      ArraySetAsSeries(cci,true);
      MqlRates rates[];
      ArraySetAsSeries(rates,true);
...

если секунд меньше 40, то просто выходим.


Данное изменение включено в версии 1.002 (нужно дождаться перепубликации).

 
Спасибо!
 

Уважаемые Владимир Карпутов и Barabashkakvn,

Прежде всего, я хотел бы поблагодарить вас обоих за то, что вы поделились своим советником.

Я хотел бы спросить о входных параметрах "Inp_ma_period" и "Inp_applied_price".

Означает ли это, что ваш советник также использует скользящую среднюю?

Спасибо.

 
TraderFX Bandung :

Уважаемые Владимир Карпутов и Барабашкаквн,

Прежде всего, я хотел бы поблагодарить вас обоих за то, что вы поделились своим советником.

Я хотел бы спросить о входных параметрах "Inp_ma_period" и "Inp_applied_price".

Означает ли это, что ваш советник также использует скользящую среднюю?

Спасибо.

Нет. Данный советник не использует индикатор Moving Average. Этот советник использует индикатор iCCI.

Условные обозначения - см. в справке по iCCI:

int  iCCI( 
   string              symbol,            // имя символа 
   ENUM_TIMEFRAMES     period,            // период 
   int                 ma_period,         // период усреднения 
   ENUM_APPLIED_PRICE  applied_price      // тип цены или ручки 
   );
 

Forum on trading, automated trading systems and testing trading strategies

Experts: CCI and Martin

Victor Volovin, 2018.12.09 19:15

Привет. Установил возможным количеством позиций увеличения объема подряд равным 1 . Советник увеличивает три раза.



В чем может быть причина?


 
Отложено: https://www.mql5.com/ru/forum/266389#comment_9821442
Советники: CCI and Martin
Советники: CCI and Martin
  • 2018.07.18
  • www.mql5.com
CCI and Martin: Автор: Vladimir Karputov...
 

Forum on trading, automated trading systems and testing trading strategies

Experts: CCI and Martin

Victor Volovin, 2018.12.09 19:50

Не работает увеличение лота после убыточной сделки



 
Victor Volovin:

Так может стоит включить блок "Use martingale" чтобы заработало?

 
Vladimir Karputov:

Так может стоит включить блок "Use martingale" чтобы заработало?

На скрине видно, что мартингейл отключен.