cardon

 
Уровень 10

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


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

Рейтинг 2088



РЕКОМЕНДУЮ




Лучшее от 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

сова просто сова

Привет всем 0/

нужно попробовать написать советник на индикаторе мюррея. мт4 пятизнак

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

в индикаторе имеются уровни —

   ln_txt[0] ="[-2/8]P";
   ln_txt[1] ="[-1/8]P";   
   ln_txt[2] ="ПОДДЕРЖКА [0/8]";
   ln_txt[3] ="ОСТАНОВКА_РАЗВОРОТ [1/8]";
   ln_txt[4] ="ВРАЩЕНИЕ_РАЗВОРОТ [2/8]";
   ln_txt[5] ="ДНО_КАНАЛА [3/8]";
   ln_txt[6] ="СОПРОТИВЛЕНИЕ_ПОДДЕРЖКА [4/8]";
   ln_txt[7] ="ВЕРХ_КАНАЛА [5/8]";
   ln_txt[8] ="ВРАЩЕНИЕ_РАЗВОРОТ [6/8]";
   ln_txt[9] ="ОСТАНОВКА_РАЗВОРОТ [7/8]";
   ln_txt[10]="СОПРОТИВЛЕНИЕ [8/8]";
   ln_txt[11]="[+1/8]P";// "overshoot [+1/8]";
   ln_txt[12]="[+2/8]P";// "extremely overshoot [+2/8]"


сделать выбор на какие уровни будем ставить лимитник, обязательный отступ от уровня, то-есть ордер ставим не на сам уровень, а с отступом на пунктов 20-40 по пятизнаку в сторону цены, сделать выбор расстояния от уровня.

при смене расположения уровней, лимитники также меняются вслед за уровнем.

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

цель посмотреть, как отрабатывают уровни.

Math--System-Trader.mq4 (6 Kb)
  • +2
  • Просмотров: 3064
  • 6 октября 2016, 16:43
  • cardon
Понравилcя материал? Не забудьте поставить плюс и поделиться в социальной сети!

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

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

+
0
Посмотрю сегодня.
avatar

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

  • 6 октября 2016, 17:55
+
0
Дайте формулу расчета уровней, а то значения с объектов вытягивать это не дело.
avatar

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

  • 6 октября 2016, 19:21
+
0
Уровни Мюррея рассчитываются на основании отрезка ценового движения, который разделяется на 9 частей, согласно пропорциям Ганна. Таким образом, индикатор образует 9 уровней, имеющих следующие пропорции:
0%, 12.5%, 25%, 37.5%, 50%, 62.5%, 75%, 87.5%, 100%.

Осталось определиться только с отрезком.
avatar

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

  • 6 октября 2016, 20:54
+
0
к сожалению у меня сильная температура и я не могу дать нормальный ответ, напиши те что именно нужно? формул у меня нет и я не шарю, есть идея только. вот ссылка на файл про мюррея там формулы какие-то есть
rgho.st/8mH4lqTTD
avatar

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

  • 6 октября 2016, 21:37
+
0
Формулу я нашел сам, нужен только отрезок цены на котором будем отмечать уровни.
avatar

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

  • 6 октября 2016, 23:32
+
0
я так понимаю — место уровней будут сразу лимитные ордера? о каком отрезке идет речь? что требуется от меня?
avatar

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

  • 7 октября 2016, 10:34
+
0
о каком отрезке идет речь? что требуется от меня?


Еще раз:

Уровни Мюррея рассчитываются на основании отрезка ценового движения, который разделяется на 9 частей, согласно пропорциям Ганна. Таким образом, индикатор образует 9 уровней, имеющих следующие пропорции:
0%, 12.5%, 25%, 37.5%, 50%, 62.5%, 75%, 87.5%, 100%.
avatar

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

  • 7 октября 2016, 11:17
+
0
это я должен отрезок найти? я понятия не имею как((( 
avatar

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

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

например мы можем выбрать максимально 13 ордеров на 13 уровней индикатора и каждый будет привязан к своему уровню типа:

1 ордер — привязываем к уровню -2/8 и выбор да/нет
2 ордер — привязываем к уровню -1/8 и выбор да/нет
3 ордер — привязываем к уровню 0/8 и выбор да/нет
4 ордер — привязываем к уровню 1/8 и выбор да/нет
5 ордер — привязываем к уровню 2/8 и выбор да/нет
6 ордер — привязываем к уровню 3/8 и выбор да/нет
7 ордер — привязываем к уровню 4/8 и выбор да/нет
8 ордер — привязываем к уровню 5/8 и выбор да/нет
9 ордер — привязываем к уровню 6/8 и выбор да/нет
10 ордер — привязываем к уровню 7/8 и выбор да/нет
11 ордер — привязываем к уровню 8/8 и выбор да/нет
12 ордер — привязываем к уровню +1/8 и выбор да/нет
13 ордер — привязываем к уровню +2/8 и выбор да/нет

так возможно?
Редактирован: 7 октября 2016, 21:21
avatar

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

  • 7 октября 2016, 21:21
+
0
Покажите на скрине каким образом будем ставить лимитники?
avatar

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

  • 8 октября 2016, 13:00
+
0
на скрине стоят лимитники на всех уровнях, нужно выбор на каких уровнях ставить лимитник в том числе можно и все выбрать. стоит отступ от уровней который желательно устонавливать в ручную в пп. по пятизнаку


Редактирован: 8 октября 2016, 14:24
avatar

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

  • 8 октября 2016, 14:23
+
0
Набросок. Верхние 7 линий селллимит нижние бай. Смотрите, уточняйте:




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

input bool Order1=true;
input bool Order2=true;
input bool Order3=true;
input bool Order4=true;
input bool Order5=true;
input bool Order6=true;
input bool Order7=true;
input bool Order8=true;
input bool Order9=true;
input bool Order10=true;
input bool Order11=true;
input bool Order12=true;
input bool Order13=true;

extern double Lots       = 0.1;      // лот
extern int StopLoss      = 0;        // лось
extern int TakeProfit    = 0;        // язь
extern int Slip          = 30;       // реквот
extern int Magic         = 123;      // магик
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---

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

  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
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;
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
//mml12 +2/8p 
//mml11 +1/8p  
//mml10  8/8
//mml9   7/8
//mml8   6/8
//mml7   5/8
//mml6   4/8
//mml5   3/8
//mml4   2/8
//mml3   1/8
//mml2   0/8
//mml1  -1/8p
//mml0  -2/8p

   double p28p=ObjectGetDouble(0,"mml12",OBJPROP_PRICE);
   double p18p=ObjectGetDouble(0,"mml11",OBJPROP_PRICE);
   double p88=ObjectGetDouble(0,"mml10",OBJPROP_PRICE);
   double p78=ObjectGetDouble(0,"mml9",OBJPROP_PRICE);
   double p68=ObjectGetDouble(0,"mml8",OBJPROP_PRICE);
   double p58=ObjectGetDouble(0,"mml7",OBJPROP_PRICE);
   double p48=ObjectGetDouble(0,"mml6",OBJPROP_PRICE);
   double p38=ObjectGetDouble(0,"mml5",OBJPROP_PRICE);
   double p28=ObjectGetDouble(0,"mml4",OBJPROP_PRICE);
   double p18=ObjectGetDouble(0,"mml3",OBJPROP_PRICE);
   double p08=ObjectGetDouble(0,"mml2",OBJPROP_PRICE);
   double p18m=ObjectGetDouble(0,"mml1",OBJPROP_PRICE);
   double p28m=ObjectGetDouble(0,"mml0",OBJPROP_PRICE);

   if(OrdersTotal()<1)
     {
      if(Order13 && Bid<p28p) PutOrder(3,NormalizeDouble(p28p,Digits));
      if(Order12 && Bid<p18p) PutOrder(3,NormalizeDouble(p18p,Digits));
      if(Order11 && Bid<p88)  PutOrder(3,NormalizeDouble(p88,Digits));
      if(Order10 && Bid<p78)  PutOrder(3,NormalizeDouble(p78,Digits));
      if(Order9  && Bid<p68)  PutOrder(3,NormalizeDouble(p68,Digits));
      if(Order8  && Bid<p58)  PutOrder(3,NormalizeDouble(p58,Digits));
      if(Order7  && Bid<p48)  PutOrder(3,NormalizeDouble(p48,Digits));
      if(Order6  && Bid>p38)  PutOrder(2,NormalizeDouble(p38,Digits));
      if(Order5  && Bid>p28)  PutOrder(2,NormalizeDouble(p28,Digits));
      if(Order4  && Bid>p18)  PutOrder(2,NormalizeDouble(p18,Digits));
      if(Order3  && Bid>p08)  PutOrder(2,NormalizeDouble(p08,Digits));
      if(Order2  && Bid>p18m) PutOrder(2,NormalizeDouble(p18m,Digits));
      if(Order1  && Bid>p28m) PutOrder(2,NormalizeDouble(p28m,Digits));
     }

   Comment("\n +2/8P: ",p28);
  }
//+------------------------------------------------------------------+

avatar

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

  • 8 октября 2016, 15:03
+
0
да так нормально устраивает, но ордер должен модифицироваться за своим уровнем при любом его изменении, будь то расширение или любое движение в сторону — ордер идет за ним.

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

выбор — если сработал лимит бай — отменяем все лимит селл и наоборот / или разрешить работать одновременно.
avatar

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

  • 8 октября 2016, 15:56
+
0
После выходных продолжу.
avatar

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

  • 8 октября 2016, 18:23
+
0
не тороплю, спасибо что не отказали :) 
avatar

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

  • 8 октября 2016, 19:33
+
0
Вот сейчас уже можно посмотреть как отрабатываются уровни, а выглядит это примерно так: www.opentraders.ru/downloads/1351/




Редактирован: 10 октября 2016, 08:45
avatar

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

  • 10 октября 2016, 07:18
+
0
так правильно, ордера не модифицируются, а отменяются через определенный промежуток времени, который выставлен в настройках. это не правильно, на тесте видно что весь график идет без них, потому что они там наверху висят до истечении времени, после подхода срока иссечения, они ставятся и снова висят свой срок, если ставить бесконечное время, то они висят вечно и не срабатывает не 1 ордер, уровни меняются, а они висят на своем месте.

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

avatar

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

  • 10 октября 2016, 11:31
+
0
Модифицировать нельзя. Например открыт один лимитник селл и 12 бай а потом цена зашла на середину индюка. Здесь нужно долго репу чесать а это не ко мне. То что можно было быстро сделать сделал.
avatar

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

  • 10 октября 2016, 11:53
+
0
если цена зашла на середину индюка, то значит она собрала бай лимитники, на их место нечего не ставится, ни селл ни бай, ведь они в работе до тех пор пока не закроются по тейку.

допустим сработал на 1/8 уровне — все, туда не ставим не чего больше пока ордер в работе — это его место.

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

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

  • 10 октября 2016, 14:05

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