Anton (Все сообщения пользователя)

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

Страницы: Пред. 1 ... 18 19 20 21 22 23 24 25 26 27 28 След.
EMA внутри свечи, Нужно EMA по тиковым значением в незавершенной свече
 
Цитата
Сергей написал:
EMA с периодом 1
Это просто то же, что на входе. Формула EMA y[n] = alpha * x[n] + (1 - alpha) * y[n - 1], формула альфы alpha = 2 / (period + 1). Подставляем период 1 во вторую и получаем alpha = 1, подставляем альфу в первую и получаем y[n] = 1 * x[n] + (1 - 1) * y[n - 1] = x[n]. Никаких чудес.

Цитата
Сергей написал:
простое усреднение(SMA) по всем тикам
Нет никакого усреднения, если как базу вы используете поле close, то это просто последний тик периода, закрыта свеча или нет - неважно. После первого тика O = H = L = C, последующие тики заменяют C, попутно обновляя H и L, если нужно. Соответственно все индикаторы по клозу вычисляются из этого последнего тика, просто внутри свечи он еще изменится и индикатор будет пересчитан заново, а после начала новой свечи предыдущая остается с последним полученным клозом и рассчитанными из него индикаторами.

Цитата
Сергей написал:
с полем цены Typical
https://en.wikipedia.org/wiki/Typical_price с этим?
19-значные номера заявок и сделок на MOEX
 
Цитата
_sk_ написал:
Теоретически, можно как-то через userdata выкручиваться, чтобы сразу экономить память, но там ещё разбираться надо.
Для 64-битного квика можно пушить непосредственно номер как LUA_TLIGHTUSERDATA (по-хорошему это пойнтер, но кто мешает скастить, луа-то все равно) и навесить на это поле метаметод, возвращающий что-нибудь читаемое из луа, строку там или таблицу. Соответственно, кто не дергает номера, никакого оверхеда не имеет. Из сей же можно будет выдергивать голое 64-битное значение через rawget тоже без оверхеда. Но, увы, на 32-битном квике такой костыль не сработает.
Исполнение заявок в Quik
 
Цитата
Imersio Arrigo написал:
пиво вино и водка это разные контракты :)
Пожалуй да, опять примерчик кривоват.

Цитата
Imersio Arrigo написал:
ближние опционы без денег
Они как раз недостаточно жидкие (liquid), еще вопрос, то ли выблюешь, то ли сами рассосутся )
Moving Average продублировать из 5мин в 1мин, Нужно добиться одинаковых графиков ma на разных интервалах
 
Квик дергает индикатор на каждый тик, так что C(idx) это именно "текущее" закрытие, когда начинается новая свеча, последнее рассчитанное "текущее" автоматически становится "окончательным". Кабы не фиксировались значения на промежуточных свечах при их закрытии, было бы просто.

Цитата
Сергей написал:
Если не секрет, каким образом вы посчитали?
Довольно геморройным. Рассматриваем емашку как БИХ-фильтр первого порядка, определяем круговую частоту среза для заданного периода, денормируем на текущую частоту дискретизации (на пятиминутках это 1/(5*60) Гц), получаем частоту среза в герцах, нормируем на частоту дискретизации минуток (1/60 Гц), получаем круговую частоту среза на минутках, и самый гемор из нее выводим период емашки для минуток. В принципе, можно технологию упростить, повозившись с формулами, но тут уже из разряда шашечки или ехать, быстрей было таким образом, чем математические исследования затевать. Там еще обнаруживается такая вещь, что с ростом периода исходной емашки рассчитанный период постепенно приближается к ожидаемому 5x. На заданных же малых периодах оказывается настолько ниже ожидаемого, поскольку, строго говоря, емашка с периодом 2 (и альфой 0.66) находится выше частоты Найквиста и усредняет уже "неизвестно что", кашу из реальных значений и отраженных высших гармоник. У емашки 4 ситуация получше. Впрочем, сама нарезка на свечи без предварительной фильтрации (как требует теорема Котельникова) уже создает довольно-таки кашу в спектрах.
Moving Average продублировать из 5мин в 1мин, Нужно добиться одинаковых графиков ma на разных интервалах
 
Честно говоря, я не понял, что в скрипте происходит.

Пока пятиминутная  свеча не закрылась, окончательное значение EMA на ней не определено, в  реальном времени просто берем за закрытие последний тик и считаем, что  это и есть значение. Для промежуточных свечей значения - это прямая  линия, соединяющая текущее значение пятиминутки и предыдущее. Главная  проблема, по-моему, что в индикаторе нельзя задним числом четыре  внутренних свечи перерисовать. Так что может емашка с дробным периодом,  дающая ту же частоту среза фильтра, что и пятиминутная емашка, будет и  не самым плохим вариантом.

Пересчитал периоды емашек 2 и 4 с пяти минут на минуту, получаются такие периоды:
M5 EMA(2) -> M1 EMA(8.205459971)
M5 EMA(4) -> M1 EMA(19.18033544)

Поскольку стандартный квиковский индикатор не позволяет дробный период указать, вот минималистичная замена
Код
Settings = 
{
   Name = "EMA-X",
   Period = 8.205459971,
   line =
   {
      {
         Name = "EMA-X",
         Color = RGB(0, 255, 128),
         Type = TYPE_LINE,
         Width = 2
      }
   }
}

local alpha = 0
local prevval = 0

Init = function()
   alpha = 2 / (Settings.Period + 1)
   return 1
end

OnCalcul ate = function(idx)
   local v = C(idx)
   if nil == v then return nil end
   if 0 == prevval then prevval = v else prevval = prevval + alpha * (v - prevval) end
   return prevval
end
Посмотрите, может сойдет.
Исполнение заявок в Quik
 
Хм, я думал, пример хороший. Идея в том, что контракты неразличимы. У них нет серийных номеров или каких-то других черт, позволяющих сказать, что вот это контракт А, купленный за 100, а это контракт Б, купленный за 200. Они взаимозаменяемы. Кого из них кем считать - исключительно ваша воля. Можете считать, в том числе, что контракт Б вы купили за 300, а контракт А получили даром. Или оба купили по 150. Собственно говоря, единственная мысль, зачем это нужно, приводит к налогообложению, а там как раз все понятно, если вы физик - за вас брокер все посчитает, а если юрик, ваш бухгалтер наверняка в курсе, что фифо надо использовать. Раньше лифо можно было, теперь отменили.

Похулиганить что ли. Некто вчера выпил пива за 100, потом вина за 200, потом водки за 300, ему поплохело и он пошел блевать, но старался выблевать только дешевое пиво, а более дорогие вино и водку таки оставить внутри.
Moving Average продублировать из 5мин в 1мин, Нужно добиться одинаковых графиков ma на разных интервалах
 
Задача "чтобы значения в одно и тоже время совпадали с MA на 5-ти минутке" строгого решения не имеет. Причина раз: EMA задается (дробным) параметром альфа, а не (целым) периодом, задавая целым мы загрубляем результат. Причина два в три строчки не поместится, ключевые слова теорема Котельникова, частота Найквиста, БИХ-фильтр, а если с этим все ок, тогда вопрос, куда девается верхняя половина спектра (спойлер: отражается в нижнюю).
19-значные номера заявок и сделок на MOEX
 
Цитата
_sk_ написал:
где говорится о 19-значных номерах заявок и сделок.
Там еще о партициях говорится, вот где веселье-то ожидается. А по 19 знакам как всегда, кто не ленился писать unsigned, те отдыхают, все прочие выходят на субботник. Не говоря уже о любителях даблов повсюду. Тксть 640к хватит всем 2.0.
Исполнение заявок в Quik
 
Вам на карту пришло 100 руб от Саши, 200 руб от Маши и 300 руб от Пети. Когда будете покупать бутылку за 400 руб, чьи вы деньги потратите, Сашины, Машины или Петины? Чьи спишутся первыми? Оставшиеся 200 будут чьи?
Экспорт инструментов по DDE
 
Цитата
Imersio Arrigo написал:
Если не ошибаюсь, очередь сообщений тут не причем. Во всяком случае у меня работало без нее.
С ddeml могло и без нее работать, там внутри делается примерно таким образом (внимание на while в последнем блоке, который и есть "локальный" цикл сообщений)
Код
BOOL PostDataMessage(HWND hwndServer, HWND hwndClient, int iState, BOOL fDeferUpd, BOOL fAckReq, BOOL fResponse)
{
   ATOM aItem;
   char szPopulation[16];
   DDEACK DdeAck;
   DDEDATA *pDdeData;
   DWORD dwTime;
   GLOBALHANDLE hDdeData;
   MSG msg;
   WORD wStatus;
   aItem = GlobalAddAtom(pop[iState].szState);
   // Allocate a DDEDATA structure if not deferred update
   if(fDeferUpd)
      hDdeData = NULL;
   else
   {
      wsprintf(szPopulation, "%ld\r\n", pop[iState].lPop);
      hDdeData = GlobalAlloc(GHND | GMEM_DDESHARE, sizeof(DDEDATA) + strlen(szPopulation));
      pDdeData =(DDEDATA *) GlobalLock(hDdeData);
      pDdeData->fResponse = fResponse;
      pDdeData->fRelease = TRUE;
      pDdeData->fAckReq = fAckReq;
      pDdeData->cfFormat = CF_TEXT;
      lstrcpy((PSTR) pDdeData->Value, szPopulation);
      GlobalUnlock(hDdeData);
   }
   // Post the WM_DDE_DATA iMsg
   if(!PostMessage(hwndClient, WM_DDE_DATA,(WPARAM) hwndServer, PackDDElParam(WM_DDE_DATA,(UINT) hDdeData, aItem)))
   {
      if(hDdeData != NULL)
      GlobalFree(hDdeData);
      GlobalDeleteAtom(aItem);
      return FALSE;
   }
   // Wait for the acknowledge iMsg if it's requested
   if(fAckReq)
   {
      DdeAck.fAck = FALSE;
      dwTime = GetCurrentTime();
      while(GetCurrentTime() - dwTime < DDE_TIMEOUT)
      {
         if(PeekMessage(&msg, hwndServer, WM_DDE_ACK, WM_DDE_ACK, PM_REMOVE))
         {
            wStatus = LOWORD(msg.lParam);
            DdeAck = *((DDEACK *) &wStatus);
            aItem = HIWORD(msg.lParam);
            GlobalDeleteAtom(aItem);
            break;
         }
      }
      if(DdeAck.fAck == FALSE)
      {
         if(hDdeData != NULL)
         GlobalFree(hDdeData);
         return FALSE;
      }
   }
   return TRUE;
}
Экспорт инструментов по DDE
 
Цитата
Imersio Arrigo написал:
Причем тут консольное?
В смысле для работы ODBC не требуется окна и очереди сообщений. В квике можно стаканы по ODBC выводить, не открывая окон, о чем изначально и речь была, почему по ODBC так можно, а по DDE нельзя. Потому что для DDE окно все равно придется создавать, будь то нынешний стакан или какой-то его невидимый обрезок.
Экспорт инструментов по DDE
 
Цитата
foobar написал:
Так в windows всё является окном и имеет hwnd.  
Нет. Процесс, поток, мьютекс, сокет, файл мэппинг и многое-многое другое не являются окном и не имеют hwnd.
Цитата
foobar написал:
К открытым (равно как и невидимым окнам) это не имеет никакого отношения.
Сильное заявление.
Цитата
foobar написал:
Вот тут расписано подробно
Именно: All DDE transactions are conducted by passing certain defined  DDE messages between the client and server windows.
Цитата
foobar написал:
Консольные программы тоже могут получить или отправлять DDE-сообщения.
Отправлять сообщения могут, никто не мешает. Чтобы сообщения получать, надо создать окно и дергать GetMessage или PeekMessage, причем после первого же вызова одной из этих функций поток станет гуишным (можно проверить, вызвав IsGUIThread). Работать с DDE из консольной программы можно через либу ddeml, которая как раз и создает кучку скрытых окон под ковром.
Экспорт инструментов по DDE
 
Цитата
Imersio Arrigo написал:
Так вроде и с одбц такая же схема, не?
Нет, по ODBC можно даже из консольного приложения вывести (пример), DDE же в принципе основано на том, что два окна обмениваются сообщениями.
Экспорт инструментов по DDE
 
Цитата
Imersio Arrigo написал:
Так есть же.
Как я понял, идея выводить стаканы по DDE без открытия самих стаканов. По факту данные по DDE выводит какое-то окно, так что на практике получится либо просто невидимый стакан, либо одно (невидимое) окно на весь квик, занятое только DDE-экспортом всего и вся.
Экспорт инструментов по DDE
 
Цитата
foobar написал:
Очень бы хотелось иметь аналог по DDE.
По секрету, можно сделать свой ODBC драйвер, в качестве примера годится (опенсорцный) драйвер от mysql. Там "всего" около 70 апишных функций надо реализовать, не считая, конечно, собственно логики сервера, ака что куда и как рассовывать. Для DDE нужно окно, поэтому сомнительно, что без открытых стаканов сделают, из главного окна квика выводить все и сразу геморрою не оберешься.
HHTP запросы в LUA и проблема с 32-битной версией библиотеки LuaSocket
 
Цитата
Вадим написал:
где
Ну например несколькими темами ниже https://forum.quik.ru/messages/forum10/message40322/topic4609/#message40322
HHTP запросы в LUA и проблема с 32-битной версией библиотеки LuaSocket
 
Цитата
Вадим написал:
Выкачал
Подпись от Autodesk вообще никак не напрягла? Это вообще другая длл.
размытый шрифт, нет резкости
 
Цитата
новичок написал:
<ссылко>
Не, квик переписать с нуля по-любому дешевле.
Таблица всех сделок
 
Цитата
Egor Zaytsev написал:
к сожалению, ответа не получили.
Спасибо, Егор, понял. Скрины есть, инфы нет, паранойка не спит, все дела.
Таблица всех сделок
 
Что-то по этой теме определилось, именно по последним вопросам? Что настрого запретить делать юзерам во время сессии?
котировка из будущего, закрытие сделки не соответствует времени
 
Цитата
Andrey Malyar написал:
по 145450 я ничего не выставлял
На втором скрине у вас QScalp засветился, видимо это он с таким запасом выставил, смотрите у него в настройках что стоит.
котировка из будущего, закрытие сделки не соответствует времени
 
Цитата
Andrey Malyar написал:
вижу в таблице  заявок что вторую сделку мне закрыли по цене 145450
Хм, на скрине видно лишь, что вы выставили заявку по цене 145450, а по какой цене она реально исполнена, надо смотреть в таблице сделок. Выставить-то и по верхнему лимиту можно было.
Экспорт значений "Price" и "Volume" в Excel, Экспорт значений "Price" и "Volume" в Excel
 
Цитата
Михаил написал:
Дайте, пож., ссылку в Финаме.
https://www.finam.ru/profile/moex-akcii/gazprom/export/
Unix-время
 
Цитата
новичок написал:
картинки на мониторе
Именно что в дампе так выглядит. На правую колоночку тоже иногда стоит поглядывать, любопытные вещи там видны.
Unix-время
 
Цитата
Imersio Arrigo написал:
Проверил. В дабл входит вплоть до 2241 года. Потом начинаются проблемы с точностью :)
Ага, сам точную границу не искал, посмотрел только, что лет 200 влезает. Кстати, в моем коде надо в ассерте < заменить на <=, а то он уже на 52 битах сигналит, рановато.

С другой стороны, подумал о варианте с микросекундами отдельно. Тоже свои плюсы есть, часть с секундной точностью совпадает с форматом времени луа, что может быть удобно для кого-то, ну и в случае чего умножить на миллион и прибавить микросекунды не так и затратно. На один пуш в таблицу больше на стороне квика, на один поп больше на стороне скрипта. Не сказать, чтобы смертельная цена. Нужны еще мнения в общем, кому как кажется удобнее.
Unix-время
 
Цитата
Imersio Arrigo написал:
Цитата
Anton написал:
Лезет в ближайшие 200 лет, а там, глядишь, и квик переписывать пора.
Так-то unixtime закончится уже через 19 лет...
32-битный. Если до 64 бит расширить, будет вечным. По сути разница с файлтаймом в а) точке отсчета и б) минимальном шаге.
Unix-время
 
Цитата
Imersio Arrigo написал:
мне кажется, что полный "unixtime с микросекундами" в дабл не влезет.
Лезет в ближайшие 200 лет, а там, глядишь, и квик переписывать пора.
Цитата
Imersio Arrigo написал:
Ничем не лучше существующей схемы.
Это конверт на сишной стороне, можно считать бесплатный. Распихивание по таблице луа и потом вытаскивание из нее на порядки тяжелее.
Unix-время
 
Цитата
Imersio Arrigo написал:
тогда уж лутше в луа отдавать FILETIME (ежели прям без конверсий)
Выше написал, почему не получится. У луа 5.1 нет целого типа как такового, есть LUA_NUMBER, который double. А в double файлтайм не полезет.

Поразмышлял на эту тему и решил, что лучшим форматом был бы unixtime с микросекундами. Он лезет в double без потери точности и вычисляется из файлтайма достаточно легко:
Код
static int hibit(unsigned long long ull) throw () // нужно только для ассерта в отладочном режиме
{
   int result = 0;
   while((ull >>= 1) != 0)
      ++result;
   return result;
}

double filetime_to_unix_time_with_microseconds(const ::FILETIME * pft) throw ()
{
   assert(pft);
   const unsigned long long uoffset = 116444736000000000ULL;
   const unsigned long long ftime =
      (static_cast<unsigned long long>(pft->dwHighDateTime) << 32) | pft->dwLowDateTime;
   const unsigned long long utime = (ftime - uoffset) / 10;
   assert(::hibit(utime) < 52);
   return static_cast<double>(utime);
}
Unix-время
 
FIX: неправду выше написал. До микросекунд это делить файлтайм на 10, и максимум получится 1743-09-18 23:53:47.370, т.е. опять не хватает. Если предположить, что "время в десятках микросекунд" не удовлетворяет из-за "странности" единиц, придется резать до миллисекунд, т.е. делить на 10000.
Unix-время
 
Цитата
новичок написал:
не просто превращается, а в dat файлах оно у них уже в FILETIME формате
Можно тогда предположить, что едет в этом же формате. Это, так сказать, хорошая новость. А плохая - в дабл файлтайм как есть не полезет, там мантисса всего 52 бита, если ее всю заполнить единицами, будет 1615-04-10 11:59:22.737, что как бы малость не хватает. То есть конвертить все равно придется, либо в офисный формат, который в дабле (но парсить будет удовольствие то еще, плюс цель избежать сложной конвертации не достигается), либо урезать до микросекунд (делить файлтайм на 100), тогда максимум будет 3028-02-19 22:57:53.704, либо, как изначально предлагалось, в unix time, что по сути то же самое обрезание, только уже до секунд, вопросы и пожелания "отдайте микросекунды" гарантированы.
Цитата
новичок написал:
речь конечно не про символы
В фиксе как раз они самые, поле UTCTimestamp выглядит типа
Код
60=YYYYMMDD-HH:MM:SS.sssssssssSOH
Unix-время
 
Цитата
новичок написал:
зачем плоскую инфу загонять в табличный вид
С этим-то согласен. Правда, есть сомнения, что едет оно в плоском виде, как бы не в текстовом. До сервера-то по фиксу точно в текстовом, дальше надо у арки (конфиденциальную инфу) выспрашивать, где оно у них в число превращается и превращается ли вообще.
Unix-время
 
Цитата
новичок написал:
а вы пропатчили 5.1 для long?
Если, как я понял, речь о целых числах в луа, так они как intptr_t определяются и на 64 битах должны быть 64-битные из коробки, а вот если заменить в заголовке на long, то получим внезапно 32 бита, ибо на винде long 32-битный. Или о другом чем-то?
Торговые скрипты в WebQUIK, Возможность написания торговых скриптов для WebQUIK
 
Цитата
Imersio Arrigo написал:
Мне кажется это вполне жизнеспособная схема.
Вообще-то да, сделать можно, только надо ну ооочень тщательно ко всему подходить, в случае с луа, например, придется существенно машину дорабатывать, дабы отрезать доступы куда нельзя, отрезать все возможные варианты запустить привезенный с собой код (длл например в случае винды), поставить квоты на диск, на использование процессора, на использование памяти, еще много чего урезать и ограничить, и при этом не выхолостить возможности до уровня "алгоритмических заявок", иначе смысл теряется.

Кстати, подумалось тут, что может быть арке стоило бы рассмотреть вариант нового продукта под условным названием QuikScriptHost, то же рабочее место с луа-скриптами, но без юзер-интерфейсов, темных тем и прочего тяжеловесного обвеса. Чтобы заинтересованные лица могли просто арендовать выделенный сервер и поставить эту штуку туда. Только добавить тогда к луа возможности, которые сейчас только через юай делаются. В таком виде если юзер сервер и повесит, то свой.
Торговые скрипты в WebQUIK, Возможность написания торговых скриптов для WebQUIK
 
Цитата
Imersio Arrigo написал:
 Ну... это проблемы сервера, чтобы отстреливать такие скрипты.
Несомненно, только получится ли, вот вопрос. В целом пускать на серверную сторону исполняемый код неизвестного происхождения не лучшая идея, вода дырочку найдет.

Цитата
новичок написал:
 линукс сервер скриптом точно не подвесить, если ты не рут
может это будет виндуз-сервер?  :)
В данном случае под сервером надо понимать гипотетическую программу от арки, стоящую на серверной стороне, независимо от подкладки.
Торговые скрипты в WebQUIK, Возможность написания торговых скриптов для WebQUIK
 
Цитата
Imersio Arrigo написал:
если бы код загружался на сервер и исполнялся там
, то тут бы была еще кучка тем "я повесил сервер брокера своим скриптом, чо теперь делать".
Еще одна особенность SetTableNotificationCallback
 
Черт, отправилось раньше времени. У вас поток квика никогда ничего в таблицу не запишет, пока цикл while не закончится, а он не закончится, потому что пока вы из колбека не вернетесь, квик ничего в таблицах менять не будет.
Еще одна особенность SetTableNotificationCallback
 
Было бы удивительно, если бы не зависал вот тут
Код
         while getItem("orders", i).flags==25 do 
            message("flags = "..getItem("orders", i).flags)
            sleep(1000) 
         end


Количество открытых позиций
 
Цитата
Сергей написал:
Png не должен округлять ничего.
Дык не png а сам квик, когда график рисует. Там же антиалиасинга нет, пиксель либо подсвечен, либо нет, нельзя полпикселя нарисовать.

Цитата
Сергей написал:
максимальный ОИ на 15:26, 15:27, 15:28
15:26 - 337380
15:27 - 337362
15:28 - 337362
Количество открытых позиций
 
Цитата
Сергей написал:
А что за брокер?
ПСБ. На таком масштабе возможно расхождение просто за счет округления до пикселей при отрисовке графика.

Egor Zaytsev, не поленился специально для вас. Берем все вчерашние сделки в 21:54 и ручками считаем. Количество сделок (записей в твс) 41, количество проторгованных контрактов 53. Слово "количество" тут играет злую шутку.
Код
2409502596,21:54:00,RTS-12.19,FORTS: ‘ьючерсы,RIZ9,144280,0.00,1,184216.70,,,0,,,,S
2409502606,21:54:06,RTS-12.19,FORTS: ‘ьючерсы,RIZ9,144290,0.00,1,184229.47,,,0,,,,B
2409502607,21:54:06,RTS-12.19,FORTS: ‘ьючерсы,RIZ9,144290,0.00,2,368458.94,,,0,,,,B
2409502608,21:54:06,RTS-12.19,FORTS: ‘ьючерсы,RIZ9,144290,0.00,1,184229.47,,,0,,,,B
2409502609,21:54:06,RTS-12.19,FORTS: ‘ьючерсы,RIZ9,144290,0.00,2,368458.94,,,0,,,,B
2409502610,21:54:06,RTS-12.19,FORTS: ‘ьючерсы,RIZ9,144290,0.00,1,184229.47,,,0,,,,B
2409502611,21:54:06,RTS-12.19,FORTS: ‘ьючерсы,RIZ9,144290,0.00,1,184229.47,,,0,,,,B
2409502612,21:54:06,RTS-12.19,FORTS: ‘ьючерсы,RIZ9,144290,0.00,1,184229.47,,,0,,,,B
2409502613,21:54:06,RTS-12.19,FORTS: ‘ьючерсы,RIZ9,144290,0.00,1,184229.47,,,0,,,,B
2409502616,21:54:07,RTS-12.19,FORTS: ‘ьючерсы,RIZ9,144290,0.00,1,184229.47,,,0,,,,B
2409502617,21:54:07,RTS-12.19,FORTS: ‘ьючерсы,RIZ9,144290,0.00,1,184229.47,,,0,,,,B
2409502619,21:54:08,RTS-12.19,FORTS: ‘ьючерсы,RIZ9,144290,0.00,1,184229.47,,,0,,,,B
2409502620,21:54:08,RTS-12.19,FORTS: ‘ьючерсы,RIZ9,144290,0.00,1,184229.47,,,0,,,,B
2409502621,21:54:08,RTS-12.19,FORTS: ‘ьючерсы,RIZ9,144290,0.00,1,184229.47,,,0,,,,B
2409502622,21:54:08,RTS-12.19,FORTS: ‘ьючерсы,RIZ9,144290,0.00,1,184229.47,,,0,,,,S
2409502623,21:54:08,RTS-12.19,FORTS: ‘ьючерсы,RIZ9,144280,0.00,1,184216.70,,,0,,,,S
2409502654,21:54:16,RTS-12.19,FORTS: ‘ьючерсы,RIZ9,144290,0.00,1,184229.47,,,0,,,,B
2409502665,21:54:21,RTS-12.19,FORTS: ‘ьючерсы,RIZ9,144290,0.00,1,184229.47,,,0,,,,B
2409502670,21:54:22,RTS-12.19,FORTS: ‘ьючерсы,RIZ9,144300,0.00,1,184242.24,,,0,,,,B
2409502672,21:54:22,RTS-12.19,FORTS: ‘ьючерсы,RIZ9,144300,0.00,1,184242.24,,,0,,,,B
2409502681,21:54:25,RTS-12.19,FORTS: ‘ьючерсы,RIZ9,144300,0.00,3,552726.72,,,0,,,,B
2409502682,21:54:26,RTS-12.19,FORTS: ‘ьючерсы,RIZ9,144300,0.00,2,368484.48,,,0,,,,B
2409502686,21:54:28,RTS-12.19,FORTS: ‘ьючерсы,RIZ9,144300,0.00,1,184242.24,,,0,,,,B
2409502691,21:54:28,RTS-12.19,FORTS: ‘ьючерсы,RIZ9,144300,0.00,1,184242.24,,,0,,,,B
2409502694,21:54:29,RTS-12.19,FORTS: ‘ьючерсы,RIZ9,144300,0.00,1,184242.24,,,0,,,,B
2409502697,21:54:32,RTS-12.19,FORTS: ‘ьючерсы,RIZ9,144300,0.00,4,736968.96,,,0,,,,B
2409502788,21:54:36,RTS-12.19,FORTS: ‘ьючерсы,RIZ9,144290,0.00,1,184229.47,,,0,,,,S
2409502789,21:54:36,RTS-12.19,FORTS: ‘ьючерсы,RIZ9,144290,0.00,1,184229.47,,,0,,,,S
2409502797,21:54:36,RTS-12.19,FORTS: ‘ьючерсы,RIZ9,144280,0.00,1,184216.70,,,0,,,,S
2409502798,21:54:36,RTS-12.19,FORTS: ‘ьючерсы,RIZ9,144280,0.00,1,184216.70,,,0,,,,S
2409502870,21:54:42,RTS-12.19,FORTS: ‘ьючерсы,RIZ9,144280,0.00,1,184216.70,,,0,,,,S
2409502876,21:54:42,RTS-12.19,FORTS: ‘ьючерсы,RIZ9,144280,0.00,1,184216.70,,,0,,,,S
2409502877,21:54:42,RTS-12.19,FORTS: ‘ьючерсы,RIZ9,144280,0.00,2,368433.41,,,0,,,,S
2409502878,21:54:42,RTS-12.19,FORTS: ‘ьючерсы,RIZ9,144280,0.00,1,184216.70,,,0,,,,S
2409502896,21:54:45,RTS-12.19,FORTS: ‘ьючерсы,RIZ9,144280,0.00,1,184216.70,,,0,,,,B
2409502959,21:54:48,RTS-12.19,FORTS: ‘ьючерсы,RIZ9,144290,0.00,1,184229.47,,,0,,,,B
2409502989,21:54:51,RTS-12.19,FORTS: ‘ьючерсы,RIZ9,144280,0.00,2,368433.41,,,0,,,,B
2409502993,21:54:55,RTS-12.19,FORTS: ‘ьючерсы,RIZ9,144270,0.00,1,184203.94,,,0,,,,S
2409503010,21:54:56,RTS-12.19,FORTS: ‘ьючерсы,RIZ9,144270,0.00,1,184203.94,,,0,,,,S
2409503011,21:54:56,RTS-12.19,FORTS: ‘ьючерсы,RIZ9,144280,0.00,1,184216.70,,,0,,,,B
2409503012,21:54:56,RTS-12.19,FORTS: ‘ьючерсы,RIZ9,144270,0.00,3,552611.81,,,0,,,,S
Что нам показывает квик на графике?
Скрытый текст
Количество открытых позиций
 
Цитата
Сергей написал:
картинка
Количество открытых позиций
 
Цитата
Сергей написал:
Можно сравнить  "объем открытых позиций" у разных брокеров.
У меня только за вчера есть.
Количество открытых позиций
 
Цитата
Сергей написал:
Это понятно.
А мне вот непонятно.
Цитата
Egor Zaytsev написал:
объем на графике "цены и объема" это, количество обезличенных сделок за интервал времени.
121 контракт проторгован за обсуждаемую минуту, но количество сделок было меньше, т.к. часть сделок прошла более, чем на один контракт. То есть определение неправильное, объем это количество проторгованных контрактов за интервал времени, он может и весь одной сделкой пройти.

А вопрос я бы переформулировал: откуда вообще берется параметр "объем открытых позиций", его биржа транслирует разве?
HHTP запросы в LUA и проблема с 32-битной версией библиотеки LuaSocket
 
Цитата
Андрей А написал:
подойдет любое решение
Тогда можно и голым сокетом дернуть, только заголовки указать Host: yoursite.com и Connection: close, дабы апач с ума не сходил. Но, как верно сказано выше, зачем html страница тогда, отдавайте сразу плейнтекст, протоколу-то все равно что качать, для него единица "файл" и содержимым он не интересуется.
HHTP запросы в LUA и проблема с 32-битной версией библиотеки LuaSocket
 
Цитата
Nikolay написал:
Но можно и руками отправлять, только с Socket
Ох, не советуйте таких вещей. Многие сайты хотят только тлс, многие ставят куку и делают редирект, некоторые особо одаренные даже жабаскриптом это делают. Все это в общем случае придется обрабатывать. Прошли времена простого веба, сейчас лучше готовую либу заюзать, если, конечно, задача прикладная, а не хорошенько протоколы изучить.
Не правильно работают индексы в цикле
 
Цитата
vovaMakarovych написал:
Или может в  другом месте у меня ошибка....
Лирика. Мне надо написать прогу, которая будет забирать из квика данные, анализировать, делать чудесные прогнозы, покупать/продавать бумаги и зарабатывать 1000% годовых. Я тут набросал примерный код, не пойму, почему не работает:
Код
void main(void)
{
    printf("Hello, world\n");
}
Физика. Первый же результат из гугля https://gist.github.com/efrederickson/4080372
два разных графика цены а линии одинаковые, два разных графика цены северсталь и polymetall . линиирисую в северстали и они же появляются в графике polymetal
 
Цитата
richtrades написал:
 от какой вещи это название
От этой очевидно.
Цитата
richtrades написал:
в общем понимании это визуальный футпринт на графике по типу свечей, только с цифрами , какой и показан на скринах.
Кластерный анализ это задача классификации, даны точки в (многомерном) пространстве признаков, их надо разделить на определенные группы, кластеры. Чтобы при появлении новой точки сразу знать, к какой группе (кластеру) она принадлежит. "Кластеры объемов" нормальное название, "кластерный анализ" это вышеописанное из статистики, в данном случае только с толку сбивает.
Остановить скрипт при закрытии терминала
 
Еще одно ткскть исследование, теперь на предмет scripts.dat. Формат у него такой (си-подобный псевдокод)
Код
#pragma pack(push, 1)
// NOTE: no any padding between fields
struct scripts_dat_header_t
{
   char magic[8];               // = "INFOSCRT"
   int  unknown1;               // = 1 (?)
   int  unknown2;               // = 1 (?)
   int  nrecords;               // = (probably the number of subsequent records)
};
struct scripts_dat_record_t
{
   int  script_path_length;     // the length of the subsequent string
   char script_full_path[1];    // variable length array; the full path to the script file; not zero-terminated
   int  autorun_enabled;        // 1 if autorun enabled, else 0
};
struct scripts_dat_t
{
   struct scripts_dat_header_t header;
   struct scripts_dat_record_t records[1]; // variable length array
};
#pragma pack(pop)
Но использовать его из скрипта без суровых костылей все равно не получится, т.к. квик записывает этот файл ПОСЛЕ того, как наш скрипт уже прибит. То есть (попробовал) наши самостийные изменения будут им перезаписаны. Так что и тут голяк, господа.
Остановить скрипт при закрытии терминала
 
В общем, потрейсил я, зачем квиком дергается dllhost. Судя по всему, квик подписывается на уведомления об изменении файла скрипта, и вот это и приводит к вызовам dllhost'а, ну плюс там еще несколько вызовов ради каких-то иконок из кэша. Можно просто поменять файл скрипта при открытом квике, сохранить и увидеть, как опять выскочил dllhost. При запуске и остановке, соответственно, дергается подписка/отписка. Уот так уот все прозаично.
Остановить скрипт при закрытии терминала
 
Уточним наблюдения, dllhost выскакивает всякий раз при запуске скрипта кнопкой, после остановки скрипта кнопкой, после запуска квика при наличии автозапускаемых скриптов, после завершения квика с работающими скриптами. Не выскакивает при отсутствии работающих скриптов. Вывод - dllhost запускает и останавливает скрипты. Отсюда (возможно) рукой подать до некой широкой автоматизации их запуска и остановки, нужно только разобраться, что он там дергает и как.
Остановить скрипт при закрытии терминала
 
Плюс интересное наблюдение. Окно квика прячется, скрипт держит info.exe в диспетчере задач, потом он завершается и сразу выскакивает dllhost на несколько секунд. То же самое после старта квика, выскакивает dllhost и пропадает. Вопрос - а чо это он делает такое, что нельзя было из квика сделать?
Страницы: Пред. 1 ... 18 19 20 21 22 23 24 25 26 27 28 След.
Наверх