Некорректный возврат минимума функцией CreateDataSource

Страницы: 1
RSS
Некорректный возврат минимума функцией CreateDataSource
 
Добрый день! Подскажите пожалуйста насчет поведения функции CreateDataSource.Не могу понять, почему функция выдаёт наверное значение по минимуму. Хотя по максимуму выдаётся все верно.

Код функции
Скрытый текст
 
Результат выполнения
Скрытый текст
 
Выдаётся результат
Максимум 285
Минимум 82

Максимум верный, минимум должен быть 165
 
Цитата
Сергей Запольских написал:
Максимум верный, минимум должен быть 165

нет не должен, от куда такая инфомрация?
Вы в коде, на дневном интервале просматриваете свечки за последние 1000 дней, и в этом периоде был минимум ~82. почему Вы считаете что за последние 1000 дней не было такого минимума?
 
Цитата
Sergey Gorokhov написал:
Цитата
Сергей Запольских написал:
Максимум верный, минимум должен быть 165

нет не должен, от куда такая инфомрация?
Вы в коде, на дневном интервале просматриваете свечки за последние 1000 дней, и в этом периоде был минимум ~82. почему Вы считаете что за последние 1000 дней не было такого минимума?
Как и где изменить это значение которые будет соответствовать заданному интервалу?
Насколько я понял
Код
ds, error_desc = CreateDataSource("TQBR", "SBER", INTERVAL_D1)
ds:Size()
ds:Size() содержить уже кол-во свечей за указанный промежуток времени. Если это не так, то как реализовать скрипт чтобы он выдавал кол-во свечей за указанный промежуток времени?
 
Цитата
Сергей Запольских написал:
ds:Size() содержить уже кол-во свечей за указанный промежуток времени.

В функции CreateDataSource Вы указываете НЕ "промежуток времени", Вы указываете интервал (таймфрейм) графика.
INTERVAL_D1 - означает дневной интервал.
Т.е. Вы заказываете кучу дневных свечек, а не свечки за 1 день как Вам кажется

Цитата
Сергей Запольских написал:
Если это не так, то как реализовать скрипт чтобы он выдавал кол-во свечей за указанный промежуток времени?

Вы это сами написали:
local current_candle = ds:Size()
local max_candles = math.min(1000, ds:Size())  
...
while current_candle > ds:Size() - max_candles do

max_candles получается равным 1000.
т.е. в цикле Вы и перебираете последние 1000 свечек.


Ваш текущий код по русски звучит так: "взять последние 1000 свечек дневного графика и пробежаться по ним"

а зачем вообще потребовалось пробегаться по всему графику?
если Вам надо выяснить мин макс за день, то не проще с дневного графика, со свечки текущего дня вытащить hight и low?
ds:H(ds:Size())
ds:L(ds:Size())
Страницы: 1
Читают тему
Наверх