Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Оптимизируйте по битным полям, в таком варианте лишних проходов не будет.
например:
и оптимизируйте в заданных параметрах, для данного примера bp оптимизируется от 0 до 3
Только вы вердикт забыли написать можно или нет.
Да как же "проще"? :) Наличие условий хоть для удаления эксперта, хоть для REASON_INITFAILED - всё равно нужно отслеживать. Вот это-то и выглядит муторно.
Получается в принципе рабочий набор параметров дает нулевой результат и в дальнейшей селекции не участвует.
При отсутствии элегантного решения можно сначала использовать тот, что "проще". Найдётся что-то лучше, всегда можно заменить. :)
Не совсем так, если речь идёт про мою муторную идею. При "рабочем наборе параметров" и первом trpar2=false проход выдаст вполне себе рабочий результат. При всех же остальных проходах с тем же "рабочим набором параметров" и trpar2=false будут сразу выдаваться нули, но при этом Ваш "рабочий набор параметров" в селекции-то поучаствует по любому. Ведь именно это Вы хотели?
Можно чуть поправить. Оптимизационные параметры записывать в структуры, а с ними (структуры простые) работать как с переменными. Что то такое
if(!trpar && Par1==Parold1 && Par2==Parold2) { Parold1=Par; Parold2=Par2 ; return(9) } Здесь Par и Parold структуры в которые пишутся оптимальные параметры с других валютных пар. Сколько пар столько и ифов , выглядит не так уж безобразно. Спасибо.
Ещё раз: муторность не в том, какой командой досрочно завершить проход - это достаточно примитивное решение, каким бы оно не было. Муторность - в отслеживании условий для досрочного завершения прохода. От того, что проход будет завершаться досрочно с помощью Вашего предложения, муторность самого "блока слежения" никак не уменьшается, а элегантность этого блока никак не увеличивается.
Ну и что Вы хотели этим сказать? Что при отсутствии элегантного решения не использовать вообще никакой? Даже, если он есть, но, как Вы выражаетесь - "муторный"?
Короче, проехали. А то от флуда больше муторно, чем от кода. :)
Можно чуть поправить. Оптимизационные параметры записывать в структуры, а с ними (структуры простые) работать как с переменными. Что то такое
if(!trpar && Par1==Parold1 && Par2==Parold2) { Parold1=Par; Parold2=Par2 ; return(9) } Здесь Par и Parold структуры в которые пишутся оптимальные параметры с других валютных пар.
Можно чуть поправить. Оптимизационные параметры записывать в структуры, а с ними (структуры простые) работать как с переменными. Что то такое
if(!trpar && Par1==Parold1 && Par2==Parold2) { Parold1=Par; Parold2=Par2 ; return(9) } Здесь Par и Parold структуры в которые пишутся оптимальные параметры с других валютных пар. Сколько пар столько и ифов , выглядит не так уж безобразно. Спасибо.
Есть ещё один вариант (надо же, из головы вылетело).
Посмотрите функции: OnTesterInit(), OnTesterPass(), OnTesterDeinit()
И: FrameFirst(), FrameFilter(), FrameNext(), FrameInputs(), FrameAdd()
Они прямо для этого и предназначены. :)
То есть, всегда можно запросить все параметры любого прохода в текущей оптимизации в любой момент времени.