cardon

 
Уровень 10

  Торгую в компаниях:


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

Рейтинг 2091



РЕКОМЕНДУЮ




Лучшее от cardon



дороботка сова Комментариев 68
2016-11-24 13:25:33Рейтинг 0

советник на 1 МА Комментариев 13
2016-07-29 13:57:46Рейтинг 0

просто индюк Комментариев 22
2016-09-17 11:18:53Рейтинг 0

доработка сова Комментариев 2
2017-01-09 19:57:28Рейтинг 0

сова просто сова Комментариев 19
2016-10-06 16:43:18Рейтинг 0

советник manual grid

Привет всем 0/
нужно сделать аналог советника с сайта www.mql5.com/ru/market/product/4630# советник вполне себе юзабельный, просто заканчиваются активации на него и поэтому решил создать тему.
чтоб его понять лучше поюзать ДЕМО

на графике три кнопки BUY SELL CLOSE — нажимая на бай мы открываемся в бай, селл открываем в селл, close закрыть все позиции.
лот с которым будет открыта первая позиция.
через какое количество пунктов строить сетку. (пятизнак)
коэффициент умножения для каждого следующего ордера.
тейк-профит в пунктах (пятизнак)
стоп-лосс в пунктах от первого ордера (если 0 то нет)
стоп-лосс в валюте депозита (если 0 то нет)

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

на графике выводить профит/убыток рыночных ордеров советника.
еще не в видео, не в описании этого нет, можно увидеть на демо:
если цена цепляет следующий лимитный ордер, то тейк профит подтягивается ближе, если цепляем еще ордер, то еще ближе и так по всей сетке (смотреть на демо)

сделать функцию закрытие всех ордеров по определенному профиту и от себя что нить))
что не написал смотреть по ссылке выше.:) 
Вроде все, чтоб понять лучше нужно ДЕМО.
Сроки не важны, торопится некуда, если времени нет — подождем.
  • 0
  • Просмотров: 3937
  • 5 апреля 2016, 23:26
  • cardon
Понравилcя материал? Не забудьте поставить плюс и поделиться в социальной сети!

Вступите в группу "Стол заказов MQL", чтобы следить за обновлениями
ПРИСОЕДИНИТЬСЯ К ГРУППЕ
присоединиться
  Предыдущая запись в группе
Советник-помощник для MT4
Следующая запись в группе  
Пршу сделать советник Т3_Locker на Т3
04 апреля 2016
06 апреля 2016

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

+
0
Для МТ4 делаем? Я не гарантирую что будет точно как оригинал.
avatar

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

  • 6 апреля 2016, 00:10
+
0
Вот первый блин :) 
Ставит сетку бай или селл и кроет позы и ордера:




//+------------------------------------------------------------------+
//|                                                 ManualTrader.mq4 |
//|                                              Copyright 2016, AM2 |
//|                                      http://www.forexsystems.biz |
//+------------------------------------------------------------------+

#property copyright "Copyright 2015, AM2"
#property link      "https://www.forexsystems.biz"
#property version   "1.00"

extern double Lots       = 0.1;      // лот
extern int StopLoss      = 0;        // лось
extern int TakeProfit    = 0;        // язь
extern int Step          = 300;      // шаг ордеров
extern int Count         = 5;        // количество ордеров
extern int Slip          = 3;        // реквот
extern int Magic         = 123;      // магик
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
   PutButton("B",50,50,"BUY");
   PutButton("S",150,50,"SELL");
   PutButton("C",250,50,"CLOSE");

   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
   ObjectsDeleteAll(0,OBJ_BUTTON);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void PutButton(string name,int x,int y,string text)
  {
   ObjectCreate(0,name,OBJ_BUTTON,0,0,0);

//--- установим координаты кнопки
   ObjectSetInteger(0,name,OBJPROP_XDISTANCE,x);
   ObjectSetInteger(0,name,OBJPROP_YDISTANCE,y);
//--- установим размер кнопки
   ObjectSetInteger(0,name,OBJPROP_XSIZE,80);
   ObjectSetInteger(0,name,OBJPROP_YSIZE,30);
//--- установим угол графика, относительно которого будут определяться координаты точки
   ObjectSetInteger(0,name,OBJPROP_CORNER,2);
//--- установим текст
   ObjectSetString(0,name,OBJPROP_TEXT,text);
//--- установим шрифт текста
   ObjectSetString(0,name,OBJPROP_FONT,"Arial");
//--- установим размер шрифта
   ObjectSetInteger(0,name,OBJPROP_FONTSIZE,12);
//--- установим цвет текста
   ObjectSetInteger(0,name,OBJPROP_COLOR,Red);
//--- установим цвет фона
   ObjectSetInteger(0,name,OBJPROP_BGCOLOR,White);
//--- установим цвет границы
   ObjectSetInteger(0,name,OBJPROP_BORDER_COLOR,Blue);
//--- отобразим на переднем (false) или заднем (true) плане
   ObjectSetInteger(0,name,OBJPROP_BACK,false);
//--- включим (true) или отключим (false) режим перемещения кнопки мышью
   ObjectSetInteger(0,name,OBJPROP_SELECTABLE,false);
   ObjectSetInteger(0,name,OBJPROP_SELECTED,false);
//--- скроем (true) или отобразим (false) имя графического объекта в списке объектов
   ObjectSetInteger(0,name,OBJPROP_HIDDEN,false);
//--- установим приоритет на получение события нажатия мыши на графике
   ObjectSetInteger(0,name,OBJPROP_ZORDER,0);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void PutOrder(int type,double price)
  {
   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,Lots,NormalizeDouble(price,Digits),Slip,0,0,"",Magic,0,clr);
   return;
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void ClosePos(int ot=-1)
  {
   bool cl;
   for(int i=OrdersTotal()-1;i>=0;i--)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
        {
         if(OrderSymbol()==Symbol() && OrderMagicNumber()==Magic)
           {
            if(OrderType()==0 && (ot==0 || ot==-1))
              {
               RefreshRates();
               cl=OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Bid,Digits),Slip,White);
              }
            if(OrderType()==1 && (ot==1 || ot==-1))
              {
               RefreshRates();
               cl=OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Ask,Digits),Slip,White);
              }
           }
        }
     }
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void DelOrder()
  {
   bool del;
   for(int i=OrdersTotal()-1;i>=0;i--)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
        {
         if(OrderSymbol()==Symbol() && OrderMagicNumber()==Magic)
           {
            if(OrderType()>1) del=OrderDelete(OrderTicket());
           }
        }
     }
   return;
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int CountOrders(int type)
  {
   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) count++;
           }
        }
     }
   return(count);
  }  
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {

  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void OnChartEvent(const int id,
                  const long &lparam,
                  const double &dparam,
                  const string &sparam)
  {
//--- проверим событие на нажатие кнопки мышки
   if(id==CHARTEVENT_OBJECT_CLICK)
     {
      string clickedChartObject=sparam;
      //--- если нажатие на объекте с именем "B"
      if(clickedChartObject=="B")
        {
         PutOrder(0,Ask);
         if(CountOrders(2)<1)
           {
            for(int i=1;i<Count;i++)
              {
               PutOrder(2,Ask-Step*Point*i);
              }
           }
        }

      if(clickedChartObject=="S")
        {
         PutOrder(1,Bid);
         if(CountOrders(3)<1)
           {
            for(i=1;i<Count;i++)
              {
               PutOrder(3,Bid+Step*Point*i);
              }
           }         
        }

      if(clickedChartObject=="C")
        {
         ClosePos();
         DelOrder();
        }

      ChartRedraw();// принудительно перерисуем все объекты на графике
     }
  }
//+------------------------------------------------------------------+

avatar

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

  • 6 апреля 2016, 08:36
+
0
Почему то в тестере не работают кнопки, а на демо открывает, нужно еще запрет на повторное открытие если открыты позиции то нечего кроме close не работает, а то щас можно по нескольку раз открыть во все стороны.
Понимаю что это 1 блин, но результативный)<img src='http://opentraders.ru/templates/skin/g6h/images/smilies/002.gif' alt=' :) '>&nbsp; 
ах да да для мт4.
Редактирован: 6 апреля 2016, 09:28
avatar

  10  cardon Автор Сообщений: 376

  • 6 апреля 2016, 09:28
+
0
Добавил запрет, увеличение лота, один стоп и тейк для всех поз, вывод профита на экран: www.opentraders.ru/downloads/1133/

avatar

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

  • 6 апреля 2016, 10:49
+
+1
НЕ могу пока понять смысл советника. Я понимаю если советник выставлял и стоповые ордера, то есть по тренду, это более надёжно. Чтобы закрытие было по профиту обшему и отдельно бай и сел. И трал можно прицепить. Тогда можно что то мутить, а так обычный илан, который на тренде наберёт лоты и сольётся.
avatar

  15  cashyra Сообщений: 392 - Юра

  • 6 апреля 2016, 15:33
+
0
так дело в том, что мы сами входим, не советник по сигналам, а мы сами по своему сигналу, который видит глаз. мы не войдем против тренда (по крайней мере постараемся не войти)
нужен еще стоп в валюте депозита, допустим мы набрали определенное отрицательное значение и советник закрыл все позиции.
avatar

  10  cardon Автор Сообщений: 376

  • 6 апреля 2016, 16:59
+
0
советник который закрывает минусовые ордера, это советник который будет сливать, потому что всегда минусовых ордеров больше чем плюсовых. Надо добавить то что я написал, тогда ещё есть шанс.
avatar

  15  cashyra Сообщений: 392 - Юра

  • 6 апреля 2016, 18:34
+
0
то что вы написали есть в свободном доступе, могу дать ссылки, здесь мы строим совершенно другое если есть предложения по вашей идеи, то создайте тему.
avatar

  10  cardon Автор Сообщений: 376

  • 6 апреля 2016, 20:49
+
0
я так понимаю, уже можно напильником обрабатывать?

нужно добавить функцию — SL в валюте депозита (закрытие всех ордеров если убыток превысил заданное значение)
перенести профит на графике в правый угол, сделать чуток покрупнее, менять цвет — зеленый в плюс, красный в минус.

также вопрос что за функция Maxlot как не менял, не как не влияет.
еще было замечено, что если сменить в настройках лот, то он откроет первый раз со старым лотом, нужно нажать клоз, тогда ставит новые.
Редактирован: 7 апреля 2016, 10:08
avatar

  10  cardon Автор Сообщений: 376

  • 7 апреля 2016, 09:56
+
0
нужно добавить функцию — SL в валюте депозита (закрытие всех ордеров если убыток превысил заданное значение)
перенести профит на графике в правый угол, сделать чуток покрупнее, менять цвет — зеленый в плюс, красный в минус.


Посмотрите в варианте как есть все работает? Если нормально, как появится свободное время буду еще смотреть.
avatar

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

  • 7 апреля 2016, 10:06
+
0
все работает, только если сменить лот, то он откроет первый раз со старым лотом, хотя стоит другой, например начальный лот был 0,01 поставили 0,02 нажимаем бай или селл и откроется сперва снова 0,01 а уже если его отменить то все как надо. могу снять видео если не совсем понятно.
avatar

  10  cardon Автор Сообщений: 376

  • 7 апреля 2016, 10:13
+
0
обнаружен косячек, советник иногда выстовляет лишние ордера, причем не всегда, в начале он кидает сетку нормальную, спустя какое то время может выставить на любой ордер сетки дополнительные ордера, причем не как на скрине, а на каждый, на скрине показаны два лишних ордера, которые выставились где-то минут через 15


Редактирован: 7 апреля 2016, 12:23
avatar

  10  cardon Автор Сообщений: 376

  • 7 апреля 2016, 11:47
+
0
только если сменить лот, то он откроет первый раз со старым лотом, хотя стоит другой, например начальный лот был 0,01 поставили 0,02 нажимаем бай или селл и откроется сперва снова 0,01 а уже если его отменить то все как надо.


Я поставлю на демо погоняю тоже.
avatar

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

  • 7 апреля 2016, 17:30
+
0
Добавил крупный профит, антилишние ордера и закрытие по лосю в рублях.
www.opentraders.ru/downloads/1133/

avatar

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

  • 7 апреля 2016, 18:22
+
0
установил и при первом броске на график получил такое, после закрытия ордеров на клоз, следующие выставились нормально.


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

avatar

  10  cardon Автор Сообщений: 376

  • 7 апреля 2016, 18:36
+
0
также хотел спросить, за что отвечает параметр MaxLot на скрине, как его не менял нечего не меняется.


MaxLot чтобы не выставил сто тыщ милилионов лотов :) 
avatar

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

  • 7 апреля 2016, 21:24
+
0
Поправил с лотами: www.opentraders.ru/downloads/1133/
avatar

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

  • 7 апреля 2016, 21:33
+
0
пропал коофицент умножения лота
avatar

  10  cardon Автор Сообщений: 376

  • 8 апреля 2016, 09:22
+
0
лишние ордера по прежнему ложатся




Редактирован: 8 апреля 2016, 09:59
avatar

  10  cardon Автор Сообщений: 376

  • 8 апреля 2016, 09:58
+
0
еще нашел неисправность, если ставим закрывать по валюте депозита, то он закрывает только рабочие ордера, а лимитники так и продолжают висеть.
avatar

  10  cardon Автор Сообщений: 376

  • 8 апреля 2016, 11:44
+
0
пропал коофицент умножения лота

Появился :) 
лишние ордера по прежнему ложатся

Когда это происходит?

еще нашел неисправность, если ставим закрывать по валюте депозита, то он закрывает только рабочие ордера, а лимитники так и продолжают висеть.

Исправил
www.opentraders.ru/downloads/1133/
avatar

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

  • 8 апреля 2016, 18:58
+
0
а можно сделать чтоб в тестере тестить, а то так трудно найти, ждешь ждешь, отвлеся и на те втрой ордер сверху, но не всегда. а в тестере не тестится.
avatar

  10  cardon Автор Сообщений: 376

  • 8 апреля 2016, 19:19
+
0
У меня простоял несколько часов, все нормально никаких лишних ордеров:

avatar

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

  • 8 апреля 2016, 22:04
+
0
а у меня вот


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

  10  cardon Автор Сообщений: 376

  • 8 апреля 2016, 22:31
+
0
короче интересный глюк какой то, ставит все нормально как и должно, а спустя время вот такое он меняет лоты и ложит еще сверху другие, а почему цена одна и таже у всех я вообще не понимаю.в место 0,08 стало 0,03 и 0,04
может у меня терминал глючит?)))


Редактирован: 8 апреля 2016, 22:52
avatar

  10  cardon Автор Сообщений: 376

  • 8 апреля 2016, 22:51
+
0
нельзя сделать что можно было тестить в тестере, для дальнейшего анализа?
avatar

  10  cardon Автор Сообщений: 376

  • 10 апреля 2016, 15:49
+
0
Сделал чтобы торговал в тестере, на этом объем работы для бесплатного заказа исчерпан.
www.opentraders.ru/downloads/1133/


Редактирован: 11 апреля 2016, 00:27
avatar

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

  • 11 апреля 2016, 00:01
+
0
он все равно не торгует в тестере, я просил тестер лишь чтоб выявить ошибку, когда идет наложения ордеров, ведь все написано то что нужно, нечего не надо, просто найти причину наложения ордеров друг на друга(
avatar

  10  cardon Автор Сообщений: 376

  • 11 апреля 2016, 11:50
+
0
вот так он выставил мне бай — первый лот 0,01, это не всегда, но бывает.((


после я закрыл и открыл снова, он выставил, с начальным лотом 0,02, хотя стоит 0,01


это же не моя прихоть, не было бы ошибки я бы не просил больше не чего, все устраивает, кроме наложения и неправильной расстановки.
Редактирован: 11 апреля 2016, 12:20
avatar

  10  cardon Автор Сообщений: 376

  • 11 апреля 2016, 12:15
+
0
Если не получается быстро сделать это к платному.
avatar

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

  • 11 апреля 2016, 19:48
+
0
доделайте хотя бы тестер, он не тестится все равно, мб не та версия?
avatar

  10  cardon Автор Сообщений: 376

  • 11 апреля 2016, 20:04
+
0
avatar

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

  • 12 апреля 2016, 00:00

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