Какой функцией получить прибыль по инструменту.

Страницы: 1
RSS
Какой функцией получить прибыль по инструменту., LUA скрипты
 
Здравствуйте!
Как получить с помощью LUA скрипта значение "Нереал PL" из таблицы "Состояние счета" ?
И сопутствующий вопрос - какой функцией закрыть позицию по инструменту ?
Спасибо.
 
Добрый день.

Доступа через QLUA к таблице "Состояние счета" в текущей реализации нет.

По поводу закрытия позиции. То Вам необходимо использовать функцию:sendTransaction
Описание доступных транзакций можно посмотреть в руководстве пользователя QUIK. В разделе Формат .tri-файла с параметрами транзакций.
 
Цитата
Egor Zaytsev написал:
Доступа через QLUA к таблице "Состояние счета" в текущей реализации нет.
т.е. Получить "Нереал PL" никак невозможно, только в ручную? Это крайне не удобно.
В будующем эта опция будет доступна ?
 
Цитата
Илья написал:
Цитата
Egor Zaytsev   написал:
Доступа через QLUA к таблице "Состояние счета" в текущей реализации нет.
т.е. Получить "Нереал PL" никак невозможно, только в ручную? Это крайне не удобно.
В будующем эта опция будет доступна ?
Добрый день,

Можем зарегистрировать пожелание на доработку относительно возможности работы с таблицей "Состояние счета" из QLUA. Регистрируем?
 
Цитата
Stanislav Tvorogov написал:
Цитата
Илья написал:
Цитата
Egor Zaytsev   написал:
Доступа через QLUA к таблице "Состояние счета" в текущей реализации нет.
т.е. Получить "Нереал PL" никак невозможно, только в ручную? Это крайне не удобно.
В будующем эта опция будет доступна ?
Добрый день,

Можем зарегистрировать пожелание на доработку относительно возможности работы с таблицей "Состояние счета" из QLUA. Регистрируем?
Конечно регистрируйте! Сейчас конец марта 2021 -- в версии 8.11.00.66 можно получить доступ  "Нереал PL" из таблицы "Состояние счета" ? Очень нужная вещь!
 
Юрий Волошин, Может, и нужная, но глючная до невозможности! Давным-давно всё своё считаю сам.
 
Цитата
Илья написал:
Как получить с помощью LUA скрипта значение "Нереал PL" из таблицы "Состояние счета" ?
Вот так можно получить значение "Нереал. PL" из таблицы "Состояние счета":
message('= '..getBuySellInfo(firm, client, birzhaSPBDE, 'DPW@DE', 0).profit_loss)
 
Добрый день.

Доступа к таблице состояния счета нет.
Параметр Нереал.PL можно получить из таблицу Купить/Продать, параметр Прибыль дня.
 
Цитата
Egor Zaytsev написал:
Параметр Нереал.PL можно получить из таблицу Купить/Продать, параметр Прибыль дня.
Интересно... Но я не совсем Вас понимаю... Можно кусок кода Lua QUIK для примера? Я только с примерами понимаю :-)
 
Цитата
Egor Zaytsev написал:
Параметр Нереал.PL можно получить из таблицу Купить/Продать, параметр Прибыль дня.
Можете привести кусочек программного кода Lua QUIK, который быстро и красиво находит и возвращает код самой прибыльной акции в портфеле этого счёта через таблицу Купить/Продать?
 
Юрий Волошин, Да как нефиг делать! Только не "через таблицу Купить/Продать", а самостоятельно всё рассчитав. Считаем сумму мгновенной ликвидности по каждому тикеру, делим её на сумму затрат по нему же, умножаем на 100% и отнимаем 100%. Получаем процент прибыли/убытка (в моей таблице это восьмой столбец). Сортируем по нему и смотрим на первую (или последнюю, в зависимости от вида сортировки) строку таблицы.

Реальность, правда, несколько более сложная, а потому я (и скрипт мой) на данные 8-го столбца почти никогда не смотрим, а принимаем решения, ориентируясь на данные 12-го, 13-го и частично 14-22 столбцов. :smile:  
 
Цитата
Юрий Волошин написал:
Цитата
Egor Zaytsev написал:
Параметр Нереал.PL можно получить из таблицу Купить/Продать, параметр Прибыль дня.
Можете привести кусочек программного кода Lua QUIK, который быстро и красиво находит и возвращает код самой прибыльной акции в портфеле этого счёта через таблицу Купить/Продать?
Готового примера у нас нет. Логику выборки Вам нужно написать самостоятельно.
 
Цитата
Владимир написал:
Реальность, правда, несколько более сложная - принимаем решения, ориентируясь на данные
А как в Lua QUIK из списка, скажем, 100 акций выбрать ту, которая временно просела в цене, чтобы именно её купить именно сейчас? Как быстро и красиво определить по каждой акции из списка те, которые просели сегодня по какой-то причине относительно своего "нормального" уровня?
 
Юрий Волошин, А никак! Что значит "просела в цене"? На каком таймфрейме? Минутном? Часовом? Месячном? Годовом? А уж насчёт "временно" и сам Господь не ответит - тем более, "быстро и красиво". И не существует в природе никакого "нормального уровня" - здесь все уровни ненормальные! :smile:  
 
Юрий Волошин, проверить в цикле все 100 акций на предмет просадки цены. Обычно будет целый список а не один отдельный инструмент, так что для вывода результата целесообразно использовать массив вместо одной переменной.
 
Артем, Проверьте хоть одну "на предмет просадки"!  :wink: Это Вам не "использовать массив вместо одной переменной"- это алгоритм, и алгоритм весьма серьёзный. Кстати, мой скрипт определяет как раз не "целый список", а именно "один отдельный инструмент", чтобы вложить деньги здесь и сейчас именно туда, куда нужно, а не распылять их по всему "целому списку".
 
Цитата
Артем написал:
проверить в цикле все 100 акций на предмет просадки цены
Спасибо. Да, наверно надо искать именно просадку -- остальные критерии в данном случае вторичны, имхо...
 
Цитата
Владимир написал:
именно "один отдельный инструмент", чтобы вложить деньги здесь и сейчас именно туда, куда нужно, а не распылять их по всему "целому списку"
Да, с точки зрения уже не инвестора, а трейдера -- именно это важно в моменте -- один лучший вариант "здесь и сейчас"
 
Юрий Волошин, Инвестор отличается от трейдера разве что масштабом по времени. :smile:  
 
Владимир, посчитать тангенс движущегося окна это не "серьезный алгоритм".
 
Артем, Посчитать тангенс - не серьезный, а вот проверить акцию на предмет просадки - серьёзный. :smile:  
 
Тангенс ниже нуля = просадка. Осталось только выбрать ширину окна и настроить нелинейность. Можно еще вторую кривую бахнуть чтобы короткие тренды ловить. Более простой метод это фракталы посчитать. Но это речь идет о "поймать просадку", найти идеальный момент для покупки это отдельная история и в целом оно вычислению не поддаётся вообще, в силу того что ценовая динамика зависит от психологии торговцев или, по простому говоря, от веления их левой пятки - тут можно максимум сделать статистически благоприятную результативность. Еще конечно можно пытаться эксплуатировать алгоритмические уязвимости в системах конкурирующих алготрейдеров, но вероятность такого сценария такова, что можно смело жопу ставить.
 
Артем, Что Вы говорите?! Нобеля, немедленно! АДНАЗНАЧНА! :smile:

Речь идет о тайфрейме, на котором Вы собрались "поймать просадку", и даже будучи найденной это вовсе не "идеальный момент для покупки". :wink:  
 
Цитата
Артем написал:
Тангенс ниже нуля = просадка
Интересно, спасибо
 
Юрий Волошин, Тангенс - это всего лишь скорость.И просадка после этого может  продолжаться секунды, минуты, часы, дни, недели, месяцы. :smile:  
 
Владимир, что спрошено то и отвечено. 🤔


От себя могу добавить то, что пытаться применять такие методы анализа как полосы боллингера я считаю нерезонным. Индикаторы, имеющие хорошую предсказательную силу, представляют собой "чёрный ящик" в котором, несмотря на открытость данных и настроек, невозможно разглядеть какую-либо логику и здравый смысл.
 
Артем, Отвечено Вами, в переводе на Lua, вот что:
for i=1,n do
end
Гениально! А внутри-то что? :smile:

Вся "предсказательная сила" есть штука вероятностная, поэтому все индикаторы врут, поэтому лично я ими не пользуюсь. И вообще графиками.
 
Владимир, лично у меня внутри код вот такого вида:
Код
for k = 1, #self.source do 
  local s = self.source[ k ]; v[ k ] = s.filter ( datasource, index, s.sampler, s.args )
end
...
elseif #s == 3 then 
  local a, b = ( v[ 1 ] + v[ 2 ] ) / 2, v[ 1 ] - v[ 2 ]
  return eval ( ( v[ 3 ] - a ) / b, self.thresholds )
elseif
...
что конкретно находится в параметрах это есцно проприетарная информация.


Внутренний алгоритм это тоже индикатор, только без отображения на графике.
 
Артем,Вот и я про то же: без раскрытия того, что внутри, Ваш совет просто пустышка.

А у меня внутри опрос текущих курсов, прорисовка таблицы визуализации, подсчёт разной фигни (в т.ч. свечей по разным таймфреймам) и принятие решений на покупку или продажу по результатам этих подсчётов. Но без тангенсов! :smile:  
 
Владимир, ок. Вот один случайно набор параметров:

Код
A: средневзвешенное среднее от разницы между верхней и нижней ценой за 4 свечки
B: минимальная цена закрытия за 5 свечек
C: максимальная средняя реальная цена за 3 свечки
покупка если A на 10%+ ближе к B чем к Cпродажа если A на 20%+ дальше от B чем от C 


Не идеально но достойно.
 
Артем, Господи, какой только хернёй Вы занимаетесь!

Почему "среднее", почему "от разницы", почему "между верхней и нижней ценой", почему "за 4 свечки", почему "минимальная цена", почему "закрытия", почему "за 5 свечек", почему "максимальная средняя реальная (!) цена", почему "за 3 свечки",  почему "10%", почему "20%"?! НУ БУКВАЛЬНО ВСЁ притянуто за уши! И это Вы называете "не идеально, но достойно"? Ха-ха-ха! Кстати, что там за свечи? Годовые, небось? :smile:  
 
Цитата
Артем написал:
Вот один набор параметров:
Интересно. Спасибо. Есть над чем подумать...
 
Владимир, свечи минутные - в заголовке написано же.


Про отсутсвие логики и здравого смысла в параметрах индикатора я уже говорил. Здравого смысла и логики в поведениии живых торговцев тоже в районе нуля. Надо тумберы щёлкать и ресотаты крутить пока заработает.
 
Владимир, средняя реальная цена это (H + L + C) / 3.
 
Артем, Да не смотрел я ни на какой заголовок! А ПОЧЕМУ "свечи минутные"? А вдруг мы ловим месячный просад? Я и спросил в том смысле, что мы обязаны знать таймфрейм ЗАРАНЕЕ. И какое нам дело до "отсутствия логики и здравого смысла в поведении живых торговцев"? В гробу мы их видели вместе с моим скриптом!  :smile: Это ИХ проблемы, а мы торгуем так, как МЫ считаем правильным. И кто сказал, что "средняя реальная цена это (H + L + C) / 3"? В моих свечах это среднее значение LAST за весь период свечи, и насрать на все (H + L + C), помноженные друг на друга!
 
Владимир, свечи минутные потому что я так выбрал. А индикатор минутный потому что выбраны минутные свечи. Будут часовые свечи, будет отдельно и часовой индикатор.
Насчет идеального таймфрейма можно спорить конечно, но мое личное мнение - тиковый. Графики на разных таймфреймах имеют фрактальную структуру, чем короче фрейм тем больше локальных максимумов и минимумов на нём видно. Максимальный объем прибыли можно ивзлечь, собрав все локальные максимумы и минимумы (с поправкой на комиссию разумеется), так как если в более коротком фрейме есть не только монотонный подъем но и локальный спуск, то суммарная высота подъёмов в нём больше, чем на более длинном фрейме. Это значит, что максимальная суммарная высота подъемов лежит в самом коротком фрейме, то есть в тиковом. Практически конечно это зависит от способности алгоритма делать верные решения на коротких фреймах, и не исключены ситуации когда в силу более низкой предсказательной способности, короткий индикатор имеет меньшую прибыльность чем более длинный несмотря на то что имеет более высокий потенциал к прибыли.
 
Артем, Вот именно! А идеальный вариант - НЕ выбирать таймфрейм. Не по нашим мозгам это занятие. Помню, когда я торговал вручную, я делал это медленно, вдумчиво, чего-то там соображая и что-то к чему-то прикидывая. Ну, сделал я "правильную" ставку - и что? Откуда мне было знать, что я её продам менее, чем через сутки? А этот тикер как ломанул на 27% - ну нельзя было не продать! Или вот совсем недавний пример: гляжу в таблицу - нет одного тикера, который с утра бы закуплен. Гляжу историю - оказывается, эта скотина продала его уже через час. Пригляделся - оказывается, это вовсе не скотина, а большая умница, поскольку продала она его с хорошей прибылью. Короче, я давно уже НЕ выбираю таймфреймы - это и есть идеал. :smile:

Да,, "максимальный объем прибыли можно извлечь, собрав все локальные максимумы и минимумы", но где именно они находятся мы видим уже ПОСЛЕ того, как они прошли. А решения надо принимать здесь и сейчас, ещё не зная, минимум это или всего лишь приостановка перед дальнейшим падением, максимум ли это или только видимость его. И на тиковых плясках это труднее всего заметить - "лицом к лицу лица не увидать". Мой скрипт изначально работал не менее, чем на 16-минутных свечах, сейчас я понизил ему планку сначала до 8 минут, потом до 4 "за хорошую работу", но более он от меня ни шиша не получит! :smile:  
Страницы: 1
Читают тему
Наверх