Оптимизация. Граничные Условия Параметров - страница 2

 
Роман:

Дело в том что я не профи-программист, MQL сходу освоил т.к. опыт был давно на С++. Уверен что другие языки и библы дают больше возможностей, но пока их использовать свободно не могу. Подумаю об этом) Кстати GPU можно же использовать через MQL, не?

А насчёт второго поста - что-то совсем голова моя маленькая не поймёт, да и отторжение у меня к слову индикатор, это ж термин из времен х486, не? самооптимизатор имели ввиду? Сначала надо найти то что самооптимизировать))

Вот вам как спецу по С# и т.п. вопрос интересный - Можно ли портировать ООП проект из MQL  в тот же шарп? есть ли переводчики грамматики языков? Есть ли библиотеки (думаю что врядли)

Добавлю для понимания - проект предготов для портирования в смысле архитектуры , а именно соблюдены следующие условия:

- классы, использующие торговые функции вынесены в группу с абстрактным интерфейсом и адаптером между остальной частью проекта

- классы, использующие спец. ф-ции граф.интерфейса MQL также.

- остальные классы используют только общие функции (мат. ф-ции, преобразование данных, изредка строки) и СБ в части коллекций данных(ветка CArray)

- специфичные ф-ции языка используются редко и могут быть легко заменены

Портируем?

 
Aleksey Mavrin:

Кстати GPU можно же использовать через MQL, не?

https://www.mql5.com/ru/search#!keyword=opencl

Поиск - MQL5.community
Поиск - MQL5.community
  • www.mql5.com
Поиск выполняется с учетом морфологии и без учета регистра. Все буквы, независимо от того, как они введены, будут рассматриваться как строчные. По умолчанию наш поиск показывает страницы...
 

Это то читали, поэтому и говорю - интересен результат - допустим у меня есть ферма с кучей видях (на комп 3-6 шт.), могу я их все использовать для оптимизации? OpenCL позволяет или есть подводные камни?

 
Aleksey Mavrin:

 OpenCL позволяет или есть подводные камни?

подводных камней нет... за исключением того, что нужно полностью писать код под расчеты на OpenCL , если кратко то вот https://www.mql5.com/ru/forum/306688/page25#comment_14116172


Aleksey Mavrin:

 Можно ли портировать ООП проект из MQL  в тот же шарп? есть ли переводчики грамматики языков? Есть ли библиотеки (думаю что врядли)

нельзя, ни MQL --> C#. ни ни C# --> MQL, ни С++ --> MQL , но можно  MQL --> С++ 

языки разные, много отличий, постоянно будете изобретать, что то, если код на MQL сами писали, то можно еще как то портировать, если код чужой, то времени потратите очень много, как писал выше - прикручивайте .dll к MQL и пользуйтесь всем, что дает терминал, производительность в MQL при подключении .dll не потеряете

 
Igor Makanu:

нельзя, ни MQL --> C#. ни ни C# --> MQL, ни С++ --> MQL , но можно  MQL --> С++ 

языки разные, много отличий, постоянно будете изобретать, что то, если код на MQL сами писали, то можно еще как то портировать, если код чужой, то времени потратите очень много, как писал выше - прикручивайте .dll к MQL и пользуйтесь всем, что дает терминал, производительность в MQL при подключении .dll не потеряете

а разве с С++ потом дальше на шарп нельзя? Хотя с dll  в принципе решается.

 
Igor Makanu:

подводных камней нет... за исключением того, что нужно полностью писать код под расчеты на OpenCL , если кратко то вот https://www.mql5.com/ru/forum/306688/page25#comment_14116172


нельзя, ни MQL --> C#. ни ни C# --> MQL, ни С++ --> MQL , но можно  MQL --> С++ 

языки разные, много отличий, постоянно будете изобретать, что то, если код на MQL сами писали, то можно еще как то портировать, если код чужой, то времени потратите очень много, как писал выше - прикручивайте .dll к MQL и пользуйтесь всем, что дает терминал, производительность в MQL при подключении .dll не потеряете

конвертеры MQL->С# , MQL->C++ есть на просторах интернета..и странно если бы их не было :-)

так что всё возможно

ps/ с некоторой аккуратностью можно писать код чтобы он собирался и в MT и С# / С++. На форуме есть люди которые именно так и делают.
 
Maxim Kuznetsov:

конвертеры MQL->С# , MQL->C++ есть на просторах интернета..и странно если бы их не было :-)

так что всё возможно

ps/ с некоторой аккуратностью можно писать код чтобы он собирался и в MT и С# / С++. На форуме есть люди которые именно так и делают.

Я так и старался в части С++. Но в шарпе же другая даже грамматика, хотя бы её то нужно переводить перед сборкой-компиляцией ? или используется только совпадающая часть грамматики, всё спать пора)

 
Aleksey Mavrin:

а разве с С++ потом дальше на шарп нельзя? 

можно, но очень долго, то что синтаксис языков состоит из десятка операторов С (if - for - return...) ничего не решает

будете постоянно спотыкаться на мелочах, на вскидку в C# нет define - вот нет и все тут, начнете через константы подставлять, потом попадется какой пример на С++ с использованием template и кастингов и все - всё потраченное время на смарку

Maxim Kuznetsov:

конвертеры MQL->С# , MQL->C++ есть на просторах интернета..и странно если бы их не было :-)

так что всё возможно

да кто же спорит, но речь идет о банальных ЕА по нескольким индикаторам, возьми чуть сложнее - все приплыли


спорить не вижу смысла, но я уже давно не трачу время на портирование, просто оборачиваю в .dll что интересует и проверяю идею в MQL - увы, у каждого продукта есть некая концепция от разработчиков, а пытаться обойти эти метко расставленные грабли, имхо время тратить, я уже этим занимался ))))



Я одно не пойму зачем портировать в другой язык? - смысл? если давным - давно была большая разница в производительности между С++ и МТ4, то сейчас между С++ и МТ5 минимум разницы в производительности, а писать свой тестер или искать аналог - смысл?

 
Igor Makanu:

можно, но очень долго, то что синтаксис языков состоит из десятка операторов С (if - for - return...) ничего не решает

будете постоянно спотыкаться на мелочах, на вскидку в C# нет define - вот нет и все тут, начнете через константы подставлять, потом попадется какой пример на С++ с использованием template и кастингов и все - всё потраченное время на смарку

да кто же спорит, но речь идет о банальных ЕА по нескольким индикаторам, возьми чуть сложнее - все приплыли


спорить не вижу смысла, но я уже давно не трачу время на портирование, просто оборачиваю в .dll что интересует и проверяю идею в MQL - увы, у каждого продукта есть некая концепция от разработчиков, а пытаться обойти эти метко расставленные грабли, имхо время тратить, я уже этим занимался ))))



Я одно не пойму зачем портировать в другой язык? - смысл? если давным - давно была большая разница в производительности между С++ и МТ4, то сейчас между С++ и МТ5 минимум разницы в производительности, а писать свой тестер или искать аналог - смысл?

если свободно владееш С++/C# то портировать(или делать сразу там) вычислительную/сигнальную там в более универсальном языке как раз разумно - чтобы крутить/вертеть/использовать в других вещах. Мир не ограничен же одним только MT.

и конечно легенды опровергать не буду :-)

ps/ положа руку на сердце - "стандратная библиотека MQL" и STL+boost несопоставимо-несравнимые вещи..

 
Aleksey Mavrin:

Задача: Определить предварительно Граничные условия для каждого параметра каждой стратегии. может выполняться на основе суждений, предположений и/или предварительных тестов, проверок.

Если мин и макс значения параметров известны (иначе как нормировать?), то что мешает задать и шаг (или даже несколько, для разных этапов оптимизации)?

А задача найти мин/макс/шаг для произвольного параметра автоматически — утопична. Встроенная в голову нейросеть решит ее на несколько порядков быстрее любой фермы с любымы ГА и опенцл. Особенно, если все писалось самостоятельно.