Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
кстати, а где нулевой буфер в индикаторе?
вот
Нету. Это разве обязательное условие?
вроде бы нужен ;)
но вынести расчет индикатора за пределы он калькуляте мне понравилась
сейчас переделаю один свой индик, тоже в выходные нужен
вроде бы нужен ;)
Я хочу получить значения ATR. И передаю в CopyBuffer() хендл и указываю, что мне нужны значения 0-го буфера ATR.
Мой индикатор, который я делал, канальный - предназначался для работы с трендовыми линиями. Мне буферы не нужны.
вот
Да, 10 минут назад, тоже перезагрузку сделал, заметил такое, что выдал copied = 2 .
Уменьшил цикл до 100 итераций. Добавил в OnCalculate() счетчик тиков и Print
и вот что выдает
Т.е. при перезагрузке дает два дополнительных тика, на которых получаются значения из CopyBuffer(). Хотя prev_calculated все время нулевой.
Странно.
Vasiliy Pushkaryov #:
Т.е. при перезагрузке дает два дополнительных тика, на которых получаются значения из CopyBuffer(). Хотя prev_calculated все время нулевой.
Странно.
Теперь бы понять, как такой фокус сделать, но без выключения терминала.
вроде бы нужен ;)
но вынести расчет индикатора за пределы он калькуляте мне понравилась
сейчас переделаю один свой индик, тоже в выходные нужен
попробовал
не проходит, т.к. размер буфера как то считается сам
хоть и задается на моем программном уровне верно:
НО! В документации такое и все портит ;)
//---
ArrayResize
Устанавливает новый размер в первом измерении массива
int ArrayResize(
void& array[], // массив, переданный по ссылке
int new_size, // новый размер массива
int reserve_size=0 // резервное значение размера (избыточное)
);
Параметры
array[]
[out] Массив для изменения размеров.
new_size
[in] Новый размер для первого измерения.
reserve_size=0
[in] Размер для дополнительного резерва.
Возвращаемое значение
При успешном выполнении функция возвращает количество всех элементов, содержащихся в массиве после изменения размера; в противном случае возвращает -1 и массив не меняет размеры.
Если ArrayResize() применена к статическому массиву, таймсерии или индикаторному буферу, то размер массива остается прежним – такие массивы не могут быть перераспределены. В этом случае если new_size<=ArraySize(array), то функция просто вернет new_size; в противном случае будет возвращено -1.
Теперь бы понять, как такой фокус сделать, но без выключения терминала.
ну вот и все чо
с учетом вышесказанного...
1. то есть во внешнюю функцию расчеты буферов выносить не нужно
2. происходит загрузка онКалькуляте
3. нужно увеличить количество тиков
/---
итог!
внутри онкалькуляте заделать таймер, т.е. многократный прогон одного и того же циклического расчета индикатора с задержкой,
типа Sleep(3000) в цикле и там же внутри расчет
опять костыли, ahahahaитог!
внутри онкалькуляте заделать таймер, т.е. многократный прогон одного и того же циклического расчета индикатора с задержкой,
типа Sleep(3000) в цикле и там же внутри расчет
опять костыли, ahahahaСпасибо. Вызов функции с CopyBuffer(), из OnTimer() помог.
Спасибо. Вызов функции с CopyBuffer(), из OnTimer() помог.
да, тоже использовал такие приемы!
OnTimer рулит