Дмитрий Бланк (Все сообщения пользователя)

Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
OnTrade комиссии (ФБ, ТС, Клиринг и Брокер) , так же ОБЪЕМ сделки в рублях по валютным контрактам
 
добрый день Комрады
тема кажется обсуждалась, но решил поднять

QUIK 10.0.1.18 (BCS)

в таблицу СДЕЛКИ транслируются следующие параметры (скриншот)


в LUA функция:
Код
function OnTrade(trade)
   if last_trade_num ~= trade.trade_num then -- Запоминаем номера обработанных сделок
      
      last_trade_num = trade.trade_num

      trade_account = trade.account
      trade_client_code = trade.client_code
      trade_trans_id = trade.trans_id
      trade_trade_num = trade.trade_num
      trade_order_num = trade.order_num
      trade_sec_code = trade.sec_code
      trade_class_code = trade.class_code
      trade_price = trade.price
      trade_qty = trade.qty
      trade_value = trade.value

      trade_ex_comission = trade.exchange_comission
      trade_clr_comission = trade.clearing_comission
      trade_tec_comission = trade.tech_center_comission
      trade_br_comission = trade.broker_comission

      trade_flags = trade.flags -- 32 / 64 (покупка исполнена) / 36 / 68 (продажа исполнена);

      trade_operation = ""

      if trade_flags == 32 or trade_flags == 64 then trade_operation = "BUY" end
      if trade_flags == 36 or trade_flags == 68 then trade_operation = "SELL" end

      message(tostring("СДЕЛКА "..trade_operation.." "..trade_qty.." "..trade_sec_code.."\ntrade_price: "..trade_price.." trade_qty: "..trade_qty.." trade_value: "..trade_value.."\ntrade_ex_comission: "..trade_ex_comission.."\ntrade_clr_comission: "..trade_clr_comission.."\ntrade_tec_comission: "..trade_tec_comission.."\ntrade_br_comission: "..trade_br_comission.."\n"..trade_flags), 1)
   end
end


Собственно вопрос какой
В таблице СДЕЛКИ транслируется комиссия ТС, а в скрипте никак.. нет ее = 0

Ну остальные у меня и так 0, их и в скрипте нет.

Комиссия брокера как я понимаю - только в планах находится, хотя чего уж тут сложного? Ну да ладно.
Сравнил с биржевыми данными: https://www.moex.com/ru/contract.aspx?code=GDM3
Сбор за регистрацию сделки*, руб.20
Сбор за адресную сделку*, руб.6,66
Клиринговая комиссия за исполнение контракта*, руб.6,67
как бы мне остальные параметры собрать?
Сбор за регистрацию сделки похож на правду = 20.01
Комиссия ТС никак не похожа, и 0 транслируется...
Клиринговая? Где искать в терминале?

в общем вопросы простые, может у кого так же?  (может это только БКС?)
--------
Второй пункт этого всего про ОБЪЕМ сделки - он в рублях, это все понятно
Я хочу его использовать для расчета по балансовой цене и прибыли - так как она все таки в рублях на всех этих валютных контрактах

Мысль простая - может мне не углубляться в ШАГ ЦЕНЫ, и СТОИМОСТИ шага цены, а брать рублевые затраты из ОБЪЕМА по сделке и работать с ними, ведь они и для акций и для рублевых контрактов и для валютных по идее одинаковы?
Или КУРС USD на КЛИРИНГе все таки другой, и будет меня все равно корректировать в финансовом итоге?

Где к стати посмотреть в таком случае курс USD КЛИРИНГа? я найти пока не смог

благодарю за поддержку
Как получить любой SECCODE по BASE_CONTRACT ?, В какой таблице идёт привязка между текущим фьючерсным инструментом и базовым активом?
 
Цитата
Дмитрий Бланк написал:
ACTIVE_BASE = getParamEx("SPBFUT", "SiM3", "OPTIONBASE").param_image -- Базовый актив (фьючерс) => Si
это не совсем то конечно что нужно вам, но думаю можно поработать с циклами
Как получить любой SECCODE по BASE_CONTRACT ?, В какой таблице идёт привязка между текущим фьючерсным инструментом и базовым активом?
 
  ACTIVE_BASE = getParamEx("SPBFUT", "SiM3", "OPTIONBASE").param_image -- Базовый актив (фьючерс) => Si
RSI старшего таймфрейма
 
как я понимаю - открываем график H1 со своими стандаартными индикаторам

Хотим внизу, что бы отображались индикаторы с другим ТФ, например H2, H4 и пр.


Все верно понял?


мне только не понятно как шкалу времени синхронизировать при этом  
Рисовать линию на графике
 
Цитата
Старатель написал:
Индикатор:
Код
  Settings  =  {
  Name  =   'HLine' ,
  Value  =   0 ,
  line  =  {
    {
      Name  =   'HLine' ,
      Type  =  TYPE_LINE,
      Width  =   2 
    }
  }
}

 function   Init ()
   return   1 
 end 

 function   OnCalculate (index)
   return  Settings.Value
 end   
Перемещение линии через настройки индикатора. Хоть мышкой двигать нельзя, но можно задать точный уровень цены, что удобнее стандартной линии.
Значение линии можно считывать в своём скрипте.
Добрый день


Могу передавать индикатору (на примере горизонтальной линии) не только значение самой линии, но и ее цвет?


вроде того:

Код
function OnCalculate(index)
  Value = 74850.0
  Color = RGB(0, 128, 0)
  
  return Value, Color
end
Пропадает окно квика, windows 10
 
я фигею, но у меня сейчас та же проблема

QUIK 10


проблема в WND
переименовал - запускается окно.
Загружаю настройки - переименованный файл - окно QUIK СРАЗУ же исчезает!

что было? Да ничего особого - просто закрыл окно QUIK (WND сохранился)Перезагрузил комп и привет! :)
Что делать то?

Файл сейчас вышлю support
Добавить функции QLUA "Поверх всех окон" и "Показывать на всех"
 
добрый день. Тапну вверх - решение имеется?
Ema lua
 
Цитата
nikolz написал:
На самом деле Exponential Moving Average   - они назвали Modified Moving Average (MMA) MMA = (MMAi-1*(n-1) + Pi) / n]]
Благодарю.Оставлю эту формулу себе под этим правильным названием, раз уж сравнивал их.
Ema lua
 
Цитата
Дмитрий Бланк написал:
Exponential Moving Average (EMA)EMAi = (EMAi-1*(n-1)+2*Pi) / (n+1)так какая на самом деле экспонента? :)
https://en.wikipedia.org/wiki/Moving_average

An exponential moving average (EMA), also known as an exponentially weighted moving average (EWMA).


А в Квик совсем иной подход к этой экпоненте...
Ema lua
 
Цитата
Imersio Arrigo написал:
Ну конкретно для вашей формулы будет так:

   
6673066730
6671966708
6674466780
слева входные, справа расчетные.
Но это не ЕМА, просто потому что приведенная выше формула EMA (t) = EMA (t-1) + 2 *(P(t) – EMA (t-1)) не является экспоненциальной скользящей средней (если вы конечно имели ввиду ее, как я подумал по названию)

Вообще, формули ЕМА (из вики) выглядит так
EMA(t) = a * P(t) + (1 - a) * EMA(t-1)
где a = 2 / (n + 1), n - период расчета.
для случая ЕМА(3) будут такие цифры
   
6673066730
6671966724.5
6674466734.25
6675266743.125
Я взял с графика дополнительное значение 66752 (примерно), и получил значение ema 66743, которое, как я вижу по графику (опять же примерно) соответствует ожидаемому.
Спасибо за пример!Но вот что интересно, в Квике формула иная:


Exponential Moving Average (EMA)
EMAi = (EMAi-1*(n-1)+2*Pi) / (n+1)


так какая на самом деле экспонента? :)
Рассчитать данные индикатора ИЛИ брать с графика?
 
Цитата
nikolz написал:
Цитата
Дмитрий Бланк написал:
Доброго дня Камрады!

задача простая - торгуем бумагу. Таких бумаг 40+
"Смотрю" на разных ТФ (их 6+ по каждому инструменту).

Сейчас встал выбор - брать ДАНЫЕ индикаторов с ГРАФИКА (всегда открыт, их 6+ с индикаторами) или вообще закрыть графики и брать данные по бумаге с сервера брокера в разных ТФ и так же рассчитывать идикаторы.

вопрос - что менее грузит систему? Что быстрее?

Велика ли разница? по наитию понимаю что быстрее рассчет.


Благодарствую.
Если это встроенные в терминал индикаторы , то быстрее брать с графика.
---------------------------------------
Если это индикаторы рассчитываемы в луа, то зависит от того как Вы напишите эти индикаторы.
------------------------
Разница в том, что встроенные реализованы на СИ.
А индикаторы на луа - это байт код
этот байт-код исполняется виртуальной машиной луа
т е в программе на СИ последовательность байт-кода выполняется  вызовом функций, реализованных  на СИ.
при этом, так как данные в луа хранятся в виде структур, то прежде чем их обработать те вычислить индикатор
ВМ луа проверяет их формат и вызывает соответствующие преобразования.
------------------------
В итоге, даже если Вы вызовите на луа пустую функцию луа,
у вас уйдет на это куча времени  минимум  раза в 3 больше, чем вызов функции СИ.
--------------  
В итоге ваш индикатор на луа может вычисляться от 3 до 10 раз медленнее, чем встроенный, либо написанный на C.
============
Но это не предел, можно так плохо написать индикатор на луа что  будет  медленнее раз в 100.
Например, тут есть один умелец который пузырьком на луа сортирует миллион данных. при этом потери в скорости уже составляют 1000 и десятки тысяч раз.
Но его это не ...ет, так что дело вкуса.
Благодарю за столь подробный и развернуты ответ!
Рассчитать данные индикатора ИЛИ брать с графика?
 
Доброго дня Камрады!

задача простая - торгуем бумагу. Таких бумаг 40+
"Смотрю" на разных ТФ (их 6+ по каждому инструменту).

Сейчас встал выбор - брать ДАНЫЕ индикаторов с ГРАФИКА (всегда открыт, их 6+ с индикаторами) или вообще закрыть графики и брать данные по бумаге с сервера брокера в разных ТФ и так же рассчитывать идикаторы.

вопрос - что менее грузит систему? Что быстрее?

Велика ли разница? по наитию понимаю что быстрее рассчет.


Благодарствую.
Страницы: 1
Наверх