ffeast / hacktrade

Nano-framework for HFT-robots development.
41 stars 8 forks source link

Запрос всех полей индикатора #7

Closed ffeast closed 5 years ago

ffeast commented 5 years ago

При необходимости работать с несколькими полями индикатора, сейчас надо делать вот так: local whatever = ind.highs[-1] - ind.lows[-1] + ind.opens[-1] + ind.closes[-1] Мало того, что это избыточно в коде, это каждый раз приводит к вызову getNumCandles и getCandlesByIndex

Предлагается добавить возможность забирать все поля одним вызовом, чтобы можно было сделать вот так:

local item = ind[-1]
local range = item.high - item.low + ind.open + ind.close

или более явно

local item = ind.all[-1]
local range = item.high - item.low + ind.open + ind.close

старый синтаксис с указанием поля остается без изменений. Пример:

local last_close_of_line_0 = ind.closes[-1]
local last_open_of_line_1 = ind.opens_1[-1]
ffeast commented 5 years ago

done https://github.com/ffeast/hacktrade/commit/a4b44e85a9c56a5c842331de6958546a215e090e

ffeast commented 5 years ago

Вернул дефолтное значение closes вместо all, теперь таблицу возвращает .values, который сейчас дублирует closes - так выглядит более консистентно + не ломает backward compatibility прямого обращения по индексам (e6cf612b06d73713dca8a9c4865b88517dad2187)