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

Рейтинг 1342



РЕКОМЕНДУЮ




Лучшее от waterfall



Советник скальпер. Комментариев 1
2018-04-04 14:39:04Рейтинг 0

Советник удаления ордеров.

Прошу написать советник для удаления открытых ордеров.
Советник использует один индикатор:super-signals-channel
yadi.sk/d/-NSPgF8HBKxyTw
Код индикатора вписать в код советника, настройки индикатора вывести в настройки советника.
Название советника:SSC_Killer
В настройках советника должны быть следующие функции:
Magic: с каким магиком ордеров будет работать советник (если 0 с ручными)
Отобразить или скрыть изображение индикатора на графике (falce/trye)
Ордера которые выйдут за границы канала (_буфер 0_буфер 1), советником удаляются.
Поправки приветствуются… Спасибо.
  • 0
  • Просмотров: 1518
  • 1 ноября 2018, 01:24
  • waterfall
Понравилcя материал? Не забудьте поставить плюс и поделиться в социальной сети!

Вступите в группу "Стол заказов MQL", чтобы следить за обновлениями
ПРИСОЕДИНИТЬСЯ К ГРУППЕ
присоединиться
  Предыдущая запись в группе
Робот на основе Дивиргенции RSX
Следующая запись в группе  
ручной сетка бот с общим б\у
31 октября 2018
01 ноября 2018

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

+
0
на 7-е
avatar

  27  AM2 Сообщений: 8520 - Андрей

  • 1 ноября 2018, 17:33
+
0
Ок! Спасибо.
Просьба вывести параметры индикатора в настройки советника, в одну строку.
На скриншоте выведены цифровые настройки индикатора:super-signals-channel
yadi.sk/d/TepObzTK8S3Pbw
Переменную:_O_iCustomParam
__Прописать:_O_SSR_Killer
P.S. просьба обоснована тем что возможно при модификации советника
таких переменных будет две строки с разными настройками.
avatar

  8  waterfall Автор Сообщений: 73

  • 2 ноября 2018, 19:08
+
0
покажите на скринах что и когда удаляется
avatar

  27  AM2 Сообщений: 8520 - Андрей

  • 7 ноября 2018, 19:58
+
0
готово:




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

extern int dist=24;
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---

//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---

  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void PutTrendLine(string name,datetime time1,double price1,datetime time2,double price2,color clr)
  {

   ObjectDelete(0,name);
   ObjectCreate(0,name,OBJ_TREND,0,time1,price1,time2,price2);
//--- установим цвет линии 
   ObjectSetInteger(0,name,OBJPROP_COLOR,clr);
//--- установим стиль отображения линии 
   ObjectSetInteger(0,name,OBJPROP_STYLE,0);
//--- установим толщину линии 
   ObjectSetInteger(0,name,OBJPROP_WIDTH,1);
//--- включим (true) или отключим (false) режим продолжения отображения линии вправо 
   ObjectSetInteger(0,name,OBJPROP_RAY_RIGHT,0);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
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(type==0 || type==2 || type==4)
     {
      clr=Blue;
     }

   r=OrderSend(NULL,type,0.1,NormalizeDouble(price,Digits),0,0,0,"",0,0,clr);
  }
//+------------------------------------------------------------------+
//| Подсчет ордеров по типу                                          |
//+------------------------------------------------------------------+
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())
           {
            if(OrderType()==type || (OrderType()>=0 && type==-1)) count++;
           }
        }
     }
   return(count);
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
   double hi = High[iHighest(NULL,0,MODE_HIGH,dist,0)];
   double lo = Low[iLowest(NULL,0,MODE_LOW,dist,0)];

   if(OrdersTotal()<1 && IsTesting())
     {
      if(CountOrders(2)<1) for(int i=1;i<5;i++) PutOrder(2,Bid-100*Point*i);//buylimit
      if(CountOrders(3)<1) for(int i=1;i<5;i++) PutOrder(3,Bid+100*Point*i);//selllimit
     }

   bool del;
   for(int i=OrdersTotal()-1;i>=0;i--)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
        {
         if(OrderSymbol()==Symbol())
           {
            if(OrderType()>1 && (OrderOpenPrice()>hi || OrderOpenPrice()<lo)) del=OrderDelete(OrderTicket());
           }
        }
     }

   PutTrendLine("up",Time[0],hi,Time[dist],hi,Red);
   PutTrendLine("dn",Time[0],lo,Time[dist],lo,Lime);
  }
//+------------------------------------------------------------------+

avatar

  27  AM2 Сообщений: 8520 - Андрей

  • 7 ноября 2018, 20:45
+
0
Спасибо, но как он работает не понятно.
На скрине не хочет закрывать открытый ордер который вышел за рамки канала.
avatar

  8  waterfall Автор Сообщений: 73

  • 7 ноября 2018, 23:00
+
0
Советник не должен открывать ордера, он только закрывает ордера.
На скрине показан алгоритм удаления открытого ордера сторонним советником.
Наш советник нужно привязать к чужим ордерам по магику.
На скрине показано как должен закрываться ордер открытый сторонним советником или открытым вручную.
Прошу ввести возможность менять цвет отображения канала.
Ну как то так.
avatar

  8  waterfall Автор Сообщений: 73

  • 8 ноября 2018, 11:37
+
0
Ордера которые выйдут за границы канала (_буфер 0_буфер 1), советником удаляются

так я и сделал :)  если удаляются значит открыт отложенный ордер.

а теперь вы пишете что, нужно закрывать открытые позиции *pardon* 

Советник не должен открывать ордера, он только закрывает ордера.

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

  27  AM2 Сообщений: 8520 - Андрей

  • 8 ноября 2018, 17:56
+
0
смотрите сейчас закрывает: www.opentraders.ru/downloads/2160/

avatar

  27  AM2 Сообщений: 8520 - Андрей

  • 8 ноября 2018, 20:23
+
0
Спасибо. Возможно я не правильно сформулировал ТЗ.
Я имел ввиду, что советник будет удалять уже открытые ордера за пределами канала.
Сейчас на демо счете советник удалил открытый ордер за пределами канала.
Начало хорошее, но нужно потестить.
Теперь нужно привязать удаленку к магику, а при значении НОЛЬ пусть удаляет все подряд.
avatar

  8  waterfall Автор Сообщений: 73

  • 8 ноября 2018, 22:17
+
0
Здравствуйте.
После тестирования советника, вердикт: советник
не рабочий, упрощенный вариант с одной настройкой.
Возможно ТЗ не правильно изложил.
avatar

  8  waterfall Автор Сообщений: 73

  • 20 ноября 2018, 23:09
+
0
Пробуйте, тестируйте — www.opentraders.ru/downloads/2170/
avatar

  13  Andrju81 Сообщений: 190 - Андрей

  • 21 ноября 2018, 22:15
+
0
Спасибо за отклик. На графике Demo счета MT4
Советник:SSC_Killer Идентификатор. 0-все ордера.(параметр dist=46)
Индикатор:super-signals-channel (параметр dist=46)
Ордер за пределами канала удалять не хочет...
avatar

  8  waterfall Автор Сообщений: 73

  • 22 ноября 2018, 12:07
+
0
Исправил — www.opentraders.ru/downloads/2170/
avatar

  13  Andrju81 Сообщений: 190 - Андрей

  • 22 ноября 2018, 15:11
+
0
К сожалению без изменений. Для информации.
Сторонний советник открыл сетку ордеров.
Сетка из трех ордеров (первый ордер кандидат на удаление)
Может поможет Вам это в написании кода. Я не спец.
avatar

  8  waterfall Автор Сообщений: 73

  • 22 ноября 2018, 16:23
+
0
Скрины покажите с вкладками «Эксперты» и «Журнал» как я это сделал. У меня закрывает ордера, как Вы можете заметить по скрину. Пробуйте установить Magic в этом советнике такой же как и у советника который открывает ордера.
Редактирован: 22 ноября 2018, 16:36
avatar

  13  Andrju81 Сообщений: 190 - Андрей

  • 22 ноября 2018, 16:30
+
0
Журнал

Эксперты

Магик не помогает.

Предлагаю сделать советник.
Добавить лот
Зеленая стрелка Ваy
Красная стрелка Sell
(открывать ордера с открытия второго бара на каждую перерисовку стрелок)
Закрываем ордера по алгоритму SSC_Killer
Прогнать советник на тестере истории.
Возьметесь? и спасибо за участие в заказе.
avatar

  8  waterfall Автор Сообщений: 73

  • 22 ноября 2018, 18:39
+
0
Не знаю почему у Вас не работает, но у меня все работает, закрывает ордера открытые вручную и с помощью советников, в данном примере с помощью панели:


Редактирован: 22 ноября 2018, 19:27
avatar

  13  Andrju81 Сообщений: 190 - Андрей

  • 22 ноября 2018, 18:50
+
0
Скрин от 22 ноября 2018, 12:07 где ордер не хочет удалять.
Попробую как у Вас минутный график с панели
Позже отпишусь… до связи
avatar

  8  waterfall Автор Сообщений: 73

  • 22 ноября 2018, 19:27
+
0
Скрин нужно делать с графиком и в момент когда ордер должен быть закрыт.
Еще удалите из папки Experts все файлы с названием SSC_Killer и скопируйте исправленный советник заново в эту папку.
Редактирован: 22 ноября 2018, 19:44
avatar

  13  Andrju81 Сообщений: 190 - Андрей

  • 22 ноября 2018, 19:29
+
0
Ок! Ордер который не хочет удалять был открыт 2018.11.19.17:00:01
Терминал периодически выключается.
Нужно что бы удалял в любом случае если ордер в данный момент времени в не канала.
avatar

  8  waterfall Автор Сообщений: 73

  • 22 ноября 2018, 20:53
+
0
Так и есть! Я Вам два скрина показал с журналом советника когда он закрывает ордера, первый с открытым ордером вручную второй с помощью советника(панель это тот же советник). Все настройки по умолчанию.
Редактирован: 22 ноября 2018, 21:07
avatar

  13  Andrju81 Сообщений: 190 - Андрей

  • 22 ноября 2018, 21:06
+
0
Есть вопрос по Вашему скрину.
Ваш ордер #271736220 вне канала и не закрыт. (почти мой случай)
Как понять? с настройками по умолчанию он должен его закрыть.
avatar

  8  waterfall Автор Сообщений: 73

  • 22 ноября 2018, 22:15
+
0
Это ордер на покупку и он вне канала сверху, когда будет вне канала снизу, тогда и должен закрыться. Или Вы хотите чтобы ордера закрывались вне зависимости с какой стороны вне канала находиться ордер? Нужно четко излагать свое ТЗ, чтобы мы программисты не гадали на кофейной гуще.:) 
avatar

  13  Andrju81 Сообщений: 190 - Андрей

  • 22 ноября 2018, 22:22
+
0
Может Вы правы. Вне канала это значит вне канала как сверху так и снизу.
Советник должен закрывать ордера не только в минус но и в плюс.
По идее он хорош для ордеров у которых ТР=0 SL=0
Извиняюсь если не правильно сформулировал ТЗ.
avatar

  8  waterfall Автор Сообщений: 73

  • 22 ноября 2018, 22:46
+
0
Пробуйте этот — www.opentraders.ru/downloads/2170/
avatar

  13  Andrju81 Сообщений: 190 - Андрей

  • 22 ноября 2018, 23:08
+
0
Спасибо, ордер удален, нужно потестить.
На сегодня все, всего Вам хорошего.
Будут проблемы отпишу. Еще раз СПАСИБО.
avatar

  8  waterfall Автор Сообщений: 73

  • 22 ноября 2018, 23:49
+
0
Здравствуйте. Проблема старая, удалять не хочет.
Может кто поможет из форумчан сформулировать ТЗ.
avatar

  8  waterfall Автор Сообщений: 73

  • 26 ноября 2018, 17:53
+
0
Удалять не хочет — это относительное понятие. Если хотите чтобы Вас правильно понимали, нужно писать конкретно — совсем не закрывает или только определенные ордера, какие ордера, с идентификатором или без, с какими параметрами запущен советник и т.д, и т.п…
Редактирован: 27 ноября 2018, 01:16
avatar

  13  Andrju81 Сообщений: 190 - Андрей

  • 27 ноября 2018, 00:50
+
0
У меня все работает как часики:









Удаляет ордера выставленные вручную и советником по отдельности или все вместе, это можно увидеть на скриншотах.
avatar

  13  Andrju81 Сообщений: 190 - Андрей

  • 27 ноября 2018, 03:53
+
0
Только что сделал скрин. Закрывать ордер не хочет
На магик как советника так и ноль не реагирует.
Этот вариант закрывает правильно
www.opentraders.ru/downloads/2160/
но там другая проблема…
avatar

  8  waterfall Автор Сообщений: 73

  • 27 ноября 2018, 14:38
+
0
Вам мои скриншоты хорошо понятны?!.. А вот Ваши мне ни о чем не говорят, кроме как ордера вне канала, т.к. я не совсем уверен что это мой советник и параметры советника при этом правильные.
avatar

  13  Andrju81 Сообщений: 190 - Андрей

  • 27 ноября 2018, 15:52
+
0
Если этот вариант советника www.opentraders.ru/downloads/2170/ у Вас не будет работать, тогда я ПАС, т.к. у меня все они работают как положено.
avatar

  13  Andrju81 Сообщений: 190 - Андрей

  • 27 ноября 2018, 16:09
+
0
Хорошо, давайте еще потестим…
avatar

  8  waterfall Автор Сообщений: 73

  • 27 ноября 2018, 17:03
+
0
На скринах результат работы двух советников
Советник SSC_Killer_v1.03
Советник Killer www.opentraders.ru/downloads/2160/

Прошу разобраться в этих вариантах, что не так?
avatar

  8  waterfall Автор Сообщений: 73

  • 27 ноября 2018, 18:38
+
0
Вас советник информирует, что «Не удалось инициализировать советник!»:



От этого он и не работает.
Пробуйте сделать так при запуске советника:



И будет Вам СЧАСТЬЕ!<img src='http://opentraders.ru/templates/skin/g6h/images/smilies/002.gif' alt=' :) '>&nbsp; 
Редактирован: 27 ноября 2018, 20:45
avatar

  13  Andrju81 Сообщений: 190 - Андрей

  • 27 ноября 2018, 20:30
+
0
Тогда помогите мне разобраться… с таким встречаюсь впервые
avatar

  8  waterfall Автор Сообщений: 73

  • 27 ноября 2018, 20:59
+
0
Инициализация происходит только в одном случае.
Галка разрешить торговать включена и затем только закрыть и открыть терминал.
Затем если снять галку и ОК инициализировать сову никак не удается.
Вот такая беда…
avatar

  8  waterfall Автор Сообщений: 73

  • 27 ноября 2018, 21:15
+
0
Удалите с графика советник, затем снова перетащите его на график и до подтверждения параметров (нажатия кнопки «OK») установите все галочки так как у меня на скриншоте.
avatar

  13  Andrju81 Сообщений: 190 - Андрей

  • 27 ноября 2018, 21:34
+
0
Спасибо, вроде стало нормально, поработаю совой отпишу…
avatar

  8  waterfall Автор Сообщений: 73

  • 27 ноября 2018, 22:19
+
0
Проблема, даю три скрина, на последнем включаю автоторговля и инициализации нет
2

3

Самый верхний ордер должен был совой закрыт
avatar

  8  waterfall Автор Сообщений: 73

  • 27 ноября 2018, 22:46
+
0
Можете скинуть в личку советник с настройками который у Вас открывает ордера и настройки индикатора. Попробую воссоздать у себя такую ситуацию, и убедиться, что такая проблема существует, т.к. у меня все работает.
avatar

  13  Andrju81 Сообщений: 190 - Андрей

  • 27 ноября 2018, 23:19
+
0
Подскажите как скинуть информацию Вам в личку?
avatar

  8  waterfall Автор Сообщений: 73

  • 27 ноября 2018, 23:28
комментарий был удален 2018-11-28 05:32:17 waterfall

+
0
Email лучше не светить, а то спама увеличится. Для этого есть "Приват". Так что удали это сообщение. А советник я исправил, пробуй — www.opentraders.ru/downloads/2170/
avatar

  13  Andrju81 Сообщений: 190 - Андрей

  • 28 ноября 2018, 01:57
+
0
Ок. Есть вопросы для понимания работы советника:
-индикатор обязательно кидать на график где стоит советник?
-если вообще индикатора нет в терминале будет ли работать советник?
-можно получить открытый код (mq4.exe) для компиляции в своем терминале?
Редактирован: 28 ноября 2018, 09:03
avatar

  8  waterfall Автор Сообщений: 73

  • 28 ноября 2018, 06:43
+
0
индикатор обязательно кидать на график где стоит советник?

Нет.
если вообще индикатора нет в терминале будет ли работать советник?

Да. Только нельзя менять название советника.
можно получить открытый код (mq4.exe) для компиляции в своем терминале?

Нет. В условии этого не указано, а если бы было указано, то я возможно и не взялся бы за этот заказ.
avatar

  13  Andrju81 Сообщений: 190 - Андрей

  • 28 ноября 2018, 14:53
+
0
СПАСИБО, прогресс на лицо. Советник правильно закрывает ордера.
Ошибок пока не заметил. Последнее по ТЗ (смотрите в самом верху)
Отобразить или скрыть изображение индикатора на графике (falce/trye)
желательно с возможностью выбора цвета.
Если устали, на этом пункте не настаиваю, на Ваше усмотрение.
Здоровья Вам и всех благ!
avatar

  8  waterfall Автор Сообщений: 73

  • 28 ноября 2018, 17:50
+
0
avatar

  13  Andrju81 Сообщений: 190 - Андрей

  • 28 ноября 2018, 22:37
+
0
Спасибо, вроде все хорошо. Недельку нужно погонять на демо.
Спасибо за Ваш труд и терпение.
avatar

  8  waterfall Автор Сообщений: 73

  • 29 ноября 2018, 00:37
+
0
Здравствуйте Андрей. В процессе тестирования проявились неудобства.
Путаюсь в определении какой сов закрыл ордер.
Прошу вставить в код советника функцию _Comments_
с возможностью менять комментарий.
Прошу не отказать, получился очень хороший продукт.
avatar

  8  waterfall Автор Сообщений: 73

  • 29 ноября 2018, 18:24
+
0
Для этого в терминале есть вкладка «Эксперты»!
Во вкладке «Эксперты» содержится вся информация о работе прикрепленного эксперта, включая открытие/закрытие позиций, модификацию ордеров, собственные сообщения советника и другие.
avatar

  13  Andrju81 Сообщений: 190 - Андрей

  • 29 ноября 2018, 18:58
+
0
Ну на нет и суда нет.
Терминал сильно загружен разными совами, и я привык к истории счета.
Еще раз спасибо, все идет хорошо.
До свидания, извиняюсь за беспокойство.
avatar

  8  waterfall Автор Сообщений: 73

  • 29 ноября 2018, 19:16
+
0
Комментарий можно вывести, но он будет отображать только информацию о последних закрытых ордерах.
avatar

  13  Andrju81 Сообщений: 190 - Андрей

  • 29 ноября 2018, 19:50
+
0
Если это сложно то тогда оставляем как есть.
Просто для инфы вопрос:
У меня один и тот же ордер могут закрыть три советника.
Можно как то узнать из истории счета, что его закрыл именно наш советник?(ордеров много)
Журнал и Эксперты не смотрю там сам черт ногу сломает.
avatar

  8  waterfall Автор Сообщений: 73

  • 29 ноября 2018, 22:06
+
0
Можно как то узнать из истории счета, что его закрыл именно наш советник?

Так как этот советник только закрывает ордера, то только так:



Или по значкам на графике на котором установлен советник, т.к. он при закрытии ордера рисует трендовую линию от цены открытия ордера до цены закрытия на месте которой ставит значок типа треугольник.


Редактирован: 29 ноября 2018, 23:34
avatar

  13  Andrju81 Сообщений: 190 - Андрей

  • 29 ноября 2018, 22:52
+
0
ОК. Спасибо, Вас понял, вопросов нет.
avatar

  8  waterfall Автор Сообщений: 73

  • 29 ноября 2018, 23:51

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