Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Вот пример оптимизации системы:
Никому ничего не напоминает?
И что можно сказать про эту систему в контексте предыдущих нескольких постов о робастности (обсуждать саму систему не будем, просто для рассуждения на тему робастности)?
Попробуем такую функцию.
int GetParamCount ();
void GetParamProperties (double &min, double &max, double &step);
double FF ( const double &array [] );
void SaveResultsToFiles( void );
#import
#define OnStart TmpStart
#include "testpso.mq4" // https://www.mql5.com/en/blogs/post/683577
#undef OnStart
class JooFF: public BaseFunctor
{
public:
JooFF( void ) : BaseFunctor(testGora2Param::GetParamCount())
{
for(int i = 0; i < this.params; i++)
testGora2Param::GetParamProperties(this.min[i], this.max[i], this.steps[i]);
}
virtual void test( const int loop )
{
Print("Optimizing " + typename(this));
Swarm swarm(params, max, min, steps);
swarm.optimize(this, loop);
double result[];
swarm.getSolution(result);
testGora2Param::SaveResultsToFiles();
Print(testGora2Param::FF(result));
}
virtual double calculate( const double &vec[] )
{
return(testGora2Param::FF(vec));
}
};
void OnStart()
{
JooFF jooFF;
const ulong StartTime = GetMicrosecondCount();
PSOTests::run(1000);
Print("Время: " + (string)(GetMicrosecondCount() - StartTime) + " мкс");
}
PSO[2] created: 10/3
PSO Processing...
PSO Finished 6105 of 10000 planned passes: true
0.9977455661754175
Время: 8440 мкс
Optimizing JooFF
PSO[2] created: 10/3
PSO Processing...
PSO Finished 8096 of 10000 planned passes: true
0.9918991995313576
Время: 14701 мкс
Optimizing JooFF
PSO[2] created: 10/3
PSO Processing...
PSO Finished 7905 of 10000 planned passes: true
1.000920115178711
Время: 10329 мкс
Вот пример оптимизации системы:
Никому ничего не напоминает?
И что можно сказать про эту систему в контексте предыдущих нескольких постов о робастности (обсуждать саму систему не будем, просто для рассуждения на тему робастности)?
Ничего, т.к. кастомный критерий из серии "все так делают, думать не буду".
Конечно, баланс+рековери фактор, стандартный критерий на выбор. Но я хотел поговорить о другом.
Но, всё же, картина как маслом - чуть ли не одного мастера. Мастер тут - дискретность! Гляньте на задачу с текстом и точечные графики вариантов, сходства же видны не вооруженному взгляду, это ровные ряды вариантов параметров, когда изменения параметров не приводят к изменению ФФ, и такое можно видеть чуть ли не на всех советниках (я по крайней мере никогда не видел плавного изменения ФФ с изменением параметров, как утверждают некоторые таварисчи - "ФФ советника должна быть плавной").
Далее про робастность. На картинке видим, что процентов 90 из проверенных вариантов лежат в зоне прибыльности. Это значит, что очень высока вероятность, что какой бы мы не выбрали вариант из тех что выше "ватерлинии", он скорее всего будет не намного хуже на периоде соизмеримом с периодом оптимизации. То есть чем больше прибыльных вариантов среди всех возможных, тем сложнее ошибиться с выбором (движение в сторону системы, все варианты параметров которой устойчивы на любом участке истории).
Далее, вот я выделил на графике зоны:
Верхняя зона явно выделяется на фоне остальных, я бы исключил её из претендентов на выбор в качестве рабочего варианта. Нижняя зона отпадает как убыточная. Выделяю зелёным зону, в которой на мой взгляд подходят на роль рабочих вариантов. А теперь вопрос, как выделить эти варианты из зелёной зоны в списке вкладки "Оптимизация"? Да никак! А было бы очень удобно на манер выбора зоной магазинов на карте (банкоматов, кафе, ресторанов) как предоставляют такую возможность некоторые онлайн карты. Выбрал квадратиком или кругом зону параметров - и вот они уже в списке "Оптимизация" а остальные скрыты.
За 10мс и 8000 итераций получилось среднее значение 0.996854960295162.
То есть, подтверждаете полученные мной результаты теста?
Нет. Это МРЧ-оптимизация.
Хороший результат.
Как его соотнести с общими результатами?
Хороший результат.
Как его соотнести с общими результатами?
Ну так Ваша же ФФ. В данном случае МРЧ считает побыстрее.
Я имею ввиду, что количество обращений в алгоритме от MQ мы регулировать не можем (я использовал как ориентир) поэтому сравнивал именно эти результаты, а не те, которые получались при меньшем количестве обращений.
Можно точно установить количество обращений? Иначе придется составлять таблицу с критериями ранжирования точность и количество обращений, этого делать очень не хочется, потому что вызовет сорные взгляды на результаты у разных наблюдателей.
Можно точно установить количество обращений? Иначе придется составлять таблицу с критериями ранжирования точность и количество обращений, этого делать очень не хочется, потому что вызовет сорные взгляды на результаты у разных наблюдателей.