Сделал я как-то такую штуку ... - страница 2

 
а вот такую апроксимацию https://ru.wikipedia.org/wiki/Кубический_сплайн вы не пробовали ? в маткаде это встроенная функция. очень красиво иногда получается. програмировать её на MQL я даже не пытался (зная свою криворукость). видя ваши коды я понимаю, что вам это по плечу. Если вдруг сделаете было бы интересно, если нужно готов помочь в сравнении правильности расчетов маткада и MQL кода
 
Prival:
а вот такую апроксимацию https://ru.wikipedia.org/wiki/Кубический_сплайн вы не пробовали ? в маткаде это встроенная функция. очень красиво иногда получается. програмировать её на MQL я даже не пытался (зная свою криворукость). видя ваши коды я понимаю, что вам это по плечу. Если вдруг сделаете было бы интересно, если нужно готов помочь в сравнении правильности расчетов маткада и MQL кода

Дело в том что сама по себе аппроксимация меня не слишком интересует, меня интересует именно возможность экстраполяции. И желательно какой-нибудь физический смысл за ней видеть. А сплайны вроде на это не рассчитаны. Какой физический смысл может стоять за сплайнами?

Кстати, мы же вроде на "ты" были раньше?

 
Prival:
програмировать её на MQL я даже не пытался (зная свою криворукость). видя ваши коды я понимаю, что вам это по плечу. Если вдруг сделаете было бы интересно, если нужно готов помочь в сравнении правильности расчетов маткада и MQL кода

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

 
Andrei01:

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


Вообще говоря отказ от некоторых правил, правильных для больших проектов, позволяет иногда здорово ускорить программу. Особенно это актуально для MQL, с учётом специфики применения. Могу признаться, что иногда для отладки я использую более или менее структурированный код, а по завершении разворачиваю его обратно в линейный :). Хотя это наверное экстремизм :).

Но в данном случае я намеревался быстро посмотреть "что будет если", поэтому это линейный код в чистом виде.

 
Andrei01:

Криворукость в программировании - это просто не знание нескольких простых правил аккуратного написания программ.

Чушь.

Как только человек их поймет - криворукость сразу пропадает.

Чушь.

тело основной вызываемой функции не должно содержать вычислительного кода

Это почему же?

Candid:

Однажды я вдруг осознал простую вещь: аппроксимация по методу наименьших квадратов по сути сводится к минимизации линейной комбинации векторов. То есть можно изготовить некую универсальную функцию-аппроксиматор. Сказано - сделано, вот заголовок функции:

Вот где Вы раньше были? Буквально вчера закончил писать то же самое, правда на С++. Спасибо, тоже пригодится.

 
Candid:

Вообще говоря отказ от некоторых правил, правильных для больших проектов, позволяет иногда здорово ускорить программу. Особенно это актуально для MQL, с учётом специфики применения. Могу признаться, что иногда для отладки я использую более или менее структурированный код, а по завершении разворачиваю его обратно в линейный :). Хотя это наверное экстремизм :).

В данном случае я намеревался быстро посмотреть "что будет если", поэтому это линейный код в чистом виде.

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

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

 
TheXpert:

1. Чушь.

1. Чушь.

2. Это почему же?

1. Это почему же чушь? На чем основан такой вывод?

2. Структура нормально написанной программы (любой степени сложности) должна быть полностью видна и читаема в главной функции.

Если программист криворук и неаккуратен то он на это не способен, шо превращает программу в плохочитаемую, включая для самого криворукого программиста шо приводит в дальнейшем к размножению криворукости при любой модернизации и изменении кода.

 
Andrei01:

1. Это почему же чушь? На чем основан такой вывод?

2. Структура нормально написанная программы (любой степени сложности) должна быть полностью видна и читаема в главной функции.

Если программист криворук и неаккуратен то он на это не способен, шо превращает программу в плохочитаемую, включая для самого криворукого программиста шо приводит в дальнейшем к размножению криворукости при любой модернизации и изменении кода.


Может мастер-класс покажете, а не будете других хулить.

Обычно сказав "А" нужно еще и говорить "Б".

 
Vinin:


Может мастер-класс покажете, а не будете других хулить.

Обычно сказав "А" нужно еще и говорить "Б".

Что именно Вас интересует, не могли бы уточнить? Как сворачивать код в функцию чтобы в главной функции не было разбросанного тут и там вычислительного кода?

 
TheXpert:
Гг :) а если нету этой самой главной функции? Вобщем без комментариев :)
Обходитесь без главной вызываемой функции start()? Неужели ничего про такую функцию не слышали? :)
Причина обращения: