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

Рейтинг 2089



РЕКОМЕНДУЮ



Советник для грант капитал

Прошу сделать советник, для опционов, «Гранд Капитал».

Инициализация

Лот, SL и ТР на всякий случай, Майджик, настройки индикаторов, RSI, CCI, Stachostik, Money Flow Index, DeMarker, мартин (Klot), экспирация. Время работы советника.

«Все индикаторы вывожу в одно окно внизу. И ставлю руками две линии для всех индикаторов (красные) верх 75 низ 25.»
Открываем, ордер в buy, если все индикаторы ниже красного уровня 25, с условием, RSI (Маджента, толстая линия, она же фиолетовая), зафиксирована ниже уровня 10 либо равно, серой пунктирной линии. Сигнал для покупки выделен белой вертикальной линией. Все индикаторы ниже красной 25. RSI ниже 10 пунктирной серой. Открываем на новой свече. (В данном случаи, получили сигнал, вошли в рынок, 4 раза, 4 раз был в прибыли, по мартину)

Открываем в sell все то же самое, только все индикаторы выше 75 красного уровня, а RSI выше 90 либо равно. Открываем ордер при получении сигнала, после закрытия свечи.

  • 0
  • Просмотров: 2625
  • 20 июня 2017, 21:37
  • Syte
Понравилcя материал? Не забудьте поставить плюс и поделиться в социальной сети!

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

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

+
0
Зачем столько много индикаторов? Парочки достаточно будет.
avatar

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

  • 21 июня 2017, 17:45
+
0
Проверял, не хватает. В таком варианте, все работает. Добавочные индикаторы, выступают в роле фильтра. Основные RSI, MFI, DeM. Но точность маленькая. При добавке дополнительных индикаторов. Сигнал более точный. мартин тут работает гораздо реже, чем в первоначальном варианте. Мне опыта не хватает самому написать. Будет исходник, будет возможность учиться :)  Сразу две пользы.
avatar

  14  Syte Автор Сообщений: 399

  • 21 июня 2017, 17:52
+
0
Вот пример. Красная вертикальная линия построена на основе 3 индикаторов. Следующая свеча, пошла в бай. Но на гране фола. Мелко, а вот белая, на основе выше перечисленных, и свеча, больше чем в первом варианте. Из практики, по первому варианту, чаще всего, будет лось, как следствие мартин, во втором случаи, как правило сразу тейк. В общем когда добавил остальные для фильтра, депозит пошел в гору. Торговал на двух счетах, руками, результат второго варианта, в три раза выше, чем первого. От сюда сделал вывод. По первому варианту, я написал робота, он работает, но результат мелкий, чем руками по второму варианту.
avatar

  14  Syte Автор Сообщений: 399

  • 21 июня 2017, 18:00
+
0
Кидайте сюда индюки которых нет в терминале и завтра посмотрю.
avatar

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

  • 21 июня 2017, 20:10
+
0
Сделал набросок. Для рси и стоха есть уровень 25 для остальных уровни нужно прописывать другие:


//+------------------------------------------------------------------+
//|                                                        Grand.mq4 |
//|                                              Copyright 2017, AM2 |
//|                                      http://www.forexsystems.biz |
//+------------------------------------------------------------------+
#property copyright "Copyright 2017, AM2"
#property link      "http://www.forexsystems.biz"
#property version   "1.00"
#property strict

//--- Inputs
extern double Lots       = 0.1;      // лот
extern double KLot       = 2;        // умножение лота
extern double MaxLot     = 5;        // максимальный лот
extern int StopLoss      = 555;      // лось
extern int TakeProfit    = 555;      // язь
extern int RSIPeriod     = 14;       // 
extern int CCIPeriod     = 14;       // 
extern int KPeriod       = 5;        // 
extern int DPeriod       = 3;        // 
extern int Slowing       = 3;        // 
extern int Level         = 25;       // уровень индикатора
extern int Slip          = 30;       // реквот
extern int Shift         = 1;        // на каком баре сигнал индикатора
extern int Magic         = 123;      // магик
extern string Expiration = "5";      // истечение ордера

datetime t=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)
  {
   int r=0;
   color clr=Green;
   double sl=0,tp=0;

   if(type==1 || type==3 || type==5)
     {
      clr=Red;
      if(StopLoss>0) sl=NormalizeDouble(price+StopLoss*Point,Digits);
      if(TakeProfit>0) tp=NormalizeDouble(price-TakeProfit*Point,Digits);
     }

   if(type==0 || type==2 || type==4)
     {
      clr=Blue;
      if(StopLoss>0) sl=NormalizeDouble(price-StopLoss*Point,Digits);
      if(TakeProfit>0) tp=NormalizeDouble(price+TakeProfit*Point,Digits);
     }

   r=OrderSend(NULL,type,Lot(),NormalizeDouble(price,Digits),Slip,sl,tp,Expiration,Magic,0,clr);
   return;
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
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);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void OpenPos()
  {
   double rsi = iRSI(NULL,0,RSIPeriod,0,Shift);
   double cci = iCCI(NULL,0,CCIPeriod,0,Shift);
   double sto = iStochastic(NULL,0,KPeriod,DPeriod,Slowing,0,0,0,Shift);

   if(rsi<Level && sto<Level)
     {
      PutOrder(0,Ask);
     }

   if(rsi>100-Level && sto>100-Level)
     {
      PutOrder(1,Bid);
     }
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
double Lot()
  {
   double lot=Lots;

   for(int i=OrdersHistoryTotal()-1;i>=0;i--)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY))
        {
         if(OrderSymbol()==Symbol() && OrderMagicNumber()==Magic)
           {
            if(OrderProfit()<0)
              {
               lot=OrderLots()*KLot;
              }
            break;
           }
        }
     }
   if(lot>MaxLot)lot=Lots;
   return(lot);
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
   if(t!=Time[0])
     {
      if(CountTrades()<1) OpenPos();
      t=Time[0];
     }
   Comment("\n Lot: ",Lot());
  }
//+------------------------------------------------------------------+

avatar

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

  • 22 июня 2017, 18:26
+
0
Все индикаторы в терминале. Они стандартные.
avatar

  14  Syte Автор Сообщений: 399

  • 22 июня 2017, 18:45
+
0
avatar

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

  • 22 июня 2017, 20:13
+
0
А какие настройки у индюков?
avatar

  10  Shiva Сообщений: 148

  • 23 июня 2017, 09:35
+
0
Настройки выставляются пользователем.
avatar

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

  • 23 июня 2017, 17:23
+
0
Андрей огромное спасибо. За написание. Буду проверять.
avatar

  14  Syte Автор Сообщений: 399

  • 23 июня 2017, 21:22
+
0
Андрей вопрос.
Берем скажем настройку индикатора RSIPeriod первая опция период, тут все понятно, вторая уровень, но там он один. А в стратегии два уровня. Берем следующий индикатор CCI так же уровень один. Какой ставить, нижний верхний? Как быть?
Редактирован: 23 июня 2017, 21:29
avatar

  14  Syte Автор Сообщений: 399

  • 23 июня 2017, 21:29
+
0
второй уровень = 100-Level или 1-Level
avatar

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

  • 24 июня 2017, 07:48
+
0
Отлично, теперь буду знать, что так можно сделать. Сильно упрощает создание советников.
avatar

  14  Syte Автор Сообщений: 399

  • 24 июня 2017, 13:53
+
0

Не открыл сделки. Красные горизонтальные линии свечи после которых должен был открыть ордера. Сделок не было. Настройки правильные. В чем может быть проблема?
avatar

  14  Syte Автор Сообщений: 399

  • 26 июня 2017, 09:26
+
0
к сожалению линии выставленные в ручную бот видеть не будет, если только прописывать уровни в самом боте. Так наверное лучше будет)
avatar

  9  maksGruv Сообщений: 340

  • 26 июня 2017, 11:13
+
0
Как не странно, но я это знаю. По этому и написал, что настройки правильные. А картинка для наглядности, мест, где советник не выставил ордера. Есть еще варианты???? Хотя мой вопрос был адресован Андрею.
avatar

  14  Syte Автор Сообщений: 399

  • 26 июня 2017, 12:39
+
0
может проблема в размере лота?
avatar

  9  maksGruv Сообщений: 340

  • 27 июня 2017, 16:20
+
0
Если не открывает значит где то не совпало условие. Логи также посмотрите. Я сразу предупреждал что для начала надо было делать на двух а потом добавлять по одному.
avatar

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

  • 27 июня 2017, 17:49
+
0
Хм… Ок, проверю. На реале все работает отлично. Если руками торговать, а вот сова не хочет торговать. Ладно попробую разобраться.
avatar

  14  Syte Автор Сообщений: 399

  • 27 июня 2017, 19:53
+
0
Все… УРА… Я нашел ошибку. :)  При нулевом значении глобальной переменной уровня индикатора, в настройках, оно не может быть меньше. Вывод ордер не откроется, так как условие не выполнено. Изменил знак <> на равенство, и все за жужалло :) 
Пример если в настройках стоит:

extern int MFIPeriod     = 4;
extern int MFILevel      = 0;


А в
mfi<MFILevel
то работать не будет, так как mfi не может быть меньше нуля, данное условие должно быть либо нулем, либо выше нуля. В общем мой касяк, сорри. Не дав настройки, хотеть грааль :) ;) ) Благо читаю код, тем более он такой понятный, и без лишнего мусора. Я не программист, я только учусь. :) 
avatar

  14  Syte Автор Сообщений: 399

  • 27 июня 2017, 21:03
+
0
Андрей нашел один глючек. Если не сложно поправь пожалуйста. Не знаю просто как исправить. В общем, если был сигнал, и советник открыл позицию, но пошли не в нашу сторону, он увеличивает, на новой свече, и все нормально. Но бывает, после убыточной сделки, идет новая свеча, нужно увеличить и открыть ордер, а индикаторы изменились. И сигнала нету. В общем, хотелось бы видеть, после получения сигнала, открытие ордера, и последующее увеличение, на последующей свече если предыдущий ордер был убыточный. Пока не закроет в плюсе. А то бывает, 2 раза увеличил, цена продолжает расти, а индикаторы, сигнал не показывают. А спустя время когда появляется сигнал, происходит увеличение лота, на первом же сигнале, так как прошлая сделка была убыточная. Это не правильно.
avatar

  14  Syte Автор Сообщений: 399

  • 28 июня 2017, 13:06
+
+1
Посмотрю если будет свободное время.
avatar

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

  • 28 июня 2017, 17:55
+
0
Привет, Андрей. Я по тому же вопросу. Все бы ни чего, но работаю по прежнему руками *cry*  Может выделите немного времени. У меня мозгов не хватает самому исправить. Или может промер какой нибудь дадите. Я на его принципе поправлю.
avatar

  14  Syte Автор Сообщений: 399

  • 24 июля 2017, 19:23
+
0
Вот здесь отладил под бинары: zakaz.opentraders.ru/40211.html
а сигнал уже какой надо поставите.
avatar

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

  • 24 июля 2017, 21:58

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