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

Рейтинг 2146



РЕКОМЕНДУЮ



Закрытие по общему профиту Closelock. Требуется мелкая поправка.

Здравствуйте! Советник скопировал с другого форума, его описание:
Советник CloseLock
На данный момент советник CloseLock работает следующим образом.
— находит самый верхний buy и самый нижний sell
— вычисляет сумму профитов всех положительных позиций (и buy и sell без разделения)
— если сумма всех прибыльных позиций больше убытка дальнего buy или sell на величину CloseProfit (в валюте депозита) То советник закрывает соответствующую убыточную позицию и все прибыльные.
— из двух выбранных советник закрывает тот, у которого убыток в валюте депозита больше.

Код очень маленький, но у меня не получилось разобраться. В советнике есть одна проблема, когда он срабатывает на счете, он закрывает все отложенные ордера, таким образом нарушая весь смысл работы для тех, кто работает по отложкам. Можно ли сделать так, чтобы он работал так же как и сейчас, только не трогал отложки вообще. В настройках использую magic -1, для работы со всеми ордерами.
Надеюсь советник будет полезен многим!
CloseLock.mq4 (7 Kb)
  • 0
  • Просмотров: 4624
  • 17 апреля 2015, 14:31
  • anathem
Понравилcя материал? Не забудьте поставить плюс и поделиться в социальной сети!

Вступите в группу "Стол заказов MQL", чтобы следить за обновлениями
ПРИСОЕДИНИТЬСЯ К ГРУППЕ
присоединиться
  Предыдущая запись в группе
Советник по AO+AC+SAR
Следующая запись в группе  
Доработать индикатор
17 апреля 2015
18 апреля 2015

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

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

+
0
Я как раз только вчера читала про программиста с cmillion и вы мне сегодня даете их код :D 
Ссылка, что вчера читала.
Не буду править чужой код.
avatar

  27  Oxy Сообщений: 3430 - ..ιllιlι.lι.ιllι.ιlι..

  • 17 апреля 2015, 14:56
+
0
Это его бесплатный советник, лежит в открытом доступе, который он сам и выложил, ничего против вмешательства он не имеет. Я лично к нему обращался, он сказал, что сейчас занят платными проектами и ничего делать не будет. А этот советник, даже не советник, а мелкий помощник в торговле, за него браться никто не будет, я полазил в коде, для меня это темный лес…
Этот советник мне и еще одному человеку уже бы очень помог в тестировании стратегий торговли по стопам. Я подумал, что нету смысла просить написать тоже самое, тут уже есть готовый вариант, но надо мелкая поправка…
Что делать? *cry* 
avatar

  7  anathem Автор Сообщений: 142

  • 17 апреля 2015, 15:45
+
+1
Могу подсказать, если самому интересно разобраться.
Все открытые позиции закрываются функцией OrderClose(…
А отложки удаляются функцией OrderDelete(…
Закрывать же отложки нет смысла, они еще не открыты. Поэтому они удаляются.
avatar

  27  Oxy Сообщений: 3430 - ..ιllιlι.lι.ιllι.ιlι..

  • 17 апреля 2015, 15:53
+
0
удалить строчку
if (OT>1) error=OrderDelete(OrderTicket());
или
int deinit()
{
if (!IsTesting())
{
ObjectsDeleteAll(0);
}
return(0);

???
Я программирование знаю на уровне, что B — это жирный шрифт.
Редактирован: 17 апреля 2015, 16:08
avatar

  7  anathem Автор Сообщений: 142

  • 17 апреля 2015, 16:08
+
+1
я бы только удалила 166 строчку
if (OT>1) error=OrderDelete(OrderTicket());
и протестировала бы на демо, что получится
avatar

  27  Oxy Сообщений: 3430 - ..ιllιlι.lι.ιllι.ιlι..

  • 17 апреля 2015, 16:12
+
+1
После удаления, не забудьте скомпилировать файл (нажать на кнопку — компилировать)
Редактирован: 17 апреля 2015, 16:13
avatar

  27  Oxy Сообщений: 3430 - ..ιllιlι.lι.ιllι.ιlι..

  • 17 апреля 2015, 16:12
+
0
Спасибо, попробую. Отпишусь что и как. *good* 
avatar

  7  anathem Автор Сообщений: 142

  • 17 апреля 2015, 16:14
+
0
Отложки на месте. Еще раз спасибо :) 
avatar

  7  anathem Автор Сообщений: 142

  • 17 апреля 2015, 17:38

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