Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 6. - страница 261

 
tiiga:

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

это нейтросеть примерно из 100 нейрнонов(можно менять количество но даже при 10 всёравно работает медленно) у каждого свой набор из разного количества индюков от 2 до 20. если нейрон убивается за неудачу - получает новый набор индюков.

Займитесь сначала оптимизацией алгоритма, потом - кода.
 
алгоритм работает отлично, тотже самый алгоритм когда работал не с индюками а сам выделял патерны - позволял анализировать миллионы нейрнонов достаточно быстро. (около часа на пару лет истории) тормазят именно индюки.
 
и с одним динамическим индюком тоже работало боле мене быстро, но стоило увеличить их количество - сразу всё сильно замедлилось
 
tiiga:
и с одним динамическим индюком тоже работало боле мене быстро, но стоило увеличить их количество - сразу всё сильно замедлилось

Мож святой водой окропить?

Что вам можно посоветовать ещё? Вы упёрлись в то, что всё у вас правильно. Логика - отменная, алгоритм - супер. Всё отлажено, нет нигде ошибок, весь код оптимизирован на скорость исполнения.

Могу телефон Хоттабыча дать тогда.

 

вопрос был

1) отличается ли работа индюка если его через айкастом вызвать

2) имеет ил смысл попробовать выдрать расчёты из индюка и вставть в советник.

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

 
tiiga:

вопрос был

1) отличается ли работа индюка если его через айкастом вызвать

2) имеет ил смысл попробовать выдрать расчёты из индюка и вставть в советник.

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

В вашем случае (теоретически), учитывая, что при вызове индикатора с новыми параметрами, терминал загружает новую копию индикатора и производит перерасчёт всего объёма истории на графике, имеет смысл "выдрать расчёты из индюка". Не забывая при этом, добавить параметр количества просчитываемых баров. НО палка всегда "о двух концах": правильный индикатор на каждом тике пересчитывает 1-2 бара, код в советнике будет просчитывать каждый тик заданное количество баров (а их обычно для расчётов алгоритма индикатора требуется больше упомянутых 1-2 бара).

Такие сложные (адаптивные) системы нужно запускать по приходу нового бара. Новый билд (пока экспериментальный) не поможет.

P.S. Пример "выдирания" кода индикатора можно посмотреть здесь.

 

вот спасибо, это похоже то, что надо.

надо терь тока разобраться немного в этом коде:)

хорошо что он хорошо откомментирован

 
TarasBY:

В вашем случае (теоретически), учитывая, что при вызове индикатора с новыми параметрами, терминал загружает новую копию индикатора и производит перерасчёт всего объёма истории на графике, имеет смысл "выдрать расчёты из индюка". Не забывая при этом, добавить параметр количества просчитываемых баров. НО палка всегда "о двух концах": правильный индикатор на каждом тике пересчитывает 1-2 бара, код в советнике будет просчитывать каждый тик заданное количество баров (а их обычно для расчётов алгоритма индикатора требуется больше упомянутых 1-2 бара).

Такие сложные (адаптивные) системы нужно запускать по приходу нового бара. Новый билд (пока экспериментальный) не поможет.

P.S. Пример "выдирания" кода индикатора можно посмотреть здесь.


Но есть и альтернативный вариант - организовать на базе советника динамические буферы, как в индикаторе, и перенести всю логику в советник. В таком случае единственное, о чем нужно позаботиться программисту, это чтобы размер буферов автоматически подстраивался под количество баров в истории (так же как это делает терминал для индикатора). В остальном получаем преимущества советника и индикатора в одном флаконе (плюс количество буферов почти не ограничено).


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

 
я вроде слышал что стандартные индюки тоже можно модифицировать - можно ли сделать так чтобы они считали не всю историю а ограниченное количество баров?
 
tiiga:
я вроде слышал что стандартные индюки тоже можно модифицировать - можно ли сделать так чтобы они считали не всю историю а ограниченное количество баров?

Конечно, достаточно задать соответсвующее условие, в стандартных примерах это переменная limit
Причина обращения: