[Советник] Forex Setka Trader Mod и [EA]-Setka📌

От ApMSoft, 24 августа, 2012 в Лаборатория ProfitFX

#9514

Уважаемый capteen!


А вот что делать со второй ошибкой? Судя по всему Вы включили опцию "бесконечное плечо"? Вам сервер отвечает что требуемая маржа = 0!



При старте бота на паре AUDNZD - опять ошибка,теперь и на центовом счете :
Цитата

zero divide in 'layer.mqh' (13,3)



Причем, при повторном старте все отрабатывается отлично. Стоит обратить внимание, что такую ошибку я встречал только на этой связке сет - пара (брокер как демо альпари, так и сент Робофорекс ).

По ошибке "ошибка не опознана" - лог и сеты во вложении.




Error.rar9 скач.

#9515

При старте бота на паре AUDNZD - опять ошибка,теперь и на центовом счете :
Цитировать

zero divide in 'layer.mqh' (13,3)


Причем, при повторном старте все отрабатывается отлично. Стоит обратить внимание, что такую ошибку я встречал только на этой связке сет - пара (брокер как демо альпари, так и сент Робофорекс ).

По ошибке "ошибка не опознана" - лог и сеты во вложении.


Не знаю как это у Вас "при повторном старте отрабатывает...", но Вы опять "наступили" на "неограниченное плечо". :( MarketInfoDouble(MODE_MARGIN_REQUIRED) возвращает 0, на который благополучно делится "что попало" :(

Спойлер

MD	0	14:00:19.344	(EA) - Setka v1.43 ADX-IMP-rel5-190517 (AUDNZD.m,M1)	[Инфо] - (MODE_MARGINREQUIRED) Размер свободных средств, необходимых для открытия 1 лота на покупку - 0.00000

Расплата за "недоверчивость" ;) Нам мало kernel_account::leverage() мы еще и сами пересчитаем (как сумеем :( ). Попробую поправить, но брехать будет. Если честно, не хочется, сейчас, такую правку вносить, потом удалять придется. Давно уже нашел 100% решение и для ZeroDivide и для Array out of range. Надо добавить и проверить как это отработает с ботом.

Увы, пока занят другим проектом. Но до этого вопроса руки дойдут.

Прошу извинить. сейчас версии 190517 у меня нет. Завтра пересоберу с коррекцией.


И еще немаловажный момент. Разберитесь со своим сетом! Там где "Ошибка не опознана" - сработала защита от некорректного ордера (для МТ4 - 130, для МТ5 - другая)! Значит Ваш сет пытается делать что-то совершенно запредельное. Почему и как тема для отдельного, весьма не простого разбора. Вам как автору это делать самое верное.


И, на последок... :) Если видите непонятку в реале (релиз-версия) - поставьте LogLevel = 3 Будет несколько больше дополнительной информации о работе бота.

Изменено 28 мая, 2019 пользователем capteen

#9516

Не знаю как это у Вас "при повторном старте отрабатывает...", но Вы опять "наступили" на "неограниченное плечо". MarketInfoDouble(MODE_MARGIN_REQUIRED) возвращает 0, на который благополучно делится "что попало"


Так вот в этом вся неприятность и есть.
Счет один. Бот с другими сетами, на других парах - сразу стартует нормально. На сете коллеги Tsd на паре AUDNZD первый пуск - ошибка zero divide in 'layer.mqh' (13,3), а при повторном запуске бот запускается как будто ничего не было.

И, на последок... Если видите непонятку в реале (релиз-версия) - поставьте LogLevel = 3 Будет несколько больше дополнительной информации о работе бота.



Ок. Понял. До этого момента выставлял всегда 4. Как написано в документации. Думал это максимальный уровень вывода сообщений.
Однако принципиальных изменений в логах не видел.

И еще немаловажный момент. Разберитесь со своим сетом! Там где "Ошибка не опознана" - сработала защита от некорректного ордера (для МТ4 - 130, для МТ5 - другая)! Значит Ваш сет пытается делать что-то совершенно запредельное. Почему и как тема для отдельного, весьма не простого разбора. Вам как автору это делать самое верное.



Пока руки до проектирования сетов не доходили, использую сеты коллеги Gureyev.

/laboratoriya-profitfx/24/open-source-sovetnik-forex-setka-trader-mod-i-ea-setka/2738/?do=findComment&comment=412389

/laboratoriya-profitfx/24/open-source-sovetnik-forex-setka-trader-mod-i-ea-setka/2738/?do=findComment&comment=415569




Добавлено: 29-05-2019 05:32:05


Если бы простенький эксель сделать, с забитыми туда формулами на закачку несколько закладок с мухи, по одной выборочной ячейке. Я бы все понял, далее бы заполнил все сам.



Очень простенький файл накидал:
1. Открываем IE, авторизируемся на myfxbook, это необходимо, чтобы сохранилась сессия, для последующей загрузке странице в экселе без авторизации.
2. Открываем книгу, и в макросе меняем ссылку на необходимую нам счет. Запускаем макрос.
3. Что бы понять какую информацию брать откуда, в google chrome(к примеру) жмем правой кнопкой на текст который мы хотим посмотреть и далее нажимаем - "Просмотреть код".
4. Соответственно Историю и Экспозицию можно взять у элементов с id = historyCont и id = exposureCont





parseMyfx.xlsm14 скач.
parse_myfx.png
history.png

Изменено 29 мая, 2019 пользователем elavr

#9517

Возможны ошибки, возможно что-то не учел. Оригинальные модули не трогал. Буду еще тестировать.



Спасибо, что продолжается разработка. Особенно за адаптацию к MT5.
Проверил импорт/экспорт сета. Отчет о различиях в приложенном файле.

P.S.
Сет (EA) - Setka v1.43 - MT5 -дефолтный - 20170412_Export.set приведен в качестве примера и содержит ошибки

EA_-_Setka_v1.43_-_MT5_-дефолтный_-_20170412_Export.set12 скач.
Report-ExportSet.htm15 скач.

Изменено 29 мая, 2019 пользователем Andrey V

#9518



Если бы простенький эксель сделать, с забитыми туда формулами на закачку несколько закладок с мухи, по одной выборочной ячейке. Я бы все понял, далее бы заполнил все сам.



Очень простенький файл накидал:
1. Открываем IE, авторизируемся на myfxbook, это необходимо, чтобы сохранилась сессия, для последующей загрузке странице в экселе без авторизации.
2. Открываем книгу, и в макросе меняем ссылку на необходимую нам счет. Запускаем макрос.
3. Что бы понять какую информацию брать откуда, в google chrome(к примеру) жмем правой кнопкой на текст который мы хотим посмотреть и далее нажимаем - "Просмотреть код".
4. Соответственно Историю и Экспозицию можно взять у элементов с id = historyCont и id = exposureCont
Спасибо, а ларчик то оказывается просто открывался! ;)

Мне кажется, или файл parseMyfx.xlsm пуст?
#9519

Так вот в этом вся неприятность и есть.
Счет один. Бот с другими сетами, на других парах - сразу стартует нормально. На сете коллеги Tsd на паре AUDNZD первый пуск - ошибка zero divide in 'layer.mqh' (13,3), а при повторном запуске бот запускается как будто ничего не было.



Думаю, что на этом брокере и на этой паре независимо от сета Вы будете получать такую ошибку.


Говоря о сете, я имел в виду что такое постоянное появление "Ошибка не опознана" - говорит о том, что бот постоянно пытается сделать что-то непотребное. Поэтому надо бы в "пошаговом" режиме смотреть где цена и куда бот пытается воткнуть ордер или ТП.

Вроде поправил ошибку в layer.mqh. Пробуйте!
Заодно убрал возможную ошибку при "нулевом спреде". Некоторые "стеснительные" брокеры не ставят в ответах от сервера значения спреда. ;)Вместо 0-ля будем получать 1.1е-20. Думаю, пока, так пойдет, если есть другие предложения готов рассматривать. Кстати! МТ5 тоже не был застрахован от таких ошибок.

Во вложении сборки "чистого", ADX-IMP и RSI-CCI-AS ( бывший AllSteps).

Всем профитов!

PS. Перекачайте архив! Изменил имена файлов!!!

EA_-_Setka_v1.43_ADX-IMP-190529.zip117 скач.

Изменено 29 мая, 2019 пользователем capteen

#9520

Использование терминала MT5

При получении отчетов тестера стратегий MT5, обратил внимание на урезаный вывод параметров сета. Последним выводится параметр S_MaxLotCoef.
Причиной оказалась последовательность "-->" в комментарии блоков "sell_tp_settings_1_43_1065_23_34_12_04_2017=SELL сетки: настройки TP (чистая прибыль) --> [уровень_БУ]+ТР" и "buy_tp_settings_1_43_1065_23_34_12_04_2017=BUY сетки: настройки TP (прибыль) --> [уровень_БУ]+ТР".
Замена последовательности "-->" на "- >" позволила вывести параметры в полном объеме.
( примеры в приложенном архиве ).

Для коллеги elavr, по функциональности Анализатора:

1. Было бы неплохо, при экспорте сета, сразу производить замену этой последовательности.
2. При загрузке отчета в Анализатор, загружать/распарсить туда данные сета из этого отчета


for_MT5_-_EA_-_Setka_v1.43_-_дефолтный_-_20170412.zip40 скач.

#9521


С первой половины марта папка не обновлялась.
Понятно, что ПО не обновляется каждый день, но обновления уже были и немало.
Мне оставлять ссылку на вашу папку в первом посте топика или на этом всё и больше там ожидать нечего?
Вопрос не требует немедленного ответа, но ссылок вникуда в топике быть не должно и ясность желательна.



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

Всем профитов!

Да, я курсе, Олег будет делать очень существенную доработку ПО анализа просадки, что потребует немало времени и сил.

Но я спрашивал о другом.
За прошедшее время блок протоколирования просадки был внесен практически во все моды нашего бота и есть возможность анализа просадок во всех выкладывавшихся в топик дорабатывавшихся разными людьми модах бота.
Причем в базового бота и некоторые моды правки в блок документирования просадки вносились многократно и было несколько релизов бота и модов с добавленным в них блоком документирования просадки.
Речь идет о модах мт4/мт5 базового бота серий (EA) - Setka v1.43 MultiMaxDD mod v1.4.х (и Setka v1.43 bzMultiMaxDD?), а также индикаторных модах бота серий aiMultiMaxDD и rcMultiMaxDD - с добавленными в них блоками протоколирования просадки.
Ничего из вышеперечисленного, кроме уже древнего мода Setka v1.43 MultiMaxDD mod v1.1.ex4, не было ни опубликовано в топике, ни выложено на гугл диск в общедоступную папку.

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

По сумме факторов, я не вижу ни одного внятного обоснования того, что моды бота с блоком протоколирования просадки в ех4/ех5 не выложены в топик и не доступны всем участникам проекта и всем форумчанам.
Конечно, это ПО не всем "по зубам", но сильные разберутся.
А мы все всегда заинтересованы в пополнении проекта сильными участниками с форума и совместного продвижения вперед!

Я могу напрячься и организовать отдельную доработку бота и модов каким-то блоком протоколирования просадки, совместимым с разрабатываемым ПО MultiMaxDD.
Это было бы дольше и хуже, но в принципе реализуемо - в программировании невозможного нет.
Но это было бы длинное, сложное, в какой-то степени конфликтное и не 100% надежное решение, частично дублирующее основную разработку ПО.
Намного надежней, быстрее и правильнее будет, если бот и все моды бота с актуальным блоком протоколирования просадки будут оперативно выкладываться в топик самими разработчиками этого непростого специального ПО!
Так мы смогли бы все вместе продолжить двигаться вперед с наименьшими трениями и с наибольшей скоростью!

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

#9522

Поддерживаю Старика:) народ, давайте делитесь и желательно в иходниках:) чтобы другим людям по сто раз не изобретать велосипеды:)

#9523
В 29.05.2019 в 17:07, Andrey V сказал:

При получении отчетов тестера стратегий MT5, обратил внимание на урезаный вывод параметров сета. Последним выводится параметр S_MaxLotCoef.
Причиной оказалась последовательность "-->" в комментарии блоков "sell_tp_settings_1_43_1065_23_34_12_04_2017=SELL сетки: настройки TP (чистая прибыль) --> [уровень_БУ]+ТР" и "buy_tp_settings_1_43_1065_23_34_12_04_2017=BUY сетки: настройки TP (прибыль) --> [уровень_БУ]+ТР".
Замена последовательности "-->" на "- >" позволила вывести параметры в полном объеме.

 


Это не сложно поправить прямо в боте. Определитесь как удобно и наглядно, я внесу правку и при следующем релизе все будет как надо. ;)

 

Изменено 17 августа, 2019 пользователем Silentspec84

#9524
В 29.05.2019 в 21:25, capteen сказал:

 

В 29.05.2019 в 17:07, Andrey V сказал:

При получении отчетов тестера стратегий MT5, обратил внимание на урезаный вывод параметров сета. Последним выводится параметр S_MaxLotCoef.
Причиной оказалась последовательность "-->" в комментарии блоков "sell_tp_settings_1_43_1065_23_34_12_04_2017=SELL сетки: настройки TP (чистая прибыль) --> [уровень_БУ]+ТР" и "buy_tp_settings_1_43_1065_23_34_12_04_2017=BUY сетки: настройки TP (прибыль) --> [уровень_БУ]+ТР".
Замена последовательности "-->" на "- >" позволила вывести параметры в полном объеме.



Это не сложно поправить прямо в боте.
Определитесь как удобно и наглядно, я внесу правку и при следующем релизе все будет как надо. ;)

 


Это вроде правится вручную в сетах.
Я туда 2 дефиса руками воткнул - руками же один дефис в комменте в сете и удалить можно :)

Изменено 17 августа, 2019 пользователем Silentspec84

#9525
В 29.05.2019 в 21:34, Старик сказал:

Это вроде правится вручную в сетах.
Я туда 2 дефиса руками воткнул - руками же один дефис в комменте в сете и удалить можно :)

 


Вполне можно. Но раз такая неприятность идет, проще один раз поправить в исходнике, а уж со следующим релизом оно и само будет правильно. Пакет правок неплохо так накапливается. ;)

Но вот как реагировать на "ошибку 130"? Для меня пока полная загадка. Как должен себя вести бот получив сообщение о неправильно расчитанном ордере. Пока я просто блокирую отправку "горбатого" ордера на сервер и результат false, от этого бот не получает кода ошибки и пишет "Ошибка не опознана". Надо из этого как-то выходить, но я не очень понимаю куда.

 

Изменено 17 августа, 2019 пользователем Silentspec84

#9526
В 29.05.2019 в 23:03, capteen сказал:

Вполне можно. Но раз такая неприятность идет, проще один раз поправить в исходнике, а уж со следующим релизом оно и само будет правильно

 


В боте лучше поправить, но сеты править все равно придется. Можно ручками, а можно поправить "(EA) - Setka v1.43+ - Анализатор статистики сеток - dagaz-elavr", исправить ошибки при экспорте сета, и включить замену "-->", например на "- >". Тогда достаточно сделать импорт-экспорт сета, и данная ошибка удалится. (Хотя ошибкой это не назовешь, скорее просто "баг")
На мой взгляд удобно при переводе сетов в MT5.

 

Изменено 17 августа, 2019 пользователем Silentspec84

#9527
В 29.05.2019 в 23:03, capteen сказал:

 

В 29.05.2019 в 21:34, Старик сказал:

Это вроде правится вручную в сетах.
Я туда 2 дефиса руками воткнул - руками же один дефис в комменте в сете и удалить можно :)



Вполне можно.
Но раз такая неприятность идет, проще один раз поправить в исходнике, а уж со следующим релизом оно и само будет правильно.
Пакет правок неплохо так накапливается. ;)

Но вот как реагировать на "ошибку 130"? Для меня пока полная загадка.
Как должен себя вести бот получив сообщение о неправильно расчитанном ордере.
Пока я просто блокирую отправку "горбатого" ордера на сервер и результат false, от этого бот не получает кода ошибки и пишет "Ошибка не опознана".
Надо из этого как-то выходить, но я не очень понимаю куда.

 


По дефису да, в исходнике поправить надо - там тоже --> в комментах к блокам ТР задается.
И надо проверить только ли в комментах к блокам задания ТР есть эта комбинация символов или я её и в комменты к 1-2 планировщикам тоже воткнул.
В описании параметров бота у меня этих --> где-то миллион... :d

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

-----

Что касается 130...
Вопрос непростой и я совсем не уверен, что им позарез надо прям сейчас заниматься.
Ну то есть в принципе решать надо, но за 2 года торгов на реале ни у меня, ни в топике реальных проблем с error130 вроде не было.
На эту ошибку немногие натыкаются в тестах - но да, не годится как бот error130 обрабатывает, зацикливание мрак.

Что касается того, что вы вставили блоки контроля модификации ордеров...
Имхо, в нашем случае это не решение, а скорее маскировка или переименование проблемы без решения проблемы по существу.
Насколько понимаю, добавленный блок контроля модификации, в лучшем случае, не допускает некорректной попытки модификации ордера и попутно меняет код ошибки, маскируя однозначно понятный error130 на невнятное false.
Нам же надо не допускать зацикливание бота на попытках некорректно модифицировать ТР - а на всё остальное, включая разовое получение от сервера error130, как бы пофиг.
Так что, если и оставлять добавленный блок контроля модификации ордеров, то лучше бы его доработать и лучше бы он возвращал стандартный и понятный код ошибки - над которым и думать предметно по факту получения.
Ну или вообще убрать и думать над кодом отлупа сервера...

Что делать с error130, полного понимания у меня тоже нет.
В прямом смысле неверно рассчитанных ордеров в боте уже давно нет - ТР и редкий стоп, кроме предположительно 1 случая со свопами, вычисляются верно (такими, какими должны быть согласно настроек и геометрии сетки).
Другое дело, что верно вычисленные ТР и стоп по каким-то причинам очень редко не могут быть изменены в ордере.

Имхо, причин невозможности присвоения ТР или стопа ордеру может быть несколько, в том числе:
1) заданные пользователем настройки сетки/ТР, не стыкующиеся со свойствами/stoplevel валютной пары.
Например, бездолларовый кросс, большой stoplevel, малый ТР - ТР на первом ордере сетки сходу не выставить, будет много error130.
Схожая ситуация может быть в густой сетке с небольшим ТР - там и не только на первом ордере error130 может быть.
1а) некорректные настройки гэп-контроля
2) резкое, иногда в 10-15 раз, временное увеличение ДЦ stoplevel пары на новостях, в ролловер, на открытии/закрытии сессии.
Десятки раз наблюдал в ручных торгах - спрэд 2-3 пипса, а stoplevel 20-30 пипсов и фиг близко выставишь ТР или стоп.
3) ложный ответ терминала: на запрос бота отвечает, что stoplevel=0 или малый - а реально stoplevel больше.
Пройдет все умные проверки, но при попытке модификации ордера error130 хоть сотни раз.
4) позиционная, когда цена окажется вблизи ТР сетки и какого-то из модифицируемых ордеров сетки.
Когда ТР сетки и цена близко к одному из ордеров и надо модифицировать ТР, а stoplevel не дает. Особенно неприятно, когда дальше ТР и близко к ТР неактивируемая отложка, которой надо выставить технический стоп близко к ТР сетки.
Во всех 5-ти этих и схожих ситуациях ТР посчитан и присваивается верно, но сервер отвергает модификацию ордера по своим соображениям - чаще всего из-за конфликта со stoplevel.


Необходимость в модификации ТР сетки может возникать по ряду причин и активироваться из нескольких мест, в т.ч.:
1) при открытии 1-го ордера сетки
2) при открытии очередного ордера сетки
3) при срабатывании гэп контроля и выставлении рыночного ордера или отложек
4) при активации очередной отложки и, если надо, перестановке других (откуда вызывается модификация не помню)
5) просто по таймеру - например, после начисления свопов в ролловер почти всегда по таймеру пересчитывается, уточняется и модифицируется ТР.
Не уверен, что это всё.
Контроль корректности и актуальности ТР многоуровневый круглосуточный и реально очень сложный, править его мало не покажется.


Имхо, полностью вылечить error130 легко не будет - править надо осмысленно и параллельно много где...
Например, маловероятно, что при открытии очередного рыночного ордера появится error130.
Тем не менее, в блок модификации ТР сетки после открытия очередного ордера надо добавить возможность после error130 переходить к модификации следующего ордера, "бросив" немодифированный ордер.

По дефолту максимум через 90 секунд сработает таймер контроля корректности ТР сетки, модифицирующий ТР если возникнет необходимость.
Тут, в свою очередь, надо добавить такой же переход к модификации очередного ордера, если error130 уже в этом блоке.
Но тут, возможно, надо добавить еще и контроль корректности задания ТР в ордерах сетки:
- потому что даже если ТР не поменяется (и модификация ордеров вызываться не должна)
- но в части "пропущенных" ордеров ранее не будет корректно задан ТР, то
- всё равно надо будет стартовать цикл модификации, чтобы присвоить корректный ТР ордерам, которым ТР ранее не был присвоен.
Но считывать и смотреть ТР в ордерах надо осмысленно, потому что у части отложек может быть индивидуальные ТР и стоп - и их надо увидеть, узнать/понять, при модификации не трогать и модификацию ТР всех ордеров из-за таких эксклюзивных отложек зря не активировать...
Всё это реально сложно увязано.


Это я по памяти писал, что-то мог и упустить, давно мы это всё продумывали...
Имхо, если error130 скорее модная тема, чем реальная проблема, то без крайней нужды туда лучше не ввязываться.
А там, может, мы с Qj error130 и разгребем летом где-то, если сложится.

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

#9528

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

В 22.05.2019 в 16:41, Altegron сказал:

немного изменил под себя и получилось очень стабильно даже с реинвестом.
Можно попробовать пропускать новогоднюю движуху, например паузить с первой недели декабря и стартовать торговлю со 2-3 недели января нового года.
 

Цитата

Цитата: Старик от Апрель 26, 2019, 05:52:46 am
Для объективного подтверждения устойчивости сета нужен тест за 3+ года с CurrencyForMinLot=7000.
Пока же объективного подтверждения устойчивости сета в длительном тесте с реинвестом у нас нет.


получите, распишитесь.
Короче! прикладываю тест 2016-по сегодняшний день, депо на старте 12900 (мультиторги), реинвест каждые 8000. Название оставляю оригинальное.

 


без изменения в наименовании сета не понятно, что было подогнано, кроме котировок?

 

 

 

В 22.05.2019 в 18:07, Старик сказал:

Коллега, при проверке устойчивости сета широта души абсолютно неуместна.
Не надо стартовать с завышенного депо. Депо должно быть равно CurrencyForMinLot.
Не надо тестировать с CurrencyForMinLot=8000, если рекомендовано лишь 7000.
Вот вы вроде и сделали проверку, похожую на ту, о которой я просил - но запрошенного теста мы так и не увидели и истинную устойчивость сета так и не установили.

 



/laboratoriya-profitfx/24/open-source-sovetnik-forex-setka-trader-mod-i-ea-setka/2738/?do=findComment&comment=424328 вот в этом посте есть в том числе и реинвест с 7000USc

 

 

 

 

В 23.05.2019 в 23:12, Старик сказал:

В вашем сете MaxOpenOrders, насколько понимаю, остались от автора и де-факто заданы от балды - депо рассчитано, а тест подтверждает, что сет на 13 колен (MaxOpenOrders=13) и именно это должно быть задано в сете. Иначе контроля над деньгами нет вообще...
С количеством колен в выложенном сете вы прокололись - в топик надо выкладывать сеты с верным MaxOpenOrders, в данном сете 13.
Но устойчивость сета (и именно с большим чем расчетно количеством колен в сете) ваш тест в целом подтвердил.

 



14 колен в сете не от балды, а на торгах так вообще стоит 12 =)
поясняю, когда делается тест с реинвестом 1 колено дается в запас, что бы увидеть, будет ли его открытие в случае слива или нет, если да то продолжаем работу и тд, но если слив будет при указанных 13 коленах, мне придется еще раз гнать тест с 14ю коленами.
поэтому ставлю сразу с запасом. в результате тест прошел на 13колен, но делать ретест с MaxOpenOrders=13 только для того что бы и в тесте и в сете и в табличке была одинаковая цифра данного параметра, просто жаль времени, ведь можно просто глянуть табличку=)

 

Изменено 17 августа, 2019 пользователем Silentspec84

#9529
В 29.05.2019 в 15:36, DENYA сказал:


Мне кажется, или файл parseMyfx.xlsm пуст?

 


Файл содержит макрос на VB.
Но чтоб он больше не выглядел пустым - чутка его подправил. ;)

 

 

 

 

 

 

В 29.05.2019 в 17:07, Andrey V сказал:


Использование терминала MT5
При получении отчетов тестера стратегий MT5, обратил внимание на урезаный вывод параметров сета. Последним выводится параметр S_MaxLotCoef.
Причиной оказалась последовательность "-->" в комментарии блоков "sell_tp_settings_1_43_1065_23_34_12_04_2017=SELL сетки: настройки TP (чистая прибыль) --> [уровень_БУ]+ТР" и "buy_tp_settings_1_43_1065_23_34_12_04_2017=BUY сетки: настройки TP (прибыль) --> [уровень_БУ]+ТР".
Замена последовательности "-->" на "- >" позволила вывести параметры в полном объеме.
( примеры в приложенном архиве ).
Для коллеги elavr, по функциональности Анализатора:
1. Было бы неплохо, при экспорте сета, сразу производить замену этой последовательности.
2. При загрузке отчета в Анализатор, загружать/распарсить туда данные сета из этого отчета

 

 



1. Анализатор не производит импорт сетов из мт5 и не осуществляет их экспорт в мт5. Попробую позже добавить такую возможность.
2. Разбор HTML отчетов MT5(да и МТ4) тем способом, который сейчас осуществляется - немножко корявый, из-за того, что Excel уж больно умный, и пытается делать то, что его не просят. В частности, речь идет об авто преобразование форматов, наличие HTML символов в текстовых строках(Например если в текстовой строке встретилась последовательность "-->" умный Эксель считает, что это HTML тэг закрытие комментария. Или к примеру в комментариях, номер колена <2> удаляется, потому - что Эксель считает это за тэг). Стоит отметить, что эксель сильно зависим от региональных настроек. Приходится применять разные костыли, которые не всегда отрабатывают корректно. Но в MT5 появилась возможность выгружать отчет в формате Excel OpenXml, который позволит решить большинство этих проблем, включая полноценный вывод параметров set'a. Т.е. сеты не надо будет править руками чтоб они корректно выводились в отчет. В ближайшее время - я постараюсь переделать загрузку отчетов на этот формат, а также сделать загрузку сета из отчета.

 

 

 

 

 

В 30.05.2019 в 04:57, Старик сказал:

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

 



Думаю не надо ничего править, проблема загрузки сетов МТ5 в анализатор Excel можно решить без таких сложностей и условностей для разработчиков сетов. )

 

 

 

 

 

 

 

parseMyfx.xlsm14 скач.
set_OpenXML.png
Пример_отчета_в_формате_OpenXML.xlsx16 скач.

 

 

 

 

 

 

Изменено 17 августа, 2019 пользователем Silentspec84

#9530
В 30.05.2019 в 04:57, Старик сказал:

Что касается 130...
Вопрос непростой и я совсем не уверен, что им позарез надо прям сейчас заниматься.
Ну то есть в принципе решать надо, но за 2 года торгов на реале ни у меня, ни в топике реальных проблем с error130 вроде не было.
На эту ошибку немногие натыкаются в тестах - но да, не годится как бот error130 обрабатывает, зацикливание мрак.

 

В 30.05.2019 в 04:57, Старик сказал:

Что касается того, что вы вставили блоки контроля модификации ордеров...
Имхо, в нашем случае это не решение, а скорее маскировка или переименование проблемы без решения проблемы по существу.
Насколько понимаю, добавленный блок контроля модификации, в лучшем случае, не допускает некорректной попытки модификации ордера и попутно меняет код ошибки, маскируя однозначно понятный error130 на невнятное false.
Нам же надо не допускать зацикливание бота на попытках некорректно модифицировать ТР - а на всё остальное, включая разовое получение от сервера error130, как бы пофиг.
Так что, если и оставлять добавленный блок контроля модификации ордеров, то лучше бы его доработать и лучше бы он возвращал стандартный и понятный код ошибки - над которым и думать предметно по факту получения.
Ну или вообще убрать и думать над кодом отлупа сервера...



Я не очень уверен что предложенное является каким-либо решением. Для этого есть несколько причин:
1. Неоднократно в тестах замечено "зависание" установки ордеров и модификации сетки при ошибке 130;

2. Как бы не была "мелка" или "незначительна" эта ошибка, серьезные брокеры грозятся блокировкой при массовых ошибках со стороны клиента;

3. Появление ошибки 1 говорит о явных неточностях в расчете параметров некоторых ордеров;

4. Я не знаю каким образом загнать желаемый код в значение "GetLastError()".

Если смущают попытки повторно исполнить неверный ордер, пока не превысим MaxRetry - могу вместо false возвращать true. Тогда бот будет считать что все хорошо до следующей проверки положения ТП (следующего тика, скорее всего). При этом в логе ничего выводиться не будет и будет совсем не понятно была ли ошибка или все хорошо. Что бы этого избежать выводить "на печать" сообщение об обнаруженной ошибке.

Пока вижу такие варианты. Убирать проверку ордера непосредственно перед отправкой - считаю в корне не верным решением!

Более корректно было бы сделать неких CallBack вызов блока, который мог бы провести анализ и корректировку неверных значений.

Массово ошибки стали проявляться на экзотических брокерах и парах. Но я и в тестах на Альпе и ЕвроБаксе эти ошибки получал (на экзотических сетах). Так что оставлять это вопрос без внимания и контроля видится не разумным.

 

 

 

В 30.05.2019 в 05:54, elavr сказал:

Думаю не надо ничего править, проблема загрузки сетов МТ5 в анализатор Excel можно решить без таких сложностей и условностей для разработчиков сетов. )
 

 

В 30.05.2019 в 04:57, Старик сказал:

По дефису да, в исходнике поправить надо - там тоже --> в комментах к блокам ТР задается.
И надо проверить только ли в комментах к блокам задания ТР есть эта комбинация символов или я её и в комменты к 1-2 планировщикам тоже воткнул.
В описании параметров бота у меня этих --> где-то миллион...




;) Решайте!

Изменено 17 августа, 2019 пользователем Silentspec84

#9531
В 30.05.2019 в 05:54, elavr сказал:

Но в MT5 появилась возможность выгружать отчет в формате Excel OpenXml, который позволит решить большинство этих проблем, включая полноценный вывод параметров set'a. Т.е. сеты не надо будет править руками чтоб они корректно выводились в отчет. В ближайшее время - я постараюсь переделать загрузку отчетов на этот формат, а также сделать загрузку сета из отчета.

 


Если есть такие планы, то, пожалуй, это оптимальное решение. Без лишних трудозатрат и всяких "костылей". ))

 

Изменено 17 августа, 2019 пользователем Silentspec84

#9532

Ребят какая в итоге самая лучшая версия робота? И почему нужно открывать 2 графика, не смогли сделать чтобы на одном торговал?

#9533
В 30.05.2019 в 13:46, roben сказал:


Ребят какая в итоге самая лучшая версия робота? И почему нужно открывать 2 графика, не смогли сделать чтобы на одном торговал?

 


Мало этого, некоторые товарищи открывают бота на 28 графиках! Но узнать об этом, и о многих других вещах можно ознакомившись с первым постом и последующими ;)

 

Изменено 17 августа, 2019 пользователем Silentspec84

#9534
В 30.05.2019 в 09:03, capteen сказал:

 

В 30.05.2019 в 05:54, elavr сказал:

Думаю не надо ничего править, проблема загрузки сетов МТ5 в анализатор Excel можно решить без таких сложностей и условностей для разработчиков сетов. )
 

 
В 30.05.2019 в 04:57, Старик сказал:

По дефису да, в исходнике поправить надо - там тоже --> в комментах к блокам ТР задается.
И надо проверить только ли в комментах к блокам задания ТР есть эта комбинация символов или я её и в комменты к 1-2 планировщикам тоже воткнул.
В описании параметров бота у меня этих --> где-то миллион...


;) Решайте!

 


Коллеги elavr и Andrey V, то, что что-то технически можно сделать, абсолютно не означает, что это непременно нужно делать!
Автоматизация техпроцесса, обработки информации должна оставаться на 100% осмысленной.
Всегда существует риск псевдоавтоматизации - делать обычно не нужное и то, чем никто или мало кто будет пользоваться, ради разового решения ничтожной или вообще отсутствующей проблемы или выдуманной задачи.
Или решать какую-то копеешную проблемку разработкой огромной спецкнопки и ломкой стандартной технологии работы с инфой ради сделать кому-то красиво.
Это псевдоавтоматизация, которую надо распознавать и которую надо всячески избегать!

Хороший пример когда ради сущей фигни типа урезать в текстовом комментарии 3 символа --> до 2-х символов ->, думаем о переходе на другой формат вывода данных (не используемый трейдерами в анализе тестов) и переводе на этот "неудобный" формат Анализатора - которым из-за другого формата данных резко перестанут пользоваться.
Здесь есть все признаки псевдоавтоматизации - проблема случайна/несистемна и устранима на уровне микро правки кода бота, не влияет ни на разработку сетов, ни на торги (лишь обрезает вывод параметров в стандартном отчете мт5), не возобновима в будущем и при этом надо сломать стандартную технологию тестирования и использовать спецформат отчета для последующего анализа в Анализаторе.
Нет смысла автоматизировать удаление одного символа в комментарии в сете - тем более, что после микроправки в коде бота, в будущем эта комбинация символов в сетах появляться не будет.
Понимаете? :)

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

Имхо, это разовая конечная проблема - которая микро правкой в коде не будет возобновляться в будущем.
И её можно решить именно как разовую.
Коллеге capteen, безусловно, надо внести микро правку в код и удалить 2-й дефис в паре комментариев.
В имеющихся сетах каждый владелец за 20 секунд может удалить лишние дефисы вручную - 50 сетов за 10 минут.
Руки ни у кого не отломятся.

Если кому-то вообще влом, ну напишите микропрогу конвертер - считали указанный файл, нашли 2 дефиса, заменили на один дефис и файл сохранить с тем же именем.
Но разработка этого кода займет больше времени, чем руками откорректировать 1000 сетов. :)


Переход на другой формат отчета тестера мт5 в Анализаторе статистики сетов надо выполнять только в случае крайней необходимости.
Абсолютно принципиально, чтобы в Анализатор статистики сеток загружался отчет тестера того формата, который люди анализируют при разработке сетов и тестировании ботов. Тогда людям не проблема загрузить полученный и изученный отчет тестера в Анализатор.
Смена формата отчета тестера, особенно если для этого надо повторять тест, резко снизит используемость Анализатора статистики сеток и, в итоге, ухудшит качество разрабатываемых сетов.
Смена формата отчета тестера мт5 может создать и лютые трудности в топике: человек выложил стандартный отчет - а мы проанализировать в Анализаторе его не можем, нужен файл другого формата... Это почти конец коллективному анализу и совместной доводке сетов.
Конечно, использование другого формата отчета тестера мт5 в Анализаторе статистики сеток в принципе допустимо - но только при уверенности, что смена формата имеет намного больше плюсов, чем создаст проблем.


P.S. Есть понятие эргономичности техпроцесса.
То есть буквально считается сколько раз вам надо нажать клавиши или кликнуть мышкой и сколько времени занимает получение необходимой сводки.
То есть каждое действие хронометрируется буквально...
Также учитывается какие процедуры вам надо выполнить, чтобы получить входную информацию и сколько времени надо для её подготовки.

Так вот идея перейти на другой формат отчета для Анализатора формально/эргономически так себе...
Разрывается единая и быстрая технологическая цепочка анализируемый отчет теста --> Анализатор - если форматы отчетов разные, то тесты анализируются в одном формате, а для смежного (и неразрывного) в техцепочке Анализатора надо получить отчет в другом формате.
То есть вместо одной оптимальной технологической цепочки надо поддерживать две - что дольше, сложней и ненадежней.
Да, перевод Анализатора мт5 на другой формат не драма и допустим - но это то, что стоит делать только при явной выгоде и точно не делать, если явной необходимости нет.

Изменено 17 августа, 2019 пользователем Silentspec84

#9535
В 30.05.2019 в 16:53, Старик сказал:

P.S. Есть понятие эргономичности техпроцесса.
То есть буквально считается сколько раз вам надо нажать клавиши или кликнуть мышкой и сколько времени занимает получение необходимой сводки.
То есть каждое действие хронометрируется буквально...
Также учитывается какие процедуры вам надо выполнить, чтобы получить входную информацию и сколько времени надо для её подготовки.

Так вот идея перейти на другой формат отчета для Анализатора формально/эргономически так себе...
Разрывается единая и быстрая технологическая цепочка анализируемый отчет теста --> Анализатор - если форматы отчетов разные, то тесты анализируются в одном формате, а для смежного (и неразрывного) в техцепочке Анализатора надо получить отчет в другом формате.
То есть вместо одной оптимальной технологической цепочки надо поддерживать две - что дольше, сложней и ненадежней.
Да, перевод Анализатора мт5 на другой формат не драма и допустим - но это то, что стоит делать только при явной выгоде и точно не делать, если явной необходимости нет.

 


Я тоже с этим соглашусь! Есть привычный орядок действий - "сохранить отчет как HTML" - "скормить" его Анализатору" - "разобраться в результатах". А тут добавляется "если МТ5, то ... (дунуть, плюнуть, станцевать "дажга-джага")..."
Как-то не серьезно.
Не могу судить насколько сложно в Экселе фильтровать входные данные, но изменить формат комментария с "-->" на "==>" ну ничего не стОит. Единственное следствие из такого изменения - переделка старых сетов, и ожидание следующего релиза.

Представляется, что второй вариант предпочтительнее.

Написанное выше НЕ решение, а только мои"5-ть копеек" к размышлениям.

Всем успехов!

 

Изменено 17 августа, 2019 пользователем Silentspec84

#9536

Сисьняюсь спросить "что делать?" Торговал версией бота [EA] - Setka v1.43 RSI-CCI-всё хорошо, всё прекрасно. Прешёл на (EA) - Setka v1.43-RSI-CCI-AS-rel-190529 - торгует в обестороны тем же сетом! Поиск ничего не дал, для версии ADX описание настроек включения фильтров есть, а для RSI нет! Как быть то, переходить на старую версию? Подскажите..

#9537

Имхо, это разовая конечная проблема - которая микро правкой в коде не будет возобновляться в будущем.
И её можно решить именно как разовую.
Коллеге capteen, безусловно, надо внести микро правку в код и удалить 2-й дефис в паре комментариев.
В имеющихся сетах каждый владелец за 20 секунд может удалить лишние дефисы вручную - 50 сетов за 10 минут.
Руки ни у кого не отломятся.



Я тоже с этим соглашусь! Есть привычный орядок действий - "сохранить отчет как HTML" - "скормить" его Анализатору" - "разобраться в результатах". А тут добавляется "если МТ5, то ... (дунуть, плюнуть, станцевать "дажга-джага")..."
Как-то не серьезно.



Что мы имеем:
1. MT5 не всегда корректно выгружает отчет в HTML. В случае если в любом текстовом поле блока параметров пользователь введет определенные теги HTML ( выявленные на текущий момент - ""), то отчет будет выводится некорректно. В лучшем случае не отобразятся остальные параметры сета,  в худшем не отобразится весь отчет.
Т.е. предлагаемая микро-правка не застрахует от неправильного вывода информации в отчет, если пользователь случайным образом укажет неправильную комбинацию символов. Думаю самым правильным решением было бы известить MetaQuotes об этом баге. В то же время OpenXML не имеет такой проблемы.

2. Способ которым сейчас разбирается HTML файл в Excel имеет ряд встроенных косяков, которые приходится исправлять костылями, и при этом нет гарантии, что не вылезет очередной.  Переписывать разбор файла другим способом, потребует лишних телодвижений которые совершать сейчас - точно нету времени.

3.  Да, я согласен, что людям которые привыкли выгружать HTML отчет, будет сложнее перейти на другую технологическую цепочку.
Но у меня тут возникает вопрос, много ли людей вообще перешло с MT4 на MT5. А те люди, которые с MT4 не работали, сразу делали одно промежуточное действие - выбирали вид формата для отчета.

4. Итого:

  • Так как добавление разбора формата OpenXML не потребует каких-то  больших трудозатрат, то он будет добавлен дополнительно. Формат HTML для MT5 как был, так и останется в анализаторе, у пользователей будет выбор, что использовать. OpenXML - более быстрый(за счет отсутствия ненужных циклов проверки и преобразования форматов полей) и надежный способ проанализировать отчет. HTML - более привычный!

  • Если кто то знает, как сообщить или готов сам сообщить в метоквоты о выявленной проблеме - буду признателен.


  • С ботом вы определились, поэтому больше этот вопрос не стоит.



P.S.Написал на форуме mql, посмотрим на результат.





Некорректно_отображаемый_отчет.htm14 скач.

Изменено 17 августа, 2019 пользователем Silentspec84

#9539

Коллега elavr, если OpenXML будет добавлен как опция, то вопрос будет исчерпан.
Наработки для мт5 это работа на будущее и чем больше возможностей будет заложено, тем лучше.
И, несомненно, реализация более однозначного варианта расшифровки отчета однозначно хорошо!
я огромный пост по наиболее точному алгоритму расшифровки отчета тестера мт4 тоже несколько суток выписывал по тем же соображениям - всё, что можно сделать лучше/надежнее, надо искать возможность сделать лучше/надежнее.

-----


Сисьняюсь спросить "что делать?" Торговал версией бота [EA] - Setka v1.43 RSI-CCI-всё хорошо, всё прекрасно.
Прешёл на (EA) - Setka v1.43-RSI-CCI-AS-rel-190529 - торгует в обестороны тем же сетом!
Поиск ничего не дал, для версии ADX описание настроек включения фильтров есть, а для RSI нет!
Как быть то, переходить на старую версию? Подскажите..


Теоретически коллега capteen делал этого мода по мотивам старого мода RSI-CCI и новое в том, что добавил применение индикаторов не только на первом, но и на последующих коленах сетки.
Расширенные возможности по умолчанию/дефолтно должны быть отключены и новый мод, по идее, должен торговать как старый - а сеты старого мода по идее должны подходить новому.
я понял так и, поэтому, добавил ссылку на (EA) - Setka v1.43-RSI-CCI-AS в 1-й пост топика.
Не думаю, что capteen прокомментирует ваш вопрос как-то иначе. :)

-----

Я пробовал тестер стратегий в MT4 и ни одной ордера с 4 января по 30 мая. В чем причина? Брокер Forex4you


Никто не видит что вы делаете вообще и никто представления не имеет что вы делаете не так.
Попробуйте:
1) в тестере на том же счете ф4ю попробуйте протестировать любой другой сет
2) этот же "проблемный" сет попробуйте протестировать в тестере на демо счете в терминале любого другого ДЦ.

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

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