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

Рейтинг 2146



РЕКОМЕНДУЮ



Доработка советника.

Уважаемые программисты, прошу доработать советник.

Напомню основную логику совы: При появлении линии инд. вниз, советник открывает бай поз. При появлении линии инд. вверх, советник открывает сел поз. Всегда в работе только один ордер!

Используя базовый советник NoRedraw.mq4 (9 Kb) и индикатор ZZ.mq4 (4 Kb) внести корректировки:

1)Текущая открытая поз. должна закрываться противоположным сигналом (при смене направления линии инд.), при открытии противоположного ордера.
2)Объем лота вычисляется в % от экви-баланса.
3)Добавить БУ + Трал
Переменные:
-Лот // фикс. объем.
-Лотс // объем лота вычисляется в %
-ТП //при значении=0, не используется/
-СЛ //при значении=0, не используется/
-Профит в валюте депозита //при значении=0, не используется/
-Убыток в валюте депозита //при значении=0, не используется/
-БУ //при значении=0, не используется/
-Пункты БУ
-ТРАЛ //при значении=0, не используется/
-Magic= // магик своего ордера. Если Magic=0, то отслеживается любой ордер.
-Проскальзывание цены.
Время работы:
-StartHour1 = 9; // час начала торговли
-StartMin1 = 30; // минута начала торговли
-EndHour1 = 23; // час окончания торговли
-EndMin1 = 30; // минута окончания торговли
-CloseOn = 1; // 0/1-закрытие поз. в конце работы

extern string IndName = «ZZ»;
extern int Length = 6;
extern int CountBars = 1000; // Количество отображаемых баров

Заранее Спасибо.
  • 0
  • Просмотров: 4808
  • 18 ноября 2017, 03:43
  • Marik007
Понравилcя материал? Не забудьте поставить плюс и поделиться в социальной сети!

Вступите в группу "Стол заказов MQL", чтобы следить за обновлениями
ПРИСОЕДИНИТЬСЯ К ГРУППЕ
присоединиться
  Предыдущая запись в группе
Советник на индикторе "Trading Volume"
Следующая запись в группе  
HelloDual v2.0
17 ноября 2017
18 ноября 2017

Брокер для ваших роботов, 15 лет на рынке

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

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

  35  AM2 Сообщений: 16276 - Андрей

  • 18 ноября 2017, 10:08
+
0
avatar

  35  AM2 Сообщений: 16276 - Андрей

  • 20 ноября 2017, 20:46
+
0
Андрей Спасибо! Как всегда на высоком уровне. Только не большую правку надо сделать:
1) При значении Лот=0, Риск от депозита не работает и лот не открывается вообще!*???* 
Объем лота должен вычисляеться в % от экви-баланса.
--выдает ошибку: 2017.11.20 21:04:46.301 2016.12.29 00:30:00 Testing pass stopped due to a critical error in the EA
2) Если не трудно, добавь плиз. функцию РЕВЕРС(Бай/Сел)- по позициям
Заранее благодарен!

Редактирован: 20 ноября 2017, 22:50
avatar

  19  Marik007 Автор Сообщений: 417 - Forexman

  • 20 ноября 2017, 22:26
+
0
лот 0 риск 10. работает

avatar

  35  AM2 Сообщений: 16276 - Андрей

  • 21 ноября 2017, 18:35
+
0
Андрей,
1)При значении Лот=0 и при StopLos=0 Лот не открывается вообще!


1)-- выдает ошибку: 2017.11.21 19:24:57.539 2017.11.01 00:30:00 Testing pass stopped due to a critical error in the EA
2)--а так же: OrderSend error 4051, при завышеном значении СЛ на пример=10000пп (по5знаку)
avatar

  19  Marik007 Автор Сообщений: 417 - Forexman

  • 21 ноября 2017, 20:39
+
0
он же по стопу риск считает и деление на ноль вылезает ошибка
avatar

  35  AM2 Сообщений: 16276 - Андрей

  • 21 ноября 2017, 21:13
+
+1
Поставьте такую функцию:

double Lot()
  {
   double lot=Lots;
   if(Lots==0)lot=NormalizeDouble(AccountEquity()*Risk/100000,2);
   
   if(lot<MarketInfo(NULL,MODE_MINLOT)) lot=MarketInfo(NULL,MODE_MINLOT);
   if(lot>MarketInfo(NULL,MODE_MAXLOT)) lot=MarketInfo(NULL,MODE_MAXLOT);
   return(lot);
  }

Редактирован: 21 ноября 2017, 21:26
avatar

  35  AM2 Сообщений: 16276 - Андрей

  • 21 ноября 2017, 21:20

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