beton2011

 
Уровень 14

  Моя торговля


График торгового счета beton2011


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

Рейтинг 2087



РЕКОМЕНДУЮ



Советник BB мартин

Здравствуйте Андрей.

Можно вас попросить написать советник для меня?

Т3

Торговля ведется по индикатору Bollinger Bands.

Условие для открытия отложного стопового ордера на покупку:

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

Условие для открытия отложного стопового ордера на продажу:

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

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

Дополнительное условие связанное с увеличением лотов:

Если есть открытый ордер и есть условие для открытия следующего ордера, тогда следующий ордер выставляется с увеличенным лотом.

Закрытие всех ордеров по общему профиту.

Начальный лот рассчитывается как процент Risk от свободной маржи.

Если можно добавить в настройки выбор с какими ордерами работать, стоповые или лимитные ордера.

Все :) 
  • 0
  • Просмотров: 4538
  • 24 июня 2017, 17:04
  • beton2011
Понравилcя материал? Не забудьте поставить плюс и поделиться в социальной сети!

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

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

+
0
Посмотрю после выходных.
avatar

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

  • 24 июня 2017, 20:28
+
0
Спасибо
avatar

  14  beton2011 Автор Сообщений: 895

  • 25 июня 2017, 06:01
+
0
avatar

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

  • 25 июня 2017, 14:52
+
0
Спасибо за скорость, все отлично, только вот подправьте один момент, если есть открытый ордер в каком то направление, тогда больше не выставляются ордера в этом направление, ордера выставляются только на обратном сигнале. Получается что должны чередоваться ордера.
avatar

  14  beton2011 Автор Сообщений: 895

  • 25 июня 2017, 15:18
+
0
На скринах поясните?
avatar

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

  • 25 июня 2017, 15:21
+
0
Вот на скрине видно что должно быть всего три ордера чередоваться, а если я запущу эту версию советника, тогда будет много ордеров в разные сторону, если конечно не закроются ордера раньше по профиту или стопу.



Для этого надо наверно сделать запрет открытия стоповых ордеров в этом направлении если есть открытый ордер, отмена запрета послужит открытый обратный ордер, как то так наверное можно сделать :) 
avatar

  14  beton2011 Автор Сообщений: 895

  • 25 июня 2017, 15:48
+
0
На открытии нового бара


   if(t!=Time[0])
     {
      OpenOrd();
      Mode();
      t=Time[0];
     }


цена находится выше средней линии индикатора, тогда выставляется стоповый ордер на покупку на верхней полосе индикатора



   if(Bid>mid && Bid<up)
     {
      if(CountOrders(4)<1) PutOrder(4,up);
      DelOrder(5);
     }

Условие для открытия отложного стопового ордера на продажу:

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



   if(Bid>dn && Bid<mid)
     {
      if(CountOrders(5)<1) PutOrder(5,dn);
      DelOrder(4);
     }

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


//--- sell conditions
   if(Bid>dn && Bid<mid)
     {
      if(CountOrders(5)<1) PutOrder(5,dn);
      DelOrder(4);
     }
//--- buy conditions
   if(Bid>mid && Bid<up)
     {
      if(CountOrders(4)<1) PutOrder(4,up);
      DelOrder(5);
     }

Закрытие всех ордеров по общему профиту.

if(AllProfit()>Profit && Profit>0) CloseAll();

Начальный лот рассчитывается как процент Risk от свободной маржи.


double Lot()
  {
   double lot=AccountFreeMargin()*Risk/100000;//10000*10/10000=1
   if(CountTrades()>0) lot=NormalizeDouble(lot*MathPow(KLot,CountTrades()),2);
   if(lot>MaxLot)lot=Lots;
   return(lot);
  }


Все моменты ТЗ прописаны, далее уже а может так, а может эдак, а еще давайте вот это попробуем :) 
avatar

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

  • 25 июня 2017, 17:22
+
0
Да все впорядке, такой вариант то же хороший. Я просто думал что это будет просто сделать.

Спасибо за советник <img src='http://opentraders.ru/templates/skin/g6h/images/smilies/002.gif' alt=' :) '>&nbsp; 
Редактирован: 25 июня 2017, 19:05
avatar

  14  beton2011 Автор Сообщений: 895

  • 25 июня 2017, 18:52

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