Сергей (Все сообщения пользователя)

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

Страницы: 1
Запись в файл с одновременным чтением из другой программы?
 
Цитата
qt написал:
Открываю файл в блокноте и запись прекращается. Как открыть файл на запись чтобы можно было читать?
Добрый день. Я пишу в файл так. При этом запись продолжается, если открыть файл сторонними программами, типа блокнота.
Код
function save_log(st)
   local path=getScriptPath().."\\"..options.script_name..".log"
   local fn=io.open(path, "a") -- a-дозапись, w-перезапись, r-чтение
   fn:write(st.."\n")
   fn:close()
end
LUA скрипты выполняются очень медленно если не пользоваться ноутбуком, При погашенном экране выделяется мало процессорного времени
 
Цитата
Anton написал:
Не стоит, это приведет к тому, что процессор будет молотить на полной частоте вхолостую, греться только и ничего более. Что-то другое должно быть.
Как ни странно, выставление этого параметра на 100% - помогло. И при отсутствии нагрузки процессор не греется. Буду еще экспериментировать с промежуточными значениями.  
LUA скрипты выполняются очень медленно если не пользоваться ноутбуком, При погашенном экране выделяется мало процессорного времени
 
Цитата
Anton написал:
В настройках энергосбережения посмотрите "дополнительно"
Возможно Вы правы. Прошелся еще раз по этим настройкам, одна очень подозрительная: "Минимальное состояние процессора - 5%". Описания о том как, когда и что именно устанавливается на 5% сходу нагуглить не смог. Попробую выставить этот параметр на 100%.
LUA скрипты выполняются очень медленно если не пользоваться ноутбуком, При погашенном экране выделяется мало процессорного времени
 
Цитата
Anton написал:
Погуглите away mode, не оно ли часом.
Погуглил, не оно. У меня ни в реестре, ни в настройках упоминаний этого режима нет. Да и "сон" в энергосбережении вообще отключен.
Как будто это какая-то бага/фича винды, которая анализирует пользовательскую(а может еще какую) активность и снижает приоритет.  
LUA скрипты выполняются очень медленно если не пользоваться ноутбуком, При погашенном экране выделяется мало процессорного времени
 

Здравствуйте.

Скрипты LUA запускаю с вечера. Обнаружил, что утром, пока ноутбуком не пользуюсь (погашен экран), на скрипт LUA выделяется очень мало процессорного времени. Например, вывод 20-ти строк в файл занял 4-5 минут(!), обнаружение появления новой свечи срабатывало раз из 7-10 положенных. В итоге скрипт не выставляет своевременно заявки. После того, как я сажусь за ноутбук – всё работает корректно.

У меня Quik 7.27.2.1,   windos 8.1, i7, спящий режим и режим гибернации – отключены, экранной заставки нет, есть только "погасить экран". Подскажите, как настроить, чтобы LUA скрипты не обделялись процессорным временем?

Странное поведение Moving Average, Завышенное значение
 
Добрый день.
Только что MA(периодов 2, метод Vol Adjusted, поле цены Close) на фьючерсе сбера показал аномально-высокое значение. На 150р выше всех ближайших свечей. Фото прилагается. Это глюк?
Как рассчитывается комиссия на фьючерсы?, Нюансы.
 
Цитата
Imersio Arrigo написал:
Что именно смущает в описании биржи?
Непонятно было, что подразумевается под словом "контракт".  
Как рассчитывается комиссия на фьючерсы?, Нюансы.
 
Вопрос по комиссии биржи. С брокером-то всё просто(уже звонил им) - брокер дублирует комиссию биржи. На сайте МБ непонятно, по крайней мере для новичка.  
В некоторых примерах расчета в интернете комиссия берется с каждого фьючерса, но этим примерам уже более 5 лет.
Цитата
Anna Lozenko написал:
Комиссия взымается за каждую свершенную сделку, в независимости от количества инструментов в заявке.
Т.е. не важно сколько фьючерсов покупаю/продаю за один раз, комиссия всё равно будет 1,74р (ну или какая-то другая, назначена биржей на данный момент) ?
Не найдено поле "лоты"
 
Похоже всё это потому, что я субсчет на срочном рынке FORTS не зарегистрировал... Вопрос снят.  
Не найдено поле "лоты"
 
Добрый день!
Отправляю из LUA заявку на покупку фьючерса и получаю ошибку  Не найдено поле "Лоты" для транзакции "Ввод заявки" по классу "FORTS: Фьючерсы"
Вот код:
Код
local order_s1=
      {
         ["TRANS_ID"] = tostring(7733113),
         ["CLASSCODE"] = class_code,
         ["ACTION"] = "Ввод заявки",
         ["Класс"] = classcode,
         ["Инструмент"] = sec_code,
         ["Торговый счет"] = acoount,
         ["Тип"] = "Лимитная",
         ["К/П"] = "Купля",  --купля
         ["Цена"] = tostring(p),
         ["Лоты"] = tostring(q),
         ["Условие исполнения"] = "Поставить в очередь"
      }
   local err=sendTransaction(order_s1)

Подскажите пожалуйста, что не так?
Как рассчитывается комиссия на фьючерсы?, Нюансы.
 

Коллеги, помогите разобраться с расчетом комиссий на МБ, например, на SBRF-3.20

По данным с сайта МБ: Сбор за регистрацию сделки*, руб.  - 1,74, Сбор за скальперскую сделку*, руб. - 0,87руб.

Это сбор за сделку с каждым фьючерсом? Т.е. если я сразу покупаю 10 фьючерсов, то комиссия составит 10*1,74 руб. ?

Скальперскими сделками считаются пары сделок купил/продал в течении дня?

Например если я в течении дня купил 3 раза по 2 фьючерса и продал 1 раз 4 фьючерса (т.е. 2 осталось), то какую комиссия за этот день я заплачу?

EMA внутри свечи, Нужно EMA по тиковым значением в незавершенной свече
 
Цитата
Anton написал:
https://en.wikipedia.org/wiki/Typical_price  с этим?
Видимо да. Получается внутрь свечи стандартным EMA не влезть.
Я в итоге свою EMA написал: через заданный период беру LastPrice и далее по стандартной формуле: self.value=(self.Alfa*price)+((1-self.Alfa)*self.last_value)
EMA внутри свечи, Нужно EMA по тиковым значением в незавершенной свече
 

Здравствуйте!

Коллеги, посоветуйте, пожалуйста, инструмент, который бы отображал среднее значение цены в не закрывшейся свече по принципу EMA. Т.е. была бы средняя цена всех тиков, и при этом цена последнего тика имела бы более высокий вес.

Визуально, очень похоже на то, что мне нужно - EMA с периодом 1 и с полем цены Typical. Или экспоненциальное вычисление там только для периодов 2 и более, а в рамках одной свечи простое усреднение(SMA) по всем тикам? Кто-то знает по какой формуле этот инструмент вычисляется в рамках не закрывшейся свечи?

Moving Average продублировать из 5мин в 1мин, Нужно добиться одинаковых графиков ma на разных интервалах
 
В скрипте поменял ma1 на последнюю цену одноминутной свечи - всё заработало с точностью до тысячных, что вполне устраивает. Задача решена.
Цитата
Anton написал:
Довольно геморройным. Рассматриваем емашку как БИХ-фильтр первого порядка, определяем круговую частоту среза для заданного периода, денормируем на текущую частоту дискретизации (на пятиминутках это 1/(5*60) Гц), получаем частоту среза в герцах, нормируем на частоту дискретизации минуток (1/60 Гц), получаем круговую частоту среза на минутках, и самый гемор из нее выводим период емашки для минуток. В принципе, можно технологию упростить, повозившись с формулами, но тут уже из разряда шашечки или ехать, быстрей было таким образом, чем математические исследования затевать. Там еще обнаруживается такая вещь, что с ростом периода исходной емашки рассчитанный период постепенно приближается к ожидаемому 5x. На заданных же малых периодах оказывается настолько ниже ожидаемого, поскольку, строго говоря, емашка с периодом 2 (и альфой 0.66) находится выше частоты Найквиста и усредняет уже "неизвестно что", кашу из реальных значений и отраженных высших гармоник. У емашки 4 ситуация получше. Впрочем, сама нарезка на свечи без предварительной фильтрации (как требует теорема Котельникова) уже создает довольно-таки кашу в спектрах.
Круто. Действительно EMA по закрывающей цене на малых периодах напоминает "цену на яблоки в дождливый день" )
Moving Average продублировать из 5мин в 1мин, Нужно добиться одинаковых графиков ma на разных интервалах
 
Спасибо за код, завтра проверю (сейчас имел неосторожность перезаказать данные, а сервер не алё). На самом деле, мне графическое отображение не так важно. Нужны значения. В скрипте я попытался воссоздать значения MA пятиминутного графика: ma4s – это итоговое значение закрывшейся пятиминутной свечи, а ma4 – значение незакрытой свечи в момент, когда минутная свечка внутри неё закрылась, т.е. значения которые мы видим, пока свеча не закрылась.
Посмотрел на C(idx) в вашем коде и, кажется, понял, где я накосячил: в v, видимо, должна быть цена закрытия свечи, а я нагородил там велосипедов – MA с периодом 1 влепил.
Цитата
Anton написал:
Пересчитал периоды емашек 2 и 4 с пяти минут на минуту, получаются такие периоды:M5 EMA(2) -> M1 EMA(8.205459971)M5 EMA(4) -> M1 EMA(19.18033544)
Если не секрет, каким образом вы посчитали?
Moving Average продублировать из 5мин в 1мин, Нужно добиться одинаковых графиков ma на разных интервалах
 
В общем, проверил на имеющихся реальных значениях. Значения не совпадают, причем существенно.
В качестве ma1s - пробовал брать ma с периодом 1 с разными настройками -никакие не дали желаемого результата.
Еще вопрос к алгоритму: может после каждого вычисления значения "в моменте" price_con[i+sdvig].ma4=(alfa4*(ma1s))+((1-alfa4)*last_ma4_t5) - это значения и становиться последним. Т.е. надо дописать в следующей строке last_ma4_t5=price_con[i+sdvig].ma4. Хотя так тоже, значения не те получаются.
Может туда вообще цены всех сделок пишутся?

Открытый вопрос: как по данным с минутном графика самому рассчитать MA пятиминутного графика.  
Moving Average продублировать из 5мин в 1мин, Нужно добиться одинаковых графиков ma на разных интервалах
 
Цитата
Anton написал:
строгого решения не имеет
Я потом и сам понял, что графики "такие же" никогда не получатся.

Мне на самом деле нужно вот что: история минутных свечей, где-то 6-7 мес, и для проверки алгоритма, потребовались дополнительно MA с пятиминутного графика. А на 5-мин истории не оказалось. Помогла бы подкачка данных в Quilk на пятиминутный график, но поддержка Альфы не знает, как это сделать. Я тоже(((

Сегодня я в LUA скрипт сделал, который рассчитывает и добавляет к минутным свечкам значения MA (как бы с пятиминутного графика). Есть сомнения в корректности вычислений. Буду благодарен за замечания.

Например, не уверен, в том, насколько корректно брать среднее ценовое значение минутной свечи из минутного MA с периодом 1.

Код
function add_five_ma() -- Добавим к минутным свечам price_con значение 5-ти минутных ma
   local count
   local alfa2=1*2/(1+2)
   local alfa4=1*2/(1+4)

   --в ma4s к минутным свечам добавляем значение ma с интервалом 4 пятиминутного графика, которое соответствует исторической свече
   --в ma4 запишем значения ma с пятиминутного графика, которые видно на графике в моменте (т.е. когда минутная свеча завершена, а
   -- 5-минутная еще нет "дыхание" )
   --Начальные значения - SMA
   count=0 --индекс одноминутных свечей в таблице price_con
   sum_m1=0 -- сумма минутных ma1 (это же средняя цена свечи???)
   for i=1, 4, 1 do -- в первые 3 пятиминутные свечи пишем 0, в 4ю обычное SMA
      for j=1, 5, 1 do -- перебор одноминутных свечей
         price_con[count].ma4s=0
         price_con[count].ma4=0
         sum_m1=sum_m1+ma1[count].high
         count=count+1
      end
   end
   --четвертая пятиминутка на одноминутных свечах
   local ma4s=sum_m1/count
   for j=1, 5, 1 do -- перебор одноминутных свечей
      price_con[14+j].ma4s=ma4s
      price_con[14+j].ma4=0
      sum_m1=sum_m1+ma1[count].high
      count=count+1
   end

   local last_ma4_t5=ma4s -- предыдущее значение ma4
   count = 1 --счетчик одминуных свечей (1..5)
   local ma1s=0
   --  Далее перебор всех одноминутных свечей, кроме уже заданных первых 20ти (0..19)
   for i=20, min_len-1, 1 do -- перебор минутных свечей
      price_con[i].ma4s=0 --определим для последних, попавших в незакрытую 5мин свечу
      ma1s=((ma1s*(count-1))+ma1[i].high)/count --средняя цена в моменте (в незакрытой 5-ти минутной свече) (сумма минутных ma1)
      price_con[i].ma4=(alfa4*(ma1s))+((1-alfa4)*last_ma4_t5) --значение в моменте ("дыхание")

      if (count==5) then -- Закончилась 5-ти мин. свеча - занесем итоговое значение ma4 в ma4s
         for j= 0, -4, -1 do
            price_con[i+j].ma4s=price_con[i].ma4 -- итоговое значение
         end
         count = 0
         last_ma4_t5=price_con[i].ma4 --для следующе свечи
      end
      count=count+1
   end
end

Пояснение к коду: price_con – минутные свечи, к которым дописываем два свойства: ma4s –значение MA пятиминутной свечи в которую входит минутная(данное значение должно соответствовать тому, которое в это время выдавала бы MA с пятиминутного графика ),  ma4 – это значение в моменте(когда минутная свеча закрылась, а соответствующая 5-ти мин. свеча еще нет). Каждым пяти одноминутным свечам, начиная с 0, соответствует одна воображаемая пятиминутная  свеча.

За начальное значение для EMA – принимает среднее арифметическое.

Moving Average продублировать из 5мин в 1мин, Нужно добиться одинаковых графиков ma на разных интервалах
 
И так же нужно, чтобы во время торгов они вели себя одинаково. (Одинаково "дышали").
Moving Average продублировать из 5мин в 1мин, Нужно добиться одинаковых графиков ma на разных интервалах
 

Здравствуйте, коллеги.

Помогите разобраться: есть график с интервалом 5 мин, на нем два Moving Average с количеством периодов 2 и 4, оба Exponencial, поле цены Close. Нужно получить такие же (т.е. чтобы значения в одно и тоже время совпадали с MA на 5-ти минутке) на графике с интервалом 1 мин.


Простое увеличение периодов MA на минутном графике до 10 и 20 не приносит желаемого
результата. Есть идеи?
Страницы: 1
Наверх