Группа "Стол заказов MQL"

Рейтинг 2088



РЕКОМЕНДУЮ



Доработка советника

Андрей, здравствуйте!
Посмотрела видео к ТЗ на советника и скачала сам советник.
zakaz.opentraders.ru/45814.html
Начала разбираться почему же он сливает. Ведь по истории стратегия реально работает в плюс.
Оказалось, что патерн в программе для советника прописан неточно.
Предполагалось вот так.

Т.е. обе свечи в обязательном порядке имеют тени.
Тень второй свечи должна быть или больше тени предыдущей свечи, или равной ей.
Но не меньше.
А тело второй свечи поглотить предыдущую свечу полностью. Вместе с тенью.
Но где-то вкралась ошибка и советник работает «не по правилам».
Сделала несколько скринов





Проверьте, пожалуйста, формулу патерна.
А также прошу добавить в настройки время от и до для работы советника.
С уважением, Антонина.
  • +2
  • Просмотров: 4206
  • 3 января 2020, 18:41
  • Antonyna
Понравилcя материал? Не забудьте поставить плюс и поделиться в социальной сети!

Вступите в группу "Стол заказов MQL", чтобы следить за обновлениями
ПРИСОЕДИНИТЬСЯ К ГРУППЕ
присоединиться
  Предыдущая запись в группе
Советник на основе зигзага и FIBO
03 января 2020
03 января 2020

Комментарии (16)

+
0
на 9-е
avatar

  34  AM2 Сообщений: 15882 - Андрей

  • 3 января 2020, 19:15
+
0
Оказалось, что патерн в программе для советника прописан неточно.


опишите паттерн точнее
avatar

  34  AM2 Сообщений: 15882 - Андрей

  • 8 января 2020, 19:41
+
0
вот <img src='http://opentraders.ru/templates/skin/g6h/images/smilies/002.gif' alt=' :) '>&nbsp; 



//+------------------------------------------------------------------+
//|                                                    Chuvachok.mq4 |
//|                                              Copyright 2020, AM2 |
//|                                      http://www.forexsyatems.biz |
//+------------------------------------------------------------------+
#property copyright "Copyright 2020, AM2"
#property link      "http://www.forexsyatems.biz"
#property version   "1.00"
#property strict

//--- Inputs
extern double Lots       = 0.1;      // лот
extern double KLot       = 2;        // умножение лота
extern double MaxLot     = 5;        // максимальный лот
extern double Fibo       = 38.2;     // фибо
extern int StopLoss      = 0;        // лось
extern int TakeProfit    = 0;        // язь
extern int Delta         = 20;       // пункты
extern int Exp           = 2;        // истечение
extern int Slip          = 30;       // реквот
extern int Magic         = 0;        // магик
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---
   Comment("");
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
   Comment("");
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void PutOrder(int type,double price,double sl=0,double tp=0)
  {
   int r=0;
   color clr=Green;

   if(type==1 || type==3 || type==5)
     {
      clr=Red;
     }

   if(type==0 || type==2 || type==4)
     {
      clr=Blue;
     }

   r=OrderSend(NULL,type,Lot(),NormalizeDouble(price,Digits),Slip,sl,tp,"",Magic,TimeCurrent()+Exp*3600,clr);
   return;
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
double Lot()
  {
   double lot=Lots;
   for(int i=OrdersHistoryTotal()-1; i>=0; i--)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY))
        {
         if(OrderProfit()>0)
            break;
         if(OrderProfit()<0)
           {
            lot=OrderLots()*KLot;
            break;
           }
        }
     }
   if(lot>MaxLot)
      lot=Lots;
   return(lot);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int CountTrades()
  {
   int count=0;
   for(int i=OrdersTotal()-1; i>=0; i--)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
        {
         if(OrderSymbol()==Symbol() && OrderMagicNumber()==Magic)
           {
            if(OrderType()<2)
               count++;
           }
        }
     }
   return(count);
  }
//+------------------------------------------------------------------+
//| Подсчет ордеров по типу                                          |
//+------------------------------------------------------------------+
int CountOrders(int type=-1)
  {
   int count=0;
   for(int i=OrdersTotal()-1; i>=0; i--)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
        {
         if(OrderSymbol()==Symbol() && OrderMagicNumber()==Magic)
           {
            if(OrderType()==type || type==-1)
               count++;
           }
        }
     }
   return(count);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
bool BuyPattern()
  {
   if(Close[1]>High[2]                // закрытие 1 > хая 2
      && Low[1]<Low[2]                // лоу 1 < лоу 2
      && Low[2]-Low[1]<=Delta*_Point) // отбой от лоу 2 свечи
      return(true);
   return(false);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
bool SellPattern()
  {
   if(Close[1]<Low[2]                   // закрытие 1 < лоя 2
      && High[1]>High[2]                // хай 1 > хай 2
      && High[1]-High[2]<=Delta*_Point) // отбой от хая 2 свечи
      return(true);
   return(false);
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
   double delta=(High[1]-Low[1])*Fibo*0.01;

   if(CountOrders()<1)
     {
      if(BuyPattern() && Bid<High[1])
         PutOrder(4,High[1],Low[1],High[1]+delta);
      if(SellPattern() && Bid>Low[1])
         PutOrder(5,Low[1],High[1],Low[1]-delta);
     }
  }
//+------------------------------------------------------------------+


Редактирован: 8 января 2020, 20:23
avatar

  34  AM2 Сообщений: 15882 - Андрей

  • 8 января 2020, 20:10
+
0
Патерн нарисован на самом первом рисунке (скрине).

1. Обе свечи ОБЯЗАТЕЛЬНО должны иметь тени.
Тень второй (поглощающей) свечи должна быть равной или длиннее тени первой (поглощаемой) свечи.

2. Первая свеча (вместе с верхней тенью) поглощается телом (без учета тени) второй свечи.

3. По тени второй (поглощающей) свечи выставляется ордер.

На скрине это цифры 1, 2, 3.

Это есть в ТЗ
avatar

  8  Antonyna Автор Сообщений: 66

  • 9 января 2020, 23:18
+
0
я все так и сделал. даже код прокомментировал:


//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
bool BuyPattern()
  {
   if(Close[1]>High[2]                // закрытие 1 > хая 2
      && Low[1]<Low[2]                // лоу 1 < лоу 2
      && Low[2]-Low[1]<=Delta*_Point) // отбой от лоу 2 свечи
      return(true);
   return(false);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
bool SellPattern()
  {
   if(Close[1]<Low[2]                   // закрытие 1 < лоя 2
      && High[1]>High[2]                // хай 1 > хай 2
      && High[1]-High[2]<=Delta*_Point) // отбой от хая 2 свечи
      return(true);
   return(false);
  }
avatar

  34  AM2 Сообщений: 15882 - Андрей

  • 9 января 2020, 23:22
+
0
В моем ТЗ после текста идут 5 скринов. На них изображение и красным текстом написано что не так делает советник. Скрины, которые в топике, наглядно показывают, что советник работает не по патерну, а как Бог на душу положит.
avatar

  8  Antonyna Автор Сообщений: 66

  • 9 января 2020, 23:43
+
0
после исправления смотрели?
avatar

  34  AM2 Сообщений: 15882 - Андрей

  • 10 января 2020, 00:11
+
0
Это скины после исправления



avatar

  8  Antonyna Автор Сообщений: 66

  • 10 января 2020, 14:01
+
0
в видео чувашова нет условия разнонаправленности свечей. там где нет сделки, не выполнилось условие по разности хвостов
avatar

  34  AM2 Сообщений: 15882 - Андрей

  • 10 января 2020, 18:01
+
0
— Как же нет условия разнонаправленности, если на самом первом скрине из видео показано, что одна свеча закрашена, а другая — нет.
И с тенями там нарисовано яснее ясного.

avatar

  11  apologetest Сообщений: 284 - Юрий

  • 10 января 2020, 18:54
+
0
далее в видео автор выбирает и однонаправленные паттерны тоже.
см. 3:45

avatar

  34  AM2 Сообщений: 15882 - Андрей

  • 10 января 2020, 19:14
+
0
Согласна, не досмотрела. Но и разнонаправленные включите, пожалуйста.
avatar

  8  Antonyna Автор Сообщений: 66

  • 10 января 2020, 20:20
+
0
Этот паттерн СПЧ мне напомнил паттерн «внешний бар». Нашел индикатор этого бара и он включает как одно- так противоположно направленные бары. Иногда движение происходит против стрелки. Если ставить стоп-ордера с обоих концов, то один наверняка сработает.

avatar

  12  sledopyt Сообщений: 151

  • 11 января 2020, 17:45
+
0
Следопыт, а как и где можно этот индикатор скачать? ))
avatar

  11  apologetest Сообщений: 284 - Юрий

  • 1 февраля 2020, 20:01
+
0
Надо скопировать название индикатора (средний) и после этого яндекс выдает несколько ссылок. Показывает внешний бар на всех таймфреймах сразу.
avatar

  12  sledopyt Сообщений: 151

  • 19 февраля 2020, 14:28
+
0
Благодарю!
avatar

  11  apologetest Сообщений: 284 - Юрий

  • 19 февраля 2020, 20:35

Зарегистрируйтесь или авторизуйтесь, чтобы оставить комментарий
Начать торговлю с Альпари