Ростислав Дм. Кудряшов (Все сообщения пользователя)

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

Страницы: 1
Не могу инстолировать LuaCOM под Lua 5.3.5 64-бит
 
На https://github.com/davidm/luacom/issues/24 вопрос решён новым дистрибутом.
Не могу инстолировать LuaCOM под Lua 5.3.5 64-бит
 
У меня Windows 8.1, MS Visual C++2015. Под Lua 5.1.5 64-бит работает. Под Lua 5.3.5 и 64- и 32-бит только компилируется (с /DNLUA51) и линкуется. При require ("luacom") сбой в 9-й строке luacom5.lua.
Дистрибут скачал с https://github.com/davidm/luacom. Файл luacom5.loh построил из luacom5.lua с помощью bin2c.lua.
Может быть компилятору для machine:x64 нужны какие-то ключи генерации кода, не используемые для x86?
Я ещё не инстолировал Quik 8.5. Нет ли там случайно готового luacom.dll?
Можно ли откуда-то скачать luacom.dll?
Условная заявка на опцион, связанная с его теоретической ценой
 
На ММВБ активность торгов опционами ничтожна. Заявок или нет вовсе или с громадными спредами. Сделки очень редки и они случаются не каждый день. Ставить условные заявки на цену опциона в таких условиях - безнадёжное дело. Но если выставить заявку по теоретической цене, её скорое исполнение весьма вероятно.
Предлагаю:
1) Ввести условные заявки купли опциона при прохождении снизу его теоретической ценой заданного уровня. Аналогично, ввести условные заявки продажи опциона при прохождении сверху его теоретической ценой заданного уровня.
2) Установить срок действия таких условных заявок вплоть до экспирации опциона.
Рублёвый объём позиции фьючерсов с долларовыми пунктами, График рублёвой цены фьючерса по графикам фьючерса на индекс РТС и на курс доллара к рублю
 
Обращаю внимание, что смена тайм-фрейма ведёт к стиранию графика индикатора только при ОТКЛЮЧЕННОМ сервере брокера!
Рублёвый объём позиции фьючерсов с долларовыми пунктами, График рублёвой цены фьючерса по графикам фьючерса на индекс РТС и на курс доллара к рублю
 
"надо было переносить строки" затем, чтобы сработал мой второй вариант "добавления".  Последний код в "скрытом тексте" равноценен моему первому варианту "добавления".
Хотя никоим образом не может быть "видимо", что "по этому предложенный код не работает", я запустил у себя последний предложенный код из "скрытого текста" и получил тот же неудовлетворительный результат.
Рублёвый объём позиции фьючерсов с долларовыми пунктами, График рублёвой цены фьючерса по графикам фьючерса на индекс РТС и на курс доллара к рублю
 
После переноса строк local tbl1 = и tbl2 == из блока if not FirstValid ... перед этим блоком опробовано три варианта добавления рекомендованного кода.
1) После блока блока if tbl1[0].close ~= 0 ...
2) Перед строкой return CalcIt (index)
3) Перед строкой return CalcIt (index) с удалением блока if not FirstValid ...
Все варианты при отключенном сервере брокера после смены тайм фрейма с дневок на 5-минутки или наоборот приводят к стиранию графика, нарисованного после загрузки индикатора.
Эффект наблюдается в Quik'ах 7.19.0.51, полученных от брокеров Церих Кэпитал и БКС.
Если перед строкой return CalcIt (index) вставить следующий код и удалять файл D:\TMP\Log.txt перед каждой сменой фрейма, видно, что колонка второго исходного графика даёт нулевые close().,
Код
do
    local log = io.open ("D:\\TMP\\Log.txt", "a+")
    local tbl1 = getCandlesByIndex (Settings.GraphId1, 0, index-1, 1)
    local tbl2 = getCandlesByIndex (Settings.GraphId2, 0, index-1, 1)
    local dt = tbl1[0].datetime;
    if index == 1 then log:write("***") end
    local s = string.format ("%4d.%02d.%02d %02d:%02d"
      ,dt.year, dt.month, dt.day, dt.hour, dt.min)
    log:write (string.format("\n%4d;%4d;%6d;%6d;%s"
      ,index, Size(), tbl1[0].close, tbl2[0].close, s))
    log:close()
end
Рублёвый объём позиции фьючерсов с долларовыми пунктами, График рублёвой цены фьючерса по графикам фьючерса на индекс РТС и на курс доллара к рублю
 
В работе Quik без подключения к серверу при смене тайм-фрейма наблюдается такая аномалия, что значения котировок close() и т.п. для второго графика Settings.GraphId2 оказываются все нулевые.
Это делает невозможным построение графика по двум другим сразу после смены тайм-фрейма. Для получения графика нужно открыть его диалог "Редактирование настроек графика" и нажать кнопку "OK".
Рублёвый объём позиции фьючерсов с долларовыми пунктами, График рублёвой цены фьючерса по графикам фьючерса на индекс РТС и на курс доллара к рублю
 
Известно, что котировки ряда фьючерсов выражаются через доллар.
Например, фьючерс на золото примерно отражает в пунктах текущую цену унции в долларах. Это не очень удобно, т.к. на брокерском счёте размещены рубли. Ставить стопы на изменение фьючерса в долларовых пунктах тоже не всегда уместно. Например, при снижении котировки фьючерса на индекс РТС в долларовых пунктах на 33.33% и одновременном росте курса доллара на 50% рублевая стоимость фьючерса (объём позиции) не меняются.
Желательно иметь перед глазами график не долларовых котировок, а рублёвых. На текущий момент приходится использовать те возможности, которые даёт QLua для построения индикаторов.
Рублевая стоимость фьючерса получается с использованием двух параметров, которые в Quik'е показаны в "Таблице текущих параметров" в колонках "Шаг цены" и "Стоимость шага". К сожалению, история этих параметров дольше текущего дня недоступна. Поэтому, приближённую оценку рублёвой стоимости фьючерса можно получить из графика фьючерса на курс доллара к рублю (Si). Код индикатора прилагается.
Код
-- Перемножает Close'ы графиков RI на Si
-- При запуске на загрузке Quik'а работает код предыдущей загрузки
-- с последними свойствами, полученными из кода или интерактивно.
-- При запуске старые бары графика данных сканируются дважды,
-- только если есть подключение к серверу.
-- При смене тайм-фрейма старые бары сканируются только единожды.
-- При загрузке Quik'а первый скан до подключения к серверу.
FirstValid = nil
Settings = {
  Name = "_RIxSi"
  ,line = {
    {Name = "RIxSi"
    ,Color = RGB(255,255,0) -- Жёлтый
    ,Type = TYPE_POINT
    ,Width = 2}
  }
  ,GraphId1 = "RI-1" -- Перезадать оба после первой загрузки.
  ,GraphId2 = "Si-1" -- Сохраняются при последующих запусках.
  ,Factor   = 2e-5
}
function Init()
  return #Settings.line
end -- Init()

function CalcIt (index)
  local tbl1 = getCandlesByIndex (Settings.GraphId1, 0, index-1, 1)
  local tbl2 = getCandlesByIndex (Settings.GraphId2, 0, index-1, 1)
  if tbl1[0].close == 0 or tbl2[0].close == 0 then
    return nil -- Пропускаем бары с неполными данными.
  end
  local sum = tbl1[0].close * tbl2[0].close * Settings.Factor
  return sum
end -- CalcIt()

function OnCalculate(index)
  if index == 1 then
    FirstValid = nil
  end
  if (0 == getNumCandles (Settings.GraphId1) or
      0 == getNumCandles (Settings.GraphId2)) then
    if index == 1 then
      message ("GraphId error")
    end
    return nil
  end
  if not FirstValid then
    local tbl1 = getCandlesByIndex (Settings.GraphId1, 0, index-1, 1)
    local tbl2 = getCandlesByIndex (Settings.GraphId2, 0, index-1, 1)
    if tbl1[0].close ~= 0 and tbl2[0].close ~= 0 then
      FirstValid = index
      local count = getNumCandles (Settings.GraphId1)
      if FirstValid == count then
        for idx = 1, index-1 do
          SetValue (idx, 1, CalcIt (idx))
        end
      end
    end
  end
  return CalcIt (index)
end -- OnCalculate()

Два демо-счёта в одном Junior
 
Можно ли так установить Quik-Junior, чтобы играть сразу на двух демо-счётах по двум встречным позициям в одном активе?
Ведь демо-счета нужны не только чтобы посмотреть, что такое Quik, но и для отладки алгоритмов на QLua. А для игры одновременно в лонг и шорт по одному и тому же активу, например, фьючерсе на индекс РТС, в Quik'е нужны два разных счёта.
Это что-то вроде арбитража по времени.
Увеличить максимальное число баров в графиках диаграмм
 
Если в версии Quik 7.1.1.16 задать в "Свойствах диаграммы": "Интервал" 1 мин, "Фильтр по времени" 10:00 - 23:50, то в этой диаграмме можно отобразить график с баром котировок на каждый минутный интервал не более, чем на 6 торговых дней.
Очень желательно отображать 1-минутные бары за 23 торговых дня. Я собираю из Quik'а историю теоретических цен месячных опционов для оптимизации игры в опционы. Других источников этих данных практически не существует.

Я предлагаю обеспечить возможность отображать в диаграмме не менее 19090 баров. Это позволит получить историю котировок за любой месяц на 1-минутных барах.
Правда ли, что PocketQuik 3.3 для Windows Mobile 6.53 ,больше нельзя нигде использовать?
 
Правда ли, что PocketQuik 3.3 для Windows Mobile 6.53 ,больше нельзя нигде использовать? Ни у одного брокера?
Отменить изменение состава графиков при изменении в пункте "Показывать графики, выбрать с"
 
Вот такая ситуация в Quik 6.16.1.15. Помещаю в диаграмме несколько окон. Например, в 1-м окне график фьючерса на индекс РТС, а во 2-м - график опциона на этот фьючерс. Затем в диалоге "Параметры диаграммы в разделе "Показывать графики" в пункте "выбрать с" изменяю начальную дату интервала дат показа графиков. И график опциона сам собой заменяется на график фьючерса. Чего я вовсе не просил. То же самое происходит со 2-м графиком 1-го окна.

Я предлагаю так доработать Quik, чтобы после изменения интервала дат показа графиков в диалоге "Параметры диаграммы" разные инструменты графиков в разных окнах диаграммы не заменялись на 1-й инструмент из 1-го окна диаграммы.
Использовать поле COMMENT из условных заявок, созданных в QLua
 
При ручной подаче заявки, например, тэйк-профита и стоп-лимита на выход из позиции, указав в поле "Поручение" цену и дату входа в позицию, мы получаем этот текст в колонке "Комментарий" в таблице "Стоп-заявок". Это помогает ориентироваться в структуре портфеля при сроке действия заявки более одного дня, особенно на ФОРТСе.
К сожалению, при программной подаче условной заявки функцией sendTransaction (tbl) из скрипта на QLua содержимое поля tbl.COMMENT не попадает в колонку "Комментарий" в таблице "Стоп-заявки" Quik'а.

Я предлагаю так доработать Quik, чтобы после подачи заявки из скрипта QLua посредством функции sendTransaction (tbl) текст из поля tbl.COMMENT передавался бы в колонку "Комментарий" таблицы "Стоп-заявки" Quik'а.
Тэйк-профит и стоп-лимит: немедленная фиксация профита после активации при "Отступ от max" = 0.
 
Zoya Vdovina,ещё уточнение. Под ценой активации тэйк-профита, которую надо использовать для расчёта цены лимит-заявки на фиксацию профита, я  имею в виду не цену активации, указанную в заявке, а ту цену, по которой фактически был активирован тэйк-профит. Эта фактическая цена активации может быть больше указанной в заявке.
Тэйк-профит и стоп-лимит: немедленная фиксация профита после активации при "Отступ от max" = 0.
 
Zoya Vdovina, вот подробности. Если вы подтверждаете то, что мне сказали на форуме "Стоп-заявки в системе Quik", то нужна такая доработка, чтобы в заявке "Тэйк-профит и стоп-лимит" выполнялась немедленная фиксация профита после активации заявки, если в заявке задано "Отступ от max" = 0.
Т.е. надо, чтобы после сделки по цене не хуже цены активации тэйк-профита сервер не ждал следующей сделки, а сразу же давал лимит-заявку на фиксацию прибыли. Разумеется, по цене активации, скорректированной с учётом значения "Защитный спрэд".

Больше всего эта доработка нужна в заявке типа "Тэйк-профит и стоп-лимит". Возможно, для общности стоит провести эту доработку и в заявке "Тэйк-профит".
Эта доработка будет очень полезна для торговли опционами и другими малоликвидными инструментами. Дело в том, что сделки по опционам очень редки и их цены меняются резкими скачками. Так что следующая сделка может случиться через значительный промежуток времени, когда уровень бидов-асков будет гораздо хуже. Но если сервер при отработке заявки "Тэйк-профит и стоп-лимит" не будет после активации тэйк-профита ждать следующей заявки, а сразу же даст лимит-заявку на фиксацию прибыли, это может повысить шансы на выигрыш. Указанием серверу для немедленной фиксации прибыли после активации тэйк-профита должно служить значение "Отступ от max" = 0.[USER=23][/USER]
Тэйк-профит и стоп-лимит: немедленная фиксация профита после активации при "Отступ от max" = 0.
 
На форуме "Стоп-заявки в системе Quik" мне сказали, что при отработке заявки "Тэйк-профит и стоп-лимит", даже если задать "Отступ от max" = 0, всё равно сервер после активизации слежения за лучшей ценой профита будет ждать следующей сделки, прежде чем даст лимит-заявку на фиксацию прибыли.

Логически это не очень оправдано - ждать-то ведь нечего! А при торговле опционами это ещё и рискованно. Сделки по опционам очень редки и их цены меняются резкими скачками. Так что следующая сделка может случиться через значительный промежуток времени, когда уровень бидов-асков будет уже гораздо хуже.
А использовать стоп-заявку "Со связанной заявкой" неудобно, потому что в ней нет возможности задать срок действия более 1 дня.
take-profit со значением "Отступ от max" = 0
 
GTS, спасибо, хотя это огорчительно. Придётся позицию с опционом вести стоп-заявкой "Со связанной заявкой". и ограничивать профит ценой связанной заявки. Ничего не поделаешь, больно редки сделки в опционах. По уму, надо вести позицию не по текущей цене, а по теоретической. Но о таком сервисе, наверно, и мечтать нельзя.
take-profit со значением "Отступ от max" = 0
 
Если в заявке take-profit в разделе "Выставить тэйк-профит" задать "Отступ от max" = 0, можно ли рассчитывать, что сервер подаст заданную лимит-заявку при первой же сделке, цена которой равна или лучше той, что указана в поле "тэйк-профит, если цена..." в разделе "Условие активации заявки"?
Или же сервер будет ждать следующей сделки, для анализа текущей цены, цены активации и "Отступа от max"?
Этот вопрос важен при игре в опционы. Сделки по опционам так редки, что следующей сделки после достижения цены активации можно ждать очень долго и уровень бидов-асков может сильно ухудшиться.
А заменить тэйк-профит лимитной заявкой невыгодно, потому что текущая цена может резко перепрыгнуть уровень активации, но если в очереди будет маячить моя лимит-заявка, то её могут удовлетворить по цене хуже уровня скачка.
Присоединение стоп-заяки к лимит-заявке., Присоединение стоп-заяки к лимит-заявке.
 
Вообще-то, заводя речь о "входе по рынку", я просто неудачно выбрал вариант упрощающего ограничения. Наверно, более уместным будет упрощающий вариант с условием исполнения лимит-заявки "Немедленно или отклонить" и 100% исполнения по количеству. Создание в одну транзакцию защищённой стопами позиции столь желанно что такое ограничение не умалит её достоинств.
Присоединение стоп-заяки к лимит-заявке., Присоединение стоп-заяки к лимит-заявке.
 
Сергей, согласен, что шансы выигрыша падают при исполнении лимит-заявки "по рынку". Для этого случая можно было бы модифицировать формулировку тэйк-профита. Указывать не значение цены включения тэйк-профита, а процент улучшения наихудшей цены входа в позицию.
Но я думаю, что в такую неопределённость запускать позицию не стоит. Гораздо вернее ограничиться лимит-заявкой с указанием фиксированной цены.
Так что насчёт "входа по рынку" я погорячился и предлагаю этот вариант исключить.
Присоединение стоп-заяки к лимит-заявке., Присоединение стоп-заяки к лимит-заявке.
 
Ув. Quik. Ваш терминал сильно приблизится к идеалу, если добавить в него возможность присоединения к лимит-заявке на куплю-продажу актива, например, фьючерса, ещё и стоп-заявки, например, тэйк-профита со стоп-лимитом. так чтобы эта пара заявок выполнялась на клиентском ПК одной транзакцией. А на сервере брокера после исполнения лимит-заявки должна инициироваться регистрация стоп-заявки. Может быть, для этого потребуется ограничить тип лимит-заявки "входом по рынку", но это уже не столь важно.
Можно ли ожидать такого усовершенствования в 2015-м году?
С уважением, Ростилав Дмитриевич Кудряшов.
Страницы: 1
Наверх