[Советник Локер] Brainy Locker - хватить терпеть убыточные сделки !📌

От Rever27, 8 апреля, 2019 в Hardware/Software для трейдера

#428
2 минуты назад, arci11 сказал:

@Web-tourist В настройках выставь не закрывать в  -Close Other Symbol - Do not close.

Ну так оно так и выставлено Do not close, на скринах же видно, что 4 графика открыто, а не один. А что, это имеет какое то значение для Вашего скрипта?

#429

@Web-tourist у меня не закрывает ордера открытую другим советником или открытые скриптом ,попробуй вот этот сет,но выставь свои лоты

UNLOCKER 1.32.set39 скач.

#430
30 минут назад, arci11 сказал:

@Web-tourist у меня не закрывает ордера открытую другим советником или открытые скриптом ,попробуй вот этот сет,но выставь свои лоты

UNLOCKER 1.32.set 1 \u043a\u0411 · 1 загрузка

Посмотрел Ваши настройки, походу, мы друг друга не поняли - опция называется "Close Other Symbol Charts" - "закрыть графики других символов", к ордерам она не имеет никакого отношения.

Изменено 14 апреля, 2020 пользователем Web-tourist

#431


@arci11 Создал я сегодня подходящую ситуацию для теста, запустил БЛ и он таки признал ордер, открытый Вашим скриптом за свой и запустил Анлокера. Единственное, чего я пока не понимаю, так это какой именно ордер он "залокировал". По идее, конечно, это ордер бай размером 0.04, как и у нашего типа лока, но он не удалил у него Т/Р, хотя в настройках у меня стоит "Delete locked orders TP/SL" - True... А это не есть гуд, так как если цена дойдёт до его Т/Р и закроет его с прибылью, то автоматически закроется (по идее) и локовый ордер с намного большим минусом. Пока остается только ждать и наблюдать, у кого он будет "откусывать" анлокером. Если всё получится, как запланировано, то надо просто на будущее запомнить, что Т/Р придётся удалять вручную.
И еще один момент - пришлось удалять БЛ с графика и заливать заново, только тогда он активировался. Просто галочкой "разрешить торговать" не получалось, никак не хотел. Но тут я уже не знаю, связано ли это как-то с нашим скриптовым ордером или это просто нюанс повторной активации, с такой ситуацией я еще не сталкивался.

Спойлер

BL15-1.PNG

 

Изменено 17 апреля, 2020 пользователем Старик

#432

@arci11 Да, всё пошло как надо, еще раз спасибо за скрипт!

 

Спойлер

BL15-2.PNG

 

Изменено 17 апреля, 2020 пользователем Старик

#433

@Rever27 , небольшая ошибка визуализации - когда в запущенном советнике включается запрет на выставление новых ордеров, нижняя часть панели с размерами позиций показывает неполные данные. А именно: количество ордеров внутренного анлокера (те что с комментариями brainylocker|1|меджик ) и их суммарный размер. Если после выставления запрета на новые ордера, открыть самостоятельно ордер с тем же меджиком как и у анлокера, то их размеры не будут просуммированы в данной панели, что потенциально может сбить с толку. Может быть стоит обновлять информацию в панели на основе меджиков? Или совсем отключить отображение при запрете выставления новых ордеров?

Автор#434

Версия 1.33
- Исправлено удаление целей для залокированных ордеров. Удаляться будут только по указанному магику. Если магик не указан, то учитываются все ордера в этом направлении
- Добавлена проверка при инициализации на удаление целей и отложек при наличии замка.
- Скорректировано отображение информации в инфопанели, после выключения пользователем кнопки Use Unlocker

 

Т.е. 

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

Теперь, если пользователь руками откроет замок нужного ему лота, то нужно переинициализировать советник (открыть свойства и нажать ОК), чтобы он смог проверить наличие целей, а также отложек с заданными магиками (либо вообще всех ордеров) и удалить их. Проверка происходит только при повторном запуске советника, а не каждый тик.

2 часа назад, nixxer сказал:

небольшая ошибка визуализации

Я не совсем тебя понял, прикладывай скины с выделенными значениями и наименование параметров в будущем. 
Если ты хочешь, после того, как локер начал строить сетку ордеров перестал это делать, то нужно использовать параметр StopOpenNewOrders. Если ты изначально не хотел его использовать, то можно установить Use Unlocker = false.

В версии при Use Unlocker = false сов действительно переставал вести подсчет ордеров, когда эта функция выключена, теперь подсчет будет идти всегда. Но повторюсь, дальнейшее построение лучше выключать через StopOpenNewOrders, а чтобы облегчить потом нагрузку на терминал, после закрытия сетки полностью отключить и Use Unlocker

Brainy Locker 1.33.ex433 скач.

#435
3 часа назад, Rever27 сказал:

Теперь, если пользователь руками откроет замок нужного ему лота, то нужно переинициализировать советник (открыть свойства и нажать ОК), чтобы он смог проверить наличие целей, а также отложек с заданными магиками (либо вообще всех ордеров) и удалить их. Проверка происходит только при повторном запуске советника, а не каждый тик.

Версия 1.31 вела "ручной" лок отлично - отработала один, остановилась, я выставил новый "ручной" лок с помощью скрипта, БЛ снова активировался и продолжил дальше работать (скрин 1). Залил 1.33 вместо 1.31, она активировалась и удалила 0,01 от лока выставленного вручную, но не может удалить 0,01 от залокированного ордера (скрин 2).

И еще, в истории в комментариях все версии не показывают магик анлокера, только лока и залокированного (скрин 3). А вот когда нет  "выбора" ордеров, то версия 1.31 всё в истории показывает нормально (скрин 4 с реального счета).

Спойлер

BL15-5.PNG

 

Спойлер

BL15-6.PNG

 

Спойлер

BL15-4.PNG

 

Спойлер

BL15-7.PNG

 

Изменено 15 апреля, 2020 пользователем Старик

#436

Вот как выглядела ситуация после заливки версии 1.33 и удаления ей части лока. (скрин 1), Лок стал 0.03, а залокированный ордер так и остался 0.04.
Залил я снова 1.31, но не помогло, так и осталось 0.03 против 0.04 (скрин 2).
Печалька...

Спойлер

BL15-8.PNG

 

Спойлер

BL15-9.PNG

 

Изменено 15 апреля, 2020 пользователем Старик

Автор#437
1 час назад, Web-tourist сказал:

Версия 1.31 вела "ручной" лок отлично

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

#438

Доброго времени суток!

Есть ли версия на МТ5? Если нет, можете посоветовать разруливатель на МТ5?

Благодарю

#439

@Rever27 в версии 1.33 по ощущениям логика работы сломалась

0    09:22:38.570    Brainy Locker 1.33 GBPUSD,M15: initialized
0    09:22:38.570    Brainy Locker 1.33 GBPUSD,M15: CountGridTP: Тейк профит корзины переведен в безубыток с отступом 1.0 пунктов. Ордеров в рынке: 5
0    09:22:38.570    Brainy Locker 1.33 GBPUSD,M15: CountGridTP: Тейк профит корзины переведен в безубыток с отступом 1.0 пунктов. Ордеров в рынке: 5
0    09:22:38.570    Brainy Locker 1.33 GBPUSD,M15: Закрываем примерный убыток -23.18 USD по залокированным позициям, общий лот для закрытия 0.01. Баланс Банка: 676.82 USD. Баланс ордеров Unlocker'a: -69.58 USD

 

Баланс ордеров анлокера верный -69.58

Баланс банка - неверный! должен быть порядка ~60 в плюсе после переключения с прошлой версии советника.

 

Далее начинается очевидная часть, закрывается ордер номер 832645095 который является частью локирующего ордера с меджиком 999, советнику ведь кажется что накоплен банк

2    09:22:38.805    Brainy Locker 1.33 GBPUSD,M15: close #832645095 sell 0.01 GBPUSD at 1.22348 at price 1.24671
0    09:22:38.836    Brainy Locker 1.33 GBPUSD,M15: PartClose: Залокированный ордер Sell #832645095, Magic (999) успешно закрыт с лотом 0.01. Суммарный лот: 0.45. Прибыль составила: -23.18 USD
3    09:22:38.836    Brainy Locker 1.33 GBPUSD,M15: unknown ticket 832645095 for OrderClose function
0    09:22:38.836    Brainy Locker 1.33 GBPUSD,M15: PartClose: Не удалось закрыть существующий ордер Sell#832645095. Ошибка №: 4108 - Неверный номер тикета
3    09:22:44.343    Brainy Locker 1.33 GBPUSD,M15: unknown ticket 832645095 for OrderClose function
0    09:22:44.343    Brainy Locker 1.33 GBPUSD,M15: PartClose: Не удалось закрыть существующий ордер Sell#832645095. Ошибка №: 4108 - Неверный номер тикета

 

И так далее. В чем причина такого поведения? Откуда появился такой размер банка?

Brainy Locker 1.33 GBPUSD,M15 inputs:
MagicNumberLocker=999;
MagicNumbersOldOrders=;
SetLockDD_Percent=10.0;
SetLockDD_Money=0.0;
CloseOtherSymbolCharts=0;
DeleteTPSL=true;
DeleteAllPendings=false;
PartCloseLockLot=0.01; UseBankBalance=true; BankBalanceForAllOrders=false; MinBalanceToClose=0.5; ForciblyCloseUnlockerOrders=true;
UseUnlocker=true; MagicNumber=38002; SetName=Brainy UnLocker Set; OrdersDirection=2; Lots=0.01; DepoPer001Lot=0.0; Take_Profit=20.0; TP_Swap=true; StopOpenNewOrders=false; Max_Spread_Buy=2.0; Max_Spread_Sell=2.0;
GridDistance=30.0; GridDistanceMultiplier=1.3; Multiplier=1.6; TPDecreasePercent=10.0; BE_Level=0; BE_Step=1.0; Averaging_Level=10; Max_Open_Level=20;

 

По теме размера банка который увидел советник - это действительно была прибыль по меджику 38002, но эта прибыль уже была потрачена на закрытие существующего лока. Таким образом, новая версия закрыла часть локирующего ордера в минус, вернув ранее потраченный банк в работу. Либо я что-то кардинально не понимаю либо это ошибка.

Второй момент странный это то что закрывая частично свой локовый ордер, советник начинал терять этот самый частично закрытый ордер из вида, что видно в логах. Ранее такого не было

Изменено 28 апреля, 2020 пользователем nixxer

#440
53 минуты назад, nixxer сказал:

@Rever27 в версии 1.33 по ощущениям логика работы сломалась

0    09:22:38.570    Brainy Locker 1.33 GBPUSD,M15: initialized
0    09:22:38.570    Brainy Locker 1.33 GBPUSD,M15: CountGridTP: Тейк профит корзины переведен в безубыток с отступом 1.0 пунктов. Ордеров в рынке: 5
0    09:22:38.570    Brainy Locker 1.33 GBPUSD,M15: CountGridTP: Тейк профит корзины переведен в безубыток с отступом 1.0 пунктов. Ордеров в рынке: 5
0    09:22:38.570    Brainy Locker 1.33 GBPUSD,M15: Закрываем примерный убыток -23.18 USD по залокированным позициям, общий лот для закрытия 0.01. Баланс Банка: 676.82 USD. Баланс ордеров Unlocker'a: -69.58 USD

 

Баланс ордеров анлокера верный -69.58

Баланс банка - неверный! должен быть порядка ~60 в плюсе после переключения с прошлой версии советника.

 

Далее начинается очевидная часть, закрывается ордер номер 832645095 который является частью локирующего ордера с меджиком 999, советнику ведь кажется что накоплен банк

2    09:22:38.805    Brainy Locker 1.33 GBPUSD,M15: close #832645095 sell 0.01 GBPUSD at 1.22348 at price 1.24671
0    09:22:38.836    Brainy Locker 1.33 GBPUSD,M15: PartClose: Залокированный ордер Sell #832645095, Magic (999) успешно закрыт с лотом 0.01. Суммарный лот: 0.45. Прибыль составила: -23.18 USD
3    09:22:38.836    Brainy Locker 1.33 GBPUSD,M15: unknown ticket 832645095 for OrderClose function
0    09:22:38.836    Brainy Locker 1.33 GBPUSD,M15: PartClose: Не удалось закрыть существующий ордер Sell#832645095. Ошибка №: 4108 - Неверный номер тикета
3    09:22:44.343    Brainy Locker 1.33 GBPUSD,M15: unknown ticket 832645095 for OrderClose function
0    09:22:44.343    Brainy Locker 1.33 GBPUSD,M15: PartClose: Не удалось закрыть существующий ордер Sell#832645095. Ошибка №: 4108 - Неверный номер тикета

 

И так далее. В чем причина такого поведения? Откуда появился такой размер банка?


Brainy Locker 1.33 GBPUSD,M15 inputs:
MagicNumberLocker=999;
MagicNumbersOldOrders=;
SetLockDD_Percent=10.0;
SetLockDD_Money=0.0;
CloseOtherSymbolCharts=0;
DeleteTPSL=true;
DeleteAllPendings=false;
PartCloseLockLot=0.01; UseBankBalance=true; BankBalanceForAllOrders=false; MinBalanceToClose=0.5; ForciblyCloseUnlockerOrders=true;
UseUnlocker=true; MagicNumber=38002; SetName=Brainy UnLocker Set; OrdersDirection=2; Lots=0.01; DepoPer001Lot=0.0; Take_Profit=20.0; TP_Swap=true; StopOpenNewOrders=false; Max_Spread_Buy=2.0; Max_Spread_Sell=2.0;
GridDistance=30.0; GridDistanceMultiplier=1.3; Multiplier=1.6; TPDecreasePercent=10.0; BE_Level=0; BE_Step=1.0; Averaging_Level=10; Max_Open_Level=20;

 

По теме размера банка который увидел советник - это действительно была прибыль по меджику 38002, но эта прибыль уже была потрачена на закрытие существующего лока. Таким образом, новая версия закрыла часть локирующего ордера в минус, вернув ранее потраченный банк в работу. Либо я что-то кардинально не понимаю либо это ошибка.

Второй момент странный это то что закрывая частично свой локовый ордер, советник начинал терять этот самый частично закрытый ордер из вида, что видно в логах. Ранее такого не было

ДА и у меня такая же ситуация

Автор#441

Давайте использовать версию 1.31. Сейчас я уже не знаю, как искать эти ошибки и проверять их в тестере не реально.

Автор#442
14 часов назад, nixxer сказал:

Баланс банка - неверный! должен быть порядка ~60 в плюсе после переключения с прошлой версии советника

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

Версия 1.34
- Корректировка кода в надежде найти ошибки.
- Фикс мелких, но важных ошибок.
- Для тестирования добавлена функция мгновенного завершения теста, если замок был закрыт и Built grid for open lock активирован. Полезно, если охота просто прогнать сов и посмотреть отчет, как он разрулит этот замок, с каким результатом. Поможет правильно подобрать процент для разруливания.

 

Полученная версия, как и 1.31 и 1.33 идентично работают в тестере, я не увидел в них разницы при тестировании. Код сейчас сильно подправил, напихал кучу проверок еще, уже не знаю, что еще пихать. Рекомендую использовать ее. Но лучше вначале на демо погонять на всякий.

з.ы. Еще раз прошу в будущем писать об ошибках более подробно, а не "у меня тоже". Мне нужно знать, какая версия, какие были логи со всеми принтами об ошибках, какая была ситуация, сет, который стоял, установлен ли замок поверх, описание настолько подробно, чтобы ребенок понял. В противном случае я не знаю, куда копать. Но надеюсь все теперь будет работать корректно и я забуду о сове, как о страшном сне )

 

Brainy Locker 1.34.ex419 скач.

Изменено 29 апреля, 2020 пользователем Rever27

#443

@Rever27 запуск первичный сразу дал баг

0    04:15:32.958    Brainy Locker 1.34 GBPUSD,H1: Подготовка к установке замка: Удаление установленных Тейк Профит и Стоп Лосс залокированных ордеров по паре GBPUSD
0    04:15:36.240    Brainy Locker 1.34 GBPUSD,H1: 1500: Error. LockerOpenTime = 0!
0    04:15:36.240    Brainy Locker 1.34 GBPUSD,H1: Перезапись данных о магиках залокированных ордеров
0    04:15:36.240    Brainy Locker 1.34 GBPUSD,H1: initialized
1    04:15:42.959    Brainy Locker 1.34 GBPUSD,H1: array out of range in 'Brainy Locker 1.34.mq4' (590,43)
0    04:16:00.756    Brainy Locker 1.34 GBPUSD,H1: uninit reason 1

 

основной используемый сет во вложении

brain.set42 скач.

Изменено 29 апреля, 2020 пользователем nixxer

Автор#444
6 минут назад, nixxer сказал:

запуск первичный сразу дал баг

И нету мне покоя )
Запускаешь в тестере, на реале? Есть уже открытые ордера? 

#445
17 минут назад, Rever27 сказал:

И нету мне покоя )
Запускаешь в тестере, на реале? Есть уже открытые ордера? 

На реале, где до этого работала стабильно без проблем 1.31 версия, открытые ордера соответственно есть.

p.s. ошибка в 590 строке, ну я думаю ты и так это уже понял)

Изменено 29 апреля, 2020 пользователем nixxer

Автор#446
33 минуты назад, nixxer сказал:

p.s. ошибка в 590 строке, ну я думаю ты и так это уже понял)

Это не ошибка, так, пшик, по сравнению с тем, что я пережил сегодня, корячась перед монитором :)

Перезалил выше

#447

Так все таки какая из версий работает устойчиво? 1.31 или 1.34?

#448

1.34 работает все так же плохо, остаюсь на 1.31 пока что

0    15:47:31.783    Brainy Locker 1.34 GBPUSD,H1: initialized
0    15:47:36.437    Brainy Locker 1.34 GBPUSD,H1: Закрываем примерный убыток -500.67 USD по залокированным позициям, общий лот для закрытия 0.05. Баланс Банка: 546.34 USD

 

К примеру,

PartClose: Залокированный ордер Buy #832645094, Magic (0) успешно закрыт с лотом 0.05. Суммарный лот: XXX. Прибыль составила: -409.34 USD
PartClose: Залокированный ордер Sell #832790677, Magic (999) успешно закрыт с лотом 0.05. Суммарный лот: XXX. Прибыль составила: -91.38 USD
Закрываем примерный убыток -400.58 USD по залокированным позициям, общий лот для закрытия 0.04. Баланс Банка: 454.96 USD

PartClose: Залокированный ордер Buy #832827478, Magic (0) успешно закрыт с лотом 0.04. Суммарный лот: XXX. Прибыль составила: -327.47 USD

PartClose: Залокированный ордер Sell #832827479, Magic (999) успешно закрыт с лотом 0.04. Суммарный лот: XXX. Прибыль составила: -73.10 USD

Закрываем примерный убыток -300.43 USD по залокированным позициям, общий лот для закрытия 0.03. Баланс Банка: 381.85 USD

 

-Неверный размер банка, банк уже потрачен ранее на других ордерах

-Закрываемая позиция анлокера и локируемого ордера оказывается больше чем баланс банка, таким образом выходя за пределы в 546 баксов

 

Возможно проблема была в том что у меня были ордера старые от советника с нулевым меджиком, думаю тут зарыта собака)

 

p.s. не повторяйте за мной, будут убытки trlolo

Автор#449
10 часов назад, nixxer сказал:

1.34 работает все так же плохо, остаюсь на 1.31 пока что

@nixxerВесь день ковырял, в итоге нашел, в чем проблема. А проблема не в версиях, потому что в обоих версиях блок банка-копилки я не трогал, он индентичен. 
А проблема у тебя была в том, что ты выключил Bank Balance For All Orders = false. Данная функция подсчитывает все ордера на истории для расчета копилки. 

В твоем же случае, если ее выключить, то будут учитываться только только магики старых ордеров (которые были открыты до замка), магик локера, анлокера и тестовый (если идет тестирование). Т.е. твои ордера с магиком 0 просто не могли учитываться. 
Вот так выглядит счет, когда учитываются все ордера (тут баланс отрицательный, потому что торговля основными ордерами ушла в минус). Итого копилка в минус 2455 баксов. При расчете был учтен 271 ордер

Спойлер

image.png.ea0d7e6475b20a6b2d6dbccec91dc763.png

 

Теперь смотрим, что будет, если выключить эту функцию: т.е. считать прибыль только ордеров самого советника и тех, что были залокированы.
 

Спойлер

image.png.7c14e3e0fe38a4e72594ae7b1f5657c2.png

 

Баланс стал положительным, я добавил в код анализатор, который говорит, какие магики не были учтены:
image.png.2854f43fbdd32fe754f383df0c2cdafb.png

Итого вместо 271 ордера у нас учитывается только 253 и пропущено 6 магиков, которые и дали сейчас основной убыток. Соответственно, при доходе копилки в 121 бакс она, естественно пытается крыть часть ордеров. 

Далее, у тебя, скорее всего некорректно отображалась истории, если учитывать только 1 или 3 месяца, то подсчет может быть некорректный, потому что ордера у нас сортируются по цене закрытия, а вот на истории они отображаются по цене открытия. Т.к. если ты торгуешь, скажем 2 месяца локером, но у тебя есть ордера в прошлом, которые старше 3 месяцев, то из просто не будет видно из-за того, что она свернута. Это скорее всего вызвало у тебя проблемы в самые первые разы использования сова. 
Т.е. нет возможности программно разворачивать историю, то я добавил костыль - если самый первый ордер на истории не является пополнением баланса (а в 99% случаев этот так, счет вначале пополняется, потом торгуется), то можно считать, что история не полная и ее нужно развернуть. Поэтому теперь добавлено аж 2 принта - при загрузке советника и при подсчете баланса. Если же история не полная, то копилка считаться не будет, пока не развернуть ее. Костыль это потому, что история на счете может быть не полная, но так вышло, что первый ордер попал на пополнение баланса и будет считаться, что она полная. Это редкость, но быть может. 

Итого - нужно всегда разворачивать истории и следить за всеми параметрами. Принт о истории и пропущенных магиках должен теперь помощь.

Прилагаю версию с новыми дополнениями, не влияющими на работу.


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

 

Brainy Locker 1.35.ex447 скач.

Изменено 29 апреля, 2020 пользователем Rever27

#450
22 минуты назад, Rever27 сказал:

Т.е. твои ордера с магиком 0 просто не могли учитываться. 

Примерно так и думал, теперь логика параметра стала понятна

#451

Мда Rever,твоему терпению можно только позавидовать.Снимаю шляпу!

Автор#452

Благодаря специалисту с сайта MQL смог добавить в код возможность развернуть всю торговой истории, чтобы не было в будущем косяков у тех пользователей, кто забыл это сделать или сам зачем то свернул.

Теперь перед подсчетом баланса банка сов будет перебирать все ордера в истории, если их доход в сумме не совпадает с доходом аккаунта, значит будет принята попытка развернуть историю. Импорт Dll в советнике должен быть включен.
image.png.0637239b4a0b0cd6dac342b376258d17.png

Brainy Locker 1.36.ex4262 скач.

Для публикации сообщений создайте учётную запись или авторизуйтесь

Перейти к списку тем
Форум · 2.0.20260627.0025