Вопросы новичков к профессионалам Форекс

  • Автор темы Автор темы LUKA.
  • Дата начала Дата начала

Milord

Местный знаток
Это все конечно правильно,но надо понимать, что эффективность алгоритмов такого сорта в том, что они находят некоторые пики за непропорционально малое время. Будет это каждый раз один и тот же набор или разные, зависит от формы оптимизируемого пространства. Если ландшафт похож на Гималаи, то все восмитысячники будут стабильно найдены. Если же больше похож на рябь на воде - будут разные результаты на каждом прогоне. И в этом нет ничего особо криминального, в нашем деле нет строгой обязанности найти глобальный экстремум.
согласен 100%)
 

Milord

Местный знаток
...А в илане сколько проходов было и сколько возможно? На скрине соотношение триллионное.
поигрался сегодня с тестером и числом комбинаций для оптимизации, итог удивил, ниже число комбинаций близко к предельному для МТ4 build 509,время оптимизации меньше 5 минут,если это число комбинаций попытаться анализировать простым перебором на мощном i7, с производительностью 170GIPS, то ушло бы примерно 9041482.667/0.17=53185192сек,или порядка 615 суток!:not-good::facepalm:
 

Вложения

  • Screenshot - 16_12.jpg
    Screenshot - 16_12.jpg
    3 КБ · Просмотры: 17
  • Screenshot - 16_12 002.jpg
    Screenshot - 16_12 002.jpg
    8,4 КБ · Просмотры: 17

Ugar

Гуру форума
поигрался сегодня с тестером и числом комбинаций для оптимизации, итог удивил, ниже число комбинаций близко к предельному для МТ4 build 509,время оптимизации меньше 5 минут,если это число комбинаций попытаться анализировать простым перебором на мощном i7, с производительностью 170GIPS, то ушло бы примерно 9041482.667/0.17=53185192сек,или порядка 615 суток!:not-good::facepalm:
Уверен что правильно посчитал? Во первых i7 многоядерный и заявленная производительность обычно при задействовании всех. А тестер работает в один поток. Во вторых процессор в компьютере не только тестером занимается.
А какая разница сколько времени займёт оптимизация? Гораздо важнее результат. Найдёт ли тестер нужные параметры если проверяет 1 из триллиона проходов.

Уже не знаю как объяснять.
К примеру есть детский микроскоп на 100 крат. Через дырявый карман было потеряно 1000 монет где то на площади квадратного километра. Задача найти монету с самой крупной царапиной помощью микроскопа. Можно посмотреть только в 10 000 точках. При выборе точек можно использовать генетический алгоритм, то есть рандом с отбором.
Много шансов найти монету с самой крупной царапиной? Почти никаких. Мало шансов найти хоть какую то монету.
Что бы увеличить шансы нужно перейти на более грубый поиск, например избавиться от микроскопа. Или вспомнить где конкретно бродил, тем самым уменьшить площадь поиска. А самое эффективное будет применение обоих методик. А уже когда задача станет пахнуть реальностью, применить генетический алгоритм для выбора точек поиска. А когда найдено несколько монет поискать микроскопом самую крупную царапину на них. А может микроскоп и не понадобится вовсе.
По отношению к тестеру, надо уменьшить количество возможных проходов хотя бы до нескольких миллионов. Лучше не более 10.
Для начала стоит за грубить шаг подбора значений (избавиться от микроскопа). И проанализировать работу советника. Некоторые переменные, параметры которых независимы, оптимизировать отдельно (смотреть только там где ходил).
 
Последнее редактирование:

Milord

Местный знаток
Уверен что правильно посчитал? Во первых i7 многоядерный и заявленная производительность обычно при задействовании всех. А тестер работает в один поток. Во вторых процессор в компьютере не только тестером занимается.
А какая разница сколько времени займёт оптимизация? Гораздо важнее результат. Найдёт ли тестер нужные параметры если проверяет 1 из триллиона проходов.
думаю посчитал верно))
логика простая если i7 дает 170GIPS на 4х ядрах,он эквивалентен процессору однопоточному тоже на 170GIPS, МТ4 тоже однопоточный, все приведено к одной системе...
на счет того что тестер на генетике проверяет 1 из триллиона, не уверен, генетический алгоритм сложнее чем простая рандомизация,это по сути наикратчайший поиск экстремумов в многомерном пространстве....
в математике много методов поиска ответов, минуя метод полного перебора...этим и славятся генетический алгоритм и подобные...
к тому же последующая проверка по всем тикам, в 90% случаев подтверждает правильность оптимизации...а практика важнее любой теории!)
 
Последнее редактирование:

Ugar

Гуру форума
думаю посчитал верно))
логика простая если i7 дает 170GIPS на 4х ядрах,он эквивалентен процессору однопоточному тоже на 170GIPS, МТ4 тоже однопоточный, все приведено к одной системе...
Производительность на 4 ядрах не эквивалентна производительности одного ядра, на одном потоке. Откуда вдруг взялись такие мысли?
Производительность 4 ядерного процессара на одном потоке примерно равна производительности одного его ядра, то есть 25% полной производительности. Тестер, как бы он не кряхтел, не сможет нагрузить много ядерный процессор на 100% своим одним потоком.
На столе у меня стоит ноут с 2 ядрами и банка с 4.
Специально сделал скрины диспетчера задач во время оптимизации советника на 1 терминале. Это на 2 ядрах.
2core.JPG

А это на 4 ядрах.
4core.jpg

Конечно, ресурсы процессора колеблются, но это можно сказать типичные значения нагрузки процессора одним потоком.
Это если на 2 ядерном запустить оптимизацию сразу на 2 терминалах, или на 4 ядерном сразу на 4 терминалах, будет 100% нагрузка.

на счет того что тестер на генетике проверяет 1 из триллиона, не уверен, генетический алгоритм сложнее чем простая рандомизация,это по сути наикратчайший поиск экстремумов в многомерном пространстве....
в математике много методов поиска ответов, минуя метод полного перебора...этим и славятся генетический алгоритм и подобные...
к тому же последующая проверка по всем тикам, в 90% случаев подтверждает правильность оптимизации...а практика важнее любой теории!)
Я не собирался спорить. Хотел подсказать,... Видать зря. Делай как знаешь.
 
Последнее редактирование:

Milord

Местный знаток
Производительность на 4 ядрах не эквивалентна производительности одного ядра, на одном потоке. Откуда вдруг взялись такие мысли?
Производительность 4 ядерного процессара на одном потоке примерно равна производительности одного его ядра, то есть 25% полной производительности.
Я не собирался спорить. Хотел подсказать,... Видать зря. Делай как знаешь.
надеюсь не обидел ничем,дискуссия и уточнение с аргументами и фактами,это не пустой спор, и обычно обогащает обе стороны...
кстати ваш 2 ядерник на 1 поточном МТ4 почему то загрузился на 2 ядра, я такое же видел на своем 2 - ядернике... так что не все так чисто с МТ4..)
на счет производительности 4х ядерного процессора и 1-го ядерного, там такая фишка есть, если указана суммарная производительность по 4 ядрам, и она например равна 170GIPS, то если взять 1-ядерный процессор тоже на 170GIPS, то производительность у них будут равны, конечно при условии загрузки всех ядер..я про это писал..возможно мы непоняли друг друга...поэтому надеюсь без обид,рад общению, ответам и помощи, спасибо!
P.S. кстати было бы интересно от вас услышать на тему оптимизации, в плане выбора процессора, для увеличения скорости , например на каком процессоре быстрее пройдет оптимизации с одинаковыми условиями и параметрами -
1) допустим есть 2 ядерник i5 650
2)и 4-ядерник i7 2600,
на каком будет быстрее оптиться, если специально не ставить 2 (4 терминала)???
 
Последнее редактирование:

Ugar

Гуру форума
кстати ваш 2 ядерник на 1 поточном МТ4 почему то загрузился на 2 ядра, я такое же видел на своем 2 - ядернике... так что не все так чисто с МТ4..)
Я об этом писал. Процессор в копе не только тестером занимается. Есть ещё винда и куча запущенных программ. Неполный список можно посмотреть в том же диспетчере задач, на вкладке "Процессы".
1) допустим есть 2 ядерник i5 650
2)и 4-ядерник i7 2600,
на каком будет быстрее оптиться, если специально не ставить 2 (4 терминала)???
Какой i7 2600, K или S? У них частота сильно отличается.
В общем, чем выше частота ядра тем быстрее, так же имеет значение частота шины.
Не стоит забывать что в компе работает не только процессор.

Но это всё ерунда. Замена компьютера на более мощный может дать уменьшение времени оптимизации на несколько процентов.
А если грамотно продумать код советника и\или продумать сам процесс оптимизации, можно уменьшить время в несколько раз. И не надо тратить кучу денег на покупку мощного компа.
 

Milord

Местный знаток
Но это всё ерунда. Замена компьютера на более мощный может дать уменьшение времени оптимизации на несколько процентов.
А если грамотно продумать код советника и\или продумать сам процесс оптимизации, можно уменьшить время в несколько раз. И не надо тратить кучу денег на покупку мощного компа.
согласен, сравнивал по скорости оптимизации свои советники, и других авторов, причем объемы почти одинаковые, мои раз в 10 быстрее, но не у всех такие тормозные, но попадаются..:D хотя я специально код не продумывал для увеличения скорости...
с другой стороны по инету нашел про увеличение скорости в 20 раз, за счет расчетов на видеокарте, кстати "метаквоты" в МТ5 вроде бы предусмотрели эту вещь и даже распределенные вычисления...но незнаю как там на практике дела обстоят, но написано красиво и заманчиво))
 

leeway

Интересующийся
Ребят, всем доброго времени суток, с Новым Годом всех!! крепкого здоровья, остальное приложится!! Хотел задать вопрос знающим людям MQL4. Как организовать в советнике мартин, только мартин на опционном счете в гранд капитал..? За что должен цепляться сов при убыточной сделке? (p.s. именно на счете для Бинарных Опционов).
 

Milord

Местный знаток
Ребят, всем доброго времени суток, с Новым Годом всех!! крепкого здоровья, остальное приложится!! Хотел задать вопрос знающим людям MQL4. Как организовать в советнике мартин, только мартин на опционном счете в гранд капитал..? За что должен цепляться сов при убыточной сделке? (p.s. именно на счете для Бинарных Опционов).
мартин имеет простой алгоритм:
1)открываем ордер
2)если пошла просадка(лось) открываемся в ту
же сторону с увеличением лота
3)лот увеличиваем по формуле Lot=Lot*LotExp, где LotExp- коэффициент увеличения лота, обычно равен от 1 до 2, с шагом 0.1
вот и вся логика мартина, остальное все стандартное, число ордеров, магик номер и прочее...кто писал советники, все напишут как надо.
 

Ugar

Гуру форума
мартин имеет простой алгоритм:
1)открываем ордер
2)если пошла просадка(лось) открываемся в ту
же сторону с увеличением лота
3)лот увеличиваем по формуле Lot=Lot*LotExp, где LotExp- коэффициент увеличения лота, обычно равен от 1 до 2, с шагом 0.1
вот и вся логика мартина, остальное все стандартное, число ордеров, магик номер и прочее...кто писал советники, все напишут как надо.
Я так понял leeway знает как устроен мартингейл. Его интересуют нюансы на опционах при том на МТ4 от GC. Там есть хитрости.
 

Leonup

Новичок форума
Последний, несформированный, экстремум

С Новым Годом, уважаемые форумчане!

Есть вопрос. Как можно найти значение самого последнего, т. е. несформированного, экстремума стандартного индикатора ZigZag?

Спасибо.
 

ansol

Местный знаток
Как можно найти значение самого последнего, т. е. несформированного, экстремума
Можно просто спросить "как заглянуть в будущее?" или "какая будет цена 7 января?" :)
 

Milord

Местный знаток
С Новым Годом, уважаемые форумчане!

Есть вопрос. Как можно найти значение самого последнего, т. е. несформированного, экстремума стандартного индикатора ZigZag?

Спасибо.

тоже самое, что спросить - какой пол незачатого ребенка?)))):D
если я конечно верно понял ваш вопрос..
 

Leonup

Новичок форума
Можно просто спросить "как заглянуть в будущее?" или "какая будет цена 7 января?" :)

Я имел в виду текущее значение. Допустим, ZigZag был вверху графика, а потом он нарисовал текущий минимум (он потом может и перерисоваться, но это уже в данном случае неважно). И как определить значение этого текущего минимума, а не какого-то туманного будущего?
 

ansol

Местный знаток
Я имел в виду текущее значение. Допустим, ZigZag был вверху графика, а потом он нарисовал текущий минимум (он потом может и перерисоваться, но это уже в данном случае неважно). И как определить значение этого текущего минимума, а не какого-то туманного будущего?

PHP:
Expand Collapse Copy
iCustom(Symbol(), Period(), "ZigZag", ExtDepth, ExtDeviation, ExtBackStep, 0, [B]i[/B])
- если минимум на текущей свече, то он равен Low этой свечи или High, если это максимум.
А если экстремум дальше, то надо перебирать параметр i в цикле(начиная с 0), пока не доедем до ближайшего экстремума.
 
Последнее редактирование:

Leonup

Новичок форума
PHP:
Expand Collapse Copy
iCustom(Symbol(), Period(), "ZigZag", ExtDepth, ExtDeviation, ExtBackStep, 0, [B]i[/B])
А если экстремум дальше, то надо перебирать параметр i в цикле(начиная с 0), пока не доедем до ближайшего экстремума.

Спасибо за ответ. Попробую сделать. Я пока еще не сталкивался с перебором значений в истории графика.
 

qwertyuiop1234567890

Интересующийся
Доброго времени суток. я новичок и хочу спросить за что отвечает параметр UrovenR и Risk Proс в илане 3.4 не поиму прочитал что чем выше UrovenR то он точнее делает входы в сделки и тут же на писано в скобках что депо должно быть больше ведь если он точнее делает входы то и депо должно быть меньше или я чего то не понял. то же самое и по Risk Proс. Заранее благодарен за ответ.
 
Верх