Yedelkin: Ну а что произойдёт, когда баланс уйдёт в ноль, а функция сработает правильно? :)
Вы правы, исправлю там.
Но сейчас у меня баланс не ноль, а советник улыбается по зеленому, но прекращает работу, Абнормально и без никаких предупреждений, лучше бы и не улыбался... :)
вопрос с ошибкой (Ошибка CopyBuffer - номер ошибки: 4806) - снимаю, излечиваю его задержкой Sleep(1000); - списываю на то что индикатор не успевает создатся.
Вопрос с ошибкой (4194304 bytes not available), остаётся.
Создаться-то он скорее всего создался. Только перед копированием данных надо бы проверить наличие получаемых данных (а индикатор успел расчитаться?). Функция BarsCalculated должна помочь.
Далее вы запрашиваете все таймфреймы по символу. Если эти данные готовы - они поднимаются с диска в память, если нет - начинают строиться (тоже память расходуется) + 100 индикаторов с разным периодом на каждый ТФ и все это в памяти. Данные из памяти выгружаются не сразу (а вдруг вы еще раз запросите их)...
Создаться-то он скорее всего создался. Только перед копированием данных надо бы проверить наличие получаемых данных (а индикатор успел расчитаться?). Функция BarsСalculated должна помочь.
Далее вы запрашиваете все таймфреймы по символу. Если эти данные готовы - они поднимаются с диска в память, если нет - начинают строиться (тоже память расходуется) + 100 индикаторов с разным периодом на каждый ТФ и все это в памяти. Данные из памяти выгружаются не сразу (а вдруг вы еще раз запросите их)...
По поводу моего вопроса проблема дествительно в нехватке памяти, необходимо иметь функцию которая удаляет индюк скорее чем 30 мин. как это делает IndicatorRelease, необходима ф-я немедленного удаления, кто знаэт есть такая?
Вот здесь потенциально м.б. деление на ноль:
Нужна элементарная проверка.
Это когда, например:
На последней итерации будет выход за пределы массива.
Вот здесь потенциально м.б. деление на ноль:
Нужна элементарная проверка.
Это когда, например:
На последней итерации будет выход за пределы массива.
Круто, надо проверять если функция работает правильно?
В таком счетчике нет проблем?
Ну а что произойдёт, когда баланс уйдёт в ноль, а функция сработает правильно? :)
У оператора for не указан тип переменной i. Переменная Magic не определена. В строчке
функция OrderSelect() - лишняя. Больше ничего не заметил.вопрос с ошибкой (Ошибка CopyBuffer - номер ошибки: 4806) - снимаю, излечиваю его задержкой Sleep(1000); - списываю на то что индикатор не успевает создатся.
Вопрос с ошибкой (4194304 bytes not available), остаётся.
Создаться-то он скорее всего создался. Только перед копированием данных надо бы проверить наличие получаемых данных (а индикатор успел расчитаться?). Функция BarsCalculated должна помочь.
Далее вы запрашиваете все таймфреймы по символу. Если эти данные готовы - они поднимаются с диска в память, если нет - начинают строиться (тоже память расходуется) + 100 индикаторов с разным периодом на каждый ТФ и все это в памяти. Данные из памяти выгружаются не сразу (а вдруг вы еще раз запросите их)...
Уменьшите кол-во баров на чарте.
У оператора for не указан тип переменной i. Переменная Magic не определена. В строчке
функция OrderSelect() - лишняя. Больше ничего не заметил.Есть вне оператора.
Создаться-то он скорее всего создался. Только перед копированием данных надо бы проверить наличие получаемых данных (а индикатор успел расчитаться?). Функция BarsСalculated должна помочь.
Далее вы запрашиваете все таймфреймы по символу. Если эти данные готовы - они поднимаются с диска в память, если нет - начинают строиться (тоже память расходуется) + 100 индикаторов с разным периодом на каждый ТФ и все это в памяти. Данные из памяти выгружаются не сразу (а вдруг вы еще раз запросите их)...
Уменьшите кол-во баров на чарте.
Количество баров ничего не меняет,
проблема спрятана в периодах, для варианта
не работает, 19-5=14 - разных периодов,
если их уменьшить до 4- то все работает, например:
Хотя фу-я IndicatorRelease(m_handle) - дествительно некорректно используется.
Думаю даже если не освобождать дескрипторы функцией IndicatorRelease, всеравно должно работать,
получается проблема в количестве разных периодов.
Или...