Новая версия платформы MetaTrader 5 build 2560: Улучшения во встроенной системе обучения - страница 16
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Неужели так трудно прикрепить ФАЙЛ к сообщению? Мало того, что без имени, без расширения, без шапки. Так ещё и самому нужно создавать файл и копировать туда код. Ай-я-яй!
Я для таких случаев заранее имею шаблон советника/индикатора с именем Test.mq5 в папке \Тесты\
Потому, что проси, не проси, а всё равно будут делать как делают.
Мы на техническом форуме, легких путей не ищем...
Из-за такого отношения к тем, кто может и должен проверить, тот, кто может и должен - уже и не должен, и не обязан.
Я для таких случаев заранее имею шаблон советника/индикатора с именем Test.mq5 в папке \Тесты\
Потому, что проси, не проси, а всё равно будут делать как делают.
Я делаю так само. Но просто надоело :)
Я делаю так само. Но просто надоело :)
Да, надоедает. А что делать? Вопрос риторический...
Wenn ich mir jetzt die resultierende Ergebnistabellen anschaue, die ich sichern konnte, sehe ich gerade einmal 127 Ergebniszeilen der genetischen Prüfung, nachdem ich 116 Zeilen - also fast die Hälfte - ohne Ergebnis gelöscht habe. Es sind die Parameter-Kombinationen, bei denen OnInit() die Ausführung mit INIT_PARAMETERS_INCORRECT verhinderte, die der genetische Algorithmus aber trotzdem als gültigen Durchlauf betrachtete. 127 tatsächliche Durchläufe bei 48906 möglichen Parameterkombination und laut Prozesszeile (siehe oben) 1408 geplanten Durchläufen. (https://www.mql5.com/ru/forum/347385/page14#comment_17599266)
Damit ist die integrierte genetische Optimierung ein reines Glücksspiel.
Sehr ärgerlich.
Когда я сейчас смотрю на таблицы результатов, которые мне удалось сохранить, я вижу всего 127 строк результатов генетического теста после удаления 116 строк - почти половина - без результата. Это те комбинации параметров, для которых функция OnInit() предотвращала выполнение с INIT_PARAMETERS_INCORRECT, но которые генетический алгоритм все равно считал допустимым запуском. 127 фактических запусков с 48906 возможными комбинациями параметров и, в соответствии с технологической линией (см. выше), 1408 запланированных запусков. (https://www.mql5.com/ru/forum/347385/page14#comment_17599266)
Это делает интегрированную генетическую оптимизацию чистой игрой в азарт.
Очень раздражает.
Переведено с помощью www.DeepL.com/Translator (бесплатная версия)
Тема затрагивалась много лет назад, но понимания со стороны разработчиков MQ нет.
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
INIT_PARAMETERS_INCORRECT при работе с облаком возвращается, как значение 32767
Stanislav Korotky, 2017.11.29 19:51
Есть большая разница между ущербным (неудачным) экземпляром, и экземпляром, который не существует. Возврат ошибки из Init говорит, что нет никаких генетических данных.
Тема затрагивалась много лет назад, но понимания со стороны разработчиков MQ нет.
The problem is that it is practically impossible for us to correct this ourselves – or am I wrong?
I can't see how the validity of the parameter combination can be checked before sending/calculating a frame, in order to avoid sending it.
Проблема в том, что мы практически не можем исправить это сами - или я ошибаюсь?Here (https://www.mql5.com/en/forum/6411) is described how the results can be displayed 'live':
Я не вижу, как можно проверить валидность комбинации параметров перед отправкой/вычислением фрейма, чтобы избежать его отправки.
Здесь (https://www.mql5.com/en/forum/6411) описано, как результаты могут быть отображены "вживую":
But: "OnTesterPass() is TesterPass event handler that is generated automatically when receiving a frame during an Expert Advisor optimization in the strategy tester.”
But this is already too late, the invalid parameter combination has already been calculated and included in the genetic optimization count - by the way, probably the same happens with already calculated combinations, which were not calculated, but included in the count. Otherwise I would probably not get 1408 runs (from the progress line), of which 116 were aborted by OnInit(), and 127 runs in the result table. That makes 1165 runs counted but not performed.
My question, is there a function, or an event-handle, that can be called before a frame is sent to calculation (into the cloud), to validate it and move the frame pointer if necessary?
Но..: "OnTesterPass() - это обработчик события TesterPass, который генерируется автоматически при получении фрейма при оптимизации эксперта в тестере стратегий".
Но уже поздно, неправильная комбинация параметров уже вычислена и включена в счет генетической оптимизации - кстати, наверное, то же самое происходит с уже вычисленными комбинациями, которые не были вычислены, а включены в счет. Иначе я бы, наверное, не получил 1408 запусков (из строки прогресса), из которых 116 были прерваны функцией OnInit(), и 127 запусков в таблице результатов. То есть 1165 прогонов было подсчитано, но не выполнено.
Мой вопрос, есть ли функция или дескриптор событий, который можно вызвать до отправки кадра на вычисление (в облако), чтобы проверить его и при необходимости переместить указатель кадра?
The problem is that it is practically impossible for us to correct this ourselves – or am I wrong?
I can't see how the validity of the parameter combination can be checked before sending/calculating a frame, in order to avoid sending it.
Да, конечно, это нужно исправлять в самом оптимизаторе. Мы сами можем только попробовать написать другой оптимизатор, либо сторонний, либо с привлечением вычислительных возможностей агентов, но без использования штатной генетики по назначению.
Es gibt ja zwei Optionen: Есть два варианта:
Nur beide sind wohl nicht ausgelegt für ein paralleles Multithreading und ich verstehe nicht ganz, warum man unbedingt im Fall 2 alles erst in "Chromosonen" überführen muss. Meiner Meinung nach würde eine Tabelle mit den besten Ergebnissen und eine zweite mit den anderen oder allen Ergebnisse genügen.
Auch würde ich mir wünschen, dass die Auswahl der 'besten' Parametersets nicht nur nach einem Kriterium erfolgt, sondern in den Pool der Besten für weitere Optimierungen neben der eigenen Formel (üblicherweise in OnTester()) auch zB. die größten Gewinne und die höchsten "Expected Profits" (=Profit/Trades) verwendet würden - warum nicht?
Только и то, и другое, наверное, не рассчитано на параллельное многопоточие, и я не совсем понимаю, почему в случае 2 все должно быть сначала преобразовано в "хромосоны". На мой взгляд, одной таблицы с лучшими результатами и второй с другими или со всеми результатами было бы достаточно.
Также хотелось бы, чтобы выбор "лучших" наборов параметров не основывался только на одном критерии, а добавлялся в пул лучших для дальнейшей оптимизации помимо собственной формулы (обычно в OnTester()), например, самой большой прибыли и самой высокой "ожидаемой прибыли" (=Profit/Trades) - почему бы и нет?
Теперь нельзя в отладчике просматривать элементы массива?
a[0] Expression could not be evaluated
Человек с флешки запускает свой Терминал, чтобы что-то показать. Считаете, что этого достаточно, чтобы я имел доступ к его телефону и электронной почте?
Выходит, что стоит мне с флешки на чьей-то машине запустить свой Терминал для, например, быстрого контроля, то я делюсь своими личными данными?
ЗЫ Более щекотлива ситуация, что если человек мне показывает не свой счет, а своего инвестора. Т.е. свой ДУ-счет. Тогда я вижу контактные данные его инвестора. Что с ними делать - только фантазии.
Это потенциально дыра в безопасности/приватности. Это нужно исправлять.
Аналогичную ситуацию описывал ранее когда на VPS человек заходил через браузер на сайт mql5 и потом терминале сам коннектится в его учётку, то есть я могу просматривать чат этого пользователя.