Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Добрый день!
Можно ли из скрипта изменить начальную и конечную даты периода оптимизации, которые были установлены при запуске скрипта?
В этом случае можно было бы расширить варианты оптимизации.
С уважением, Александр
Можно ли из скрипта изменить начальную и конечную даты периода оптимизации, которые были установлены при запуске скрипта?
Спасибо!
Вы получили opt-файл в байтовый массив. Дальше его надо подать в Cache.
Добрый день!
Вопрос касается процедуры Run.
Не могу понять, почему команда: Settings[0] = Cache.TesterString(Pos);
сильно портит строку настроек Settings[0] .
Ниже текст кода, а данные из лога прикреплены.
С уважением, Александр.
Run(Settings[0]); // Прогон генетической оптимизации по параметру TF
TESTERCACHE<ExpTradeSummary> Cache;
GLOC = MTTESTER::GetLastOptCache(Bytess); // Получили opt-файл в байтовый массив Bytess
CL = Cache.Load(Bytess); // Подаём в Cache байтовый массив Bytess
Print(" GLOC = ",GLOC," CL = ",CL); // Диагноз записи и чтения
// ProfitNow = Cache[GetMaxProfitPos(Cache)].profit; // Максимальная прибыль https://www.mql5.com/ru/forum/318998/page2#comment_13846951
int NomProchMaxProfit = Cache[GetMaxProfitPos(Cache)].Pass; // Номер прохода с максимальной прибылью
// Cache.GetInputs(IndexMaxProfitRuna,Paramas);
// prWrite2 = Cache.Save(OptFile); // Сохранили результат Run в opt-файл в MQL5\Files
// prRead2 = Cache.Load(OptFile); // Прочитали для проверки из MQL5\Files
// Print(OptFile+" записали = ",prWrite2," прочитали = ",prRead2); // Диагноз записи и чтения
Pos = GetMaxProfitPos(Cache);
Cache.SaveSet(Pos); // Создали set-файл самого прибыльного прохода в MQL5\Files
Print("Pos = ",Pos," NomProchMaxProfit = ",NomProchMaxProfit);
Print("Перед Cache.TesterString(Pos) ",PrGenetic," NumPeriod=",NumPeriod,"\nКонтроль генетики: \n",Settings[0]);
Settings[0] = Cache.TesterString(Pos); // Запись новых настроек в строку текущих настроек
// В предыдущей команде строка Settings[0] сильно уродуется, хотя значение TF=20 установливается правильное
Print("После Cache.TesterString(Pos) ",PrGenetic," NumPeriod=",NumPeriod,"\nКонтроль генетики: \n",Settings[0]);
// В предыдущей команде строка Settings[0] сильно уродуется, хотя значение TF=20 установливается правильное
Не понял.
Добрый день!
Команда Settings[0] = Cache.TesterString(Pos); устанавливает в Settings[0] сильно искаженную информацию, хотя найденное оптимальное значение TF=20 устанавливается правильно.
Но уже сама структура Settings[0] разрушена. Даже правая граница интервала для TF заменена с H1 на M12.
В приложенном log строка Settings[0] распечатана до и после исполнения указанной команды.
Не могу понять, почему эта команда так сильно искажает строку Settings[0].
Не могу понять, почему эта команда так сильно искажает строку Settings[0].
Пришлите в ЛС opt-файл.
Optimization=1 изменен, хотя не должен меняться
Если выбрали ГА, но при этом малое количество проходов, то Тестер автоматически переходит в режим полного перебора. Поэтому opt-файл после выбора ГА иногда показывает, что был полный перебор. Чтение этого значения верное.
Далее изменены структуры данных по многим параметрам:
Baza=46 Правильно должно быть: Baza=46||20||1||50||N
Диапазоны неоптимизируемых параметров не прописываются (исключение - bool-параметры) в opt-файл. Как следствие, изменение такого диапазона не влияет на генератор названия opt-файла. Здесь верная работа.
Применение таких "сокращенных" настроек не нарушает ранее выбранные диапазоны неоптимизируемых входных параметров.