Константин Рейм (Все сообщения пользователя)

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

Страницы: Пред. 1 2 3
Таблица - Текущие торги
 
Да, спасибо.
Таблица - Текущие торги
 
В таблицу - "Текущие торги" добавил 5 инструментов. Включаю терминал в (МСК) 9-00 все нормально, после того как происходит обновление данных примерно в 9-30, то в таблице кроме моих инструментов появляются еще и другие - что делать? в чем причина?
Версия 7.2.1.5
Разработка торговых роботов на LUA, Разработка торговых роботов на LUA
 
Для опционов напишу.
Заявка, Заявка
 
https://yadi.sk/i/5cPe3Z_7rBh92
https://yadi.sk/i/VDLJD64srBh9E
https://yadi.sk/i/Np57HU7IrBgP4
Заявка, Заявка
 
Цитата
Константин Рейм написал:
QUIK - 6.17.3.6. (вчера та же версия была)
а поле было изменено
Заявка, Заявка
 
Цитата
Egor Zaytsev написал:
Константин, обновления системы вчера выполняли?
До этого тоже через tri файл получали текст транзакции?
Обновление вчера не делал, да через tri файл.
Заявка, Заявка
 
Проверять лимит цены=Да - Название поля поменяли. Как часто такие изменения бывают?
Заявка, Заявка
 
Да получилось
Заявка, Заявка
 
Ошибка отправки транзакции: Не найдено поле "Проверять лимиты" для транзакции "Ввод заявки" по классу "FORTS (опционы)"
Заявка, Заявка
 
В таблице транзакций нет информации. QUIK - 6.17.3.6. (вчера та же версия была)
Код
      ["Проверять лимиты"]   = "Да";
      ["Переносить заявку"]  = "Да";
      ["Дата экспирации"]    = tostring(tonumber(getParamEx(Class_Opt, sec, "mat_date").param_value));}
   local res = sendTransaction(Transaction) -- Отправляет транзакцию
   if res ~= "" then message("Ошибка отправки транзакции: "..res) else message("Транзакция отправлена") end
res - пишет, нет поля "Проверять лимиты"
Заявка, Заявка
 
Код
Код
   local Transaction         = { -- Заполняет структуру для отправки транзакции
      ["TRANS_ID"]           = tostring(trans_id);
      ["CLASSCODE"]          = Class_Opt;
      ["ACTION"]             = "Ввод заявки";
      ["Торговый счет"]      = Account;
      ["К/П"]                = bs;
      ["Тип"]                = "Лимитированная";
      ["Класс"]              = Class_Opt;
      ["Инструмент"]         = sec;
      ["Цена"]               = tostring(open);
      ["Количество"]         = tostring(volume);
      ["Условие исполнения"] = "Поставить в очередь";
      ["Комментарий"]        = "";
      ["Проверять лимиты"]   = "Да";
      ["Переносить заявку"]  = "Да";
      ["Дата экспирации"]    = tostring(tonumber(getParamEx(Class_Opt, sec, "mat_date").param_value));}
Вчера этот код работал, сегодня выдает ошибку - не найдено поле "Проверять лимиты". Что не так?
Доска опционов направление
 
Сейчас в Доске отображение страйков идет снизу вверх от большего к меньшему, хотелось бы на оборот. Спасибо.
Подскажите какая функция читает "доску опционов" ?, доска опционов
 
Цитата
Imersio Arrigo написал:
Я конечно знаю, что с 95% вероятностью получу ответ: "да у вас формула кривая". И, вероятно, вы будете правы.
Поэтому вопрос не в том как посчитать греки самому, а как получить "те же цифры" из квика.
Доска опционов 1 раз в минуту обновляется, по этому у Вас не совпадают цифры
Расчет необходимых средств для открытия позиции, Открыть позицию
 
Подскажите как средствами Lua правильно рассчитать необходимое количество денег для открытия позиции по опциону.
Не работают флаги ["Дата экспирации"] и ["Expiration date"] в SendTransaction
 
Код
   local Transaction         = { -- Заполняет структуру для отправки транзакции
      ["TRANS_ID"]           = tostring(trans_id);
      ["CLASSCODE"]          = Class_Opt;
      ["ACTION"]             = "Ввод заявки";
      ["Торговый счет"]      = Account;
      ["К/П"]                = bs;
      ["Тип"]                = "Лимитированная";
      ["Класс"]              = Class_Opt;
      ["Инструмент"]         = sec;
      ["Цена"]               = tostring(open);
      ["Количество"]         = "1";
      ["Условие исполнения"] = "Поставить в очередь";
      ["Комментарий"]        = "";
      ["Проверять лимиты"]   = "Да";
      ["Переносить заявку"]  = "Да";
      ["Дата экспирации"]    = Data;}
   local res = sendTransaction(Transaction) -- Отправляет транзакцию
Для опционов - работает
Не работают флаги ["Дата экспирации"] и ["Expiration date"] в SendTransaction
 
Цитата
Коля Маржин написал:
Вопрос к сожалению никак не отвечен пока. Как видно я не один такой, с проблемой даты лимитированых заявок
Да, Вы такой не один. Я вопрос задал на другом сайте - возможно будет положительный ответ завтра.
Не работают флаги ["Дата экспирации"] и ["Expiration date"] в SendTransaction
 
Поддерживаю вопрос. На опционах если лимитную заявку ставить в ручную, то можно указать время действия (жизни) заявки, а программно (Lua) этого сделать нельзя. Почему так?
Ищу опционщиков, Ищу опционщиков
 
Торговля - опционы, пишу на Lua, скайп reim1977
Лимитные заявки со сроком действия, как выставлять в коде и работают ли они в высокочастотных роботах?
 
Код
Data         = "20160421"   -- Дата исполнения инструмента

function Transaction(bs, k, i, sec, open) -- Функция отправляет транзакцию
   trans_id = trans_id + 1 -- Получает ID для транзакции
   if k ==  1 then B_trans_C = trans_id B_Open_C[i] = open end -- Buy_Call
   if k == -1 then S_trans_C = trans_id S_Num_C[i]  = open end -- Sell_Call
   if k ==  2 then B_trans_P = trans_id B_Open_P[i] = open end -- Buy_Put
   if k == -2 then S_trans_P = trans_id S_Num_P[i]  = open end -- Sell_Put
   local Transaction  = { -- Заполняет структуру для отправки транзакции
      ['TRANS_ID']    = tostring(trans_id),
      ['ACCOUNT']     = Account,
      ['CLASSCODE']   = Class_Opt,
      ['SECCODE']     = sec,
      ['ACTION']      = "NEW_ORDER",
      ['OPERATION']   = bs,
      ['QUANTITY']    = tostring(Lots),
      ['PRICE']       = tostring(open),
      ['EXPIRY_DATE'] = Data}
   local res = sendTransaction(Transaction) -- Отправляет транзакцию
end
Вопрос по сроку действия заявки - если в таком виде отправляю, то заявка вечером снимается биржей. Мне необходимо что бы она была до указанной мной даты. Торги - срочный рынок - опционы. Подскажите?  
QLUA опционы
 
Можно, есть опыт, обращайтесь
Расчет теоретической цены опциона по методике Московской Биржи
 
Спасибо разобрался. Волатильность была в процентах  
Расчет теоретической цены опциона по методике Московской Биржи
 
Код
-- F: Текущая цена фьючерса
-- S: Страйк
-- V: Волатильность
-- T: Время в долях года до окончания срока действия опциона (30 / 365)
function Black_Scholes(F, S, V, T)
   d1 = (math.log(F / S) + V * V * (T / 366) / 2) / (V * math.sqrt(T / 366))
   d2 = d1 - V * math.sqrt(T / 366)
   
   Call = F * N(d1) - S * N(d2)
   Put = Call + S - F
   return Call
end

function N(x) -- Функция стандартного нормального распределения
   if x > 10 then return 1 end
   if x < -10 then return 0 end
   local ax = math.abs(x)
   local t = 1 / (1 + 0.2316419 * ax)
   local d = 1 / math.sqrt(2 * math.pi) * math.exp(-x * x / 2)
   local p = d * t * ((((1.330274429 * t - 1.821255978) * t + 1.781477937) * t - 0.356563782) * t + 0.31938153)
   if x > 0 then return 1 - p else return p end
end


Функция стандартного нормального распределения - взял Вашу,  Black_Scholes - по методике МБ, но все равно не получается получить теор. цену
Расчет теоретической цены опциона по методике Московской Биржи
 
Функция стандартного нормального распределения - как это написать в коде Lua?
Страницы: Пред. 1 2 3
Наверх