Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 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