вопрос у меня отпал сам собой я в дебажных целях писал все значения в мессаджи когда убрал это, расчеты стали на два порядка быстрее, и проблема больше не актуальна (т.е., время отнимали не расчеты как я думал, а мессаджи)
ok значит нельзя ограничить количество получаемых свечей( тогда, может быть есть способы распараллеливания вычислений в lua чтобы ускорить вычисления? многопоточность поддерживается?
понятно, что требует. Но если этого значения нет, то скрипт не стесняется выдавать nil и это правильно. Т.е. если период равен 22, а брать первые 30 значений, то он сначала выведет 22 раза nil, а для остальных 8 посчитает значение.
Скрытый текст
for i=ds:Size()-3 ,ds:Size() do ma_out=func(i, {Period=22, Metod = "EMA", VType="Close", round=2}, ds) message(tostring(ma_out)) end
почему аналогично нельзя сделать для последних 30 значений? сначала будет "ничего", а для последних свечек получу значение, этого вполне достаточно
Пробую реализовать в скрипте то что я делаю визуально использую CreateDataSource, далее мне нужны результаты индикаторов для несколько последних свечек Этот код работает прекрасно, но очень долго, т.к. получается более 2 тысяч свечей:
Скрытый текст
for i=1,ds:Size() do ma_out=func(i, {Period=22, Metod = "EMA", VType="Close", round=2}, ds) message(tostring(ma_out)) end
хочу допустим 3 последних значения:
Скрытый текст
for i=ds:Size()-3 ,ds:Size() do ma_out=func(i, {Period=22, Metod = "EMA", VType="Close", round=2}, ds) message(tostring(ma_out)) end
но этот код не работает, в случае с MA ошибка: LuaIndicators\MA.lua:83: attempt to perform arithmetic on field '?' (a nil value)
повторяется не только для MA, пробовал разные индикаторы, везде не работает если не с первого значения брать расчет можно править код индикаторов, но может есть решение более правильное, и в data source можно взять последние n значений?...
попробую объяснить что мне хочется. Я сделал таблицу с якорем, и несколько графиков с разными индикаторами и таймфреймом. Для выбора позиций, которые мне покупать, двигаюсь по списку акций в таблице и визуально оцениваю по графикам/индикаторам, интересна мне эта позиция или нет. Руками это напряжно делать, захотел с помощью Lua автоматизировать процесс, т.е. чтобы скрипт сам прошелся по всем позициям и в итоге выдал мне список интересных акций. Изучая вопрос программирования на Lua выяснилось, что для того чтобы внутри скрипта иметь доступ к данным графика и индиктора, нужно чтобы этот график был открыт. Т.е., оценить получится только одну в данный момент открытую позицию. Либо генерировать графики для всех позиций, но их получится слишком много. Подскажите, возможно ли как-то реализовать перебор позиций? Менять инструмент для графиков из Lua? Или, может, возможно как-то получать данные не открывая график?
Добрый день, хотелось бы иметь возможность срабатывания стоплосса не по единичному срабатыванию цены, а если цена условия держится какое-то время (до минуты) или сколько-то сделок. Чтобы не было срабатывания по ложному пробою. Возможно ли это сделать?
Imersio Arrigo написал: Срочный рынок или спот? Смотреть надо в соответствующие таблицы открытых позиций.
у меня отдельные табы для рынка и спота. Везде одинаково. Таблицу эту использую: Создать Окно -> Текущие торги Там есть якорь Но нет параметра "позиция" может, какой-то другой тип таблицы нужен?...
зарегистрируйте, пожалуйста Либо, тоже подойдет, поле "свои позиции" в таблице торгов. По нему можно будет фильтровать. Открытие графика из контекстного меню, к сожалению, не подходит
да, мне нужно по одному счету, и без "посторонних". Уточню, что именно мне надо. Мне хочется периодически пройти по всем своим позициям и подвигать на них стопы, или просто посмотреть на графики. Сейчас я как делаю: сделал на вкладке таблицу текущих торгов, туда добавил те позиции которые у меня есть. Рядом нужные графики, с нужными индикаторами, всё вместе заякорено. Прохожу все позиции с начала до конца и делаю то что нужно. Но, когда состав портфеля меняется, приходится руками менять список позиций в этой таблице - удалять проданные и добавлять купленные. Вот про этот момент я и спрашивал. Можно ли как-то сделать так, чтобы в таблицу попадали только мои открытые позиции? Продал что-то - и оно сразу исчезло из списка? Использование таблицы "состояние счета" помогло бы, но в ней нет якоря...
таблицу "состояние счета" нельзя заякорить (по крайней мере, у меня такая кнопка отсутствует) А в "текущую таблицу параметров" я не нашел, как вставить только свои позиции. Думал, может можно отфильтровать по полю вроде "количество куплено", но нет такого полечка:( Есть ли способ получить таблицу своих позиций с якорем? Цель - быстро пробежаться по своим позициям, посмотреть индикаторы, подвигать стоплоссы
добрый день, пробую разобраться как писать индикаторы, вроде написал. Суть - в текущей момент времени, т.е. на последней свечке, мне хочется знать некое число. Выставляю его треугольником. Но выставляются они над всеми свечками, и в глазах рябит. Мне реально нужно только одно значение, последнее. Есть ли возможность сделать это?