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

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

Страницы: Пред. 1 2 3 4 5 6 7 След.
Сканирование папки при помощи Lua.
 
Цитата
Archie_ написал:
Подскажите пожалуйста как с помощью lua просканировать папку в windows  "например: C:\Users\User\Documents"
Самый простой способ:
Код
local p = "%USERPROFILE%\\Documents"
local t = {}
for line in io.popen("dir \""..p.."\" /a /b", "r"):lines() do
    t[#t+1] = line
end
В таблице t будут имена всех подпапок и файлов в папке p. Меняя ключи команды dir, можно получить любой другой набор папок и/или файлов с определёнными атрибутами и способом сортировки. Ну это уже и так понятно, я полагаю...
Работа с набором цветов, Работа с набором цветов в окне настроек элементов диаграммы
 
Цитата
yako-v написал:
То есть я еше мог бы выбирать в какой квадратик набора вставить новый созданный мной цвет , Сейчас же ранее созданный уничтожается. Это реально непорядок.
Перед тем как нажать кнопку добавление цвета в набор, нужно выбрать квадратик в который добавлять... нажимаете на него, потом уже цвет настраиваете, а потом жмёте добавить...
В чем практическое отличие срочного рынка (фьчерсы) и фондовая биржа (акции), реальный счет
 
Цитата
Andrey.R написал:
Получается я трачу часть денег на покупку фьючерсов, а у меня еще плюсом блокируются деньги ?
Нет. При покупке фьючерса только ГО блокируется, больше никаких денег на покупку не списывается. ГО — это и есть деньги, которые вы как бы заплатили за покупку фьючерса, просто они никуда не списываются, а блокируются. ГО нужно, чтобы из этих денег вы смогли заплатить убыток по вар. марже, если он случится. Вас как бы просят оставить залог по деньгам. Ну это тоже самое, когда вы в прокат берёте гидроцикл, и вас просят оставить денежный залог частично покрывающий стоимость этого гидроцикла или существенный ремонт оного... когда вернёте гидроцикл, вам вернут залог. С фьючерсом также.

Кстати, само ГО тоже постоянно пересчитывается и меняется после каждого клиринга. И те деньги по ГО которые у вас были заблокированы, тоже могут частично разблокироваться или наоборот больше блокироваться. В брокерских отчётах это идёт отдельным столбцом. Но вам в практическом смысле это не нужно... только на длинные праздники или в моменты резких движений рынка нужно быть внимательным. ГО могут поднимать в разы, и если у вас большая плечевая позиция, то у вас может возникнуть нехватка средств по ГО, и необходимо будет закрывать непокрытую часть позиции, либо довносить средства и пр.

Цитата
Andrey.R написал:
Это имеется в виду после окончания утренней сессии и вечерней?
Обеденный клиринг проходит в 14:00 и вечерний в 18:45.

Цитата
Andrey.R написал:
А если в ближайший клиринг цена фьючерса станет 95 руб, то 5 руб начислят в плюс или в минус? (учитывается, что я его продал до клиринга с прибылью в 5 руб.?)
После того как вы продали фьючерс, ваша вар. маржа начислилась и зафиксировалась... дальше уже не важно куда уйдёт цена на фьючерс и какой она будет в момент начала клиринга. Вам будут начислять по вашей вар. марже, которую вы заработали на сделках.
В чем практическое отличие срочного рынка (фьчерсы) и фондовая биржа (акции), реальный счет
 
Цитата
Andrey.R написал:
Цитата
как торговать  фьючерсами, напомню, что на этом рынке, в отличие от рынка акций,  пересчет размера торгового счета не зависит от проведения сделок. Наличие актива уже приводит к периодической переоценке,
Имелось ввиду, что на счёте есть купленные фьючерсы... когда у вас на счёте есть фьючерсы, то у вас часть денег блокирована под ГО. Если продаёте эти фьючерсы, то эти деньги разблокируются... Далее, у фьючерсов есть вариационная маржа — эта такая штука, которую можно назвать «разница цен». Она постоянно списывается и начисляется на счёт по результатом каждого клиринга два раза в сутки.

Например, вы купили фьючерс по цене 100 руб. с утра... а к обеденному клирингу он стал стоить 105... вам в обед начислили 5 руб. на счёт. Дальше, после обеда фьючерс подешевел до 95 к вечеру... и вам на вечернем клиринге списали 10 руб. со счёта. На следующий день, он опять подорожал с утра до 100, и в обеденный клиринг вам начислили 5 руб... в итоге, прошли сутки, фьючерс стал стоит столько же, и денег на счёте у вас осталось столько же сколько и было... Но за эти сутки у вас несколько раз списывали и начисляли деньги на ваш счёт.

И ещё, если вы купили фьючерс за 100, а через час продали его за 105... то вам насчитали 5 руб. вариационной маржи в прибыль... но это пока ещё не деньги. Вы ждёте ближайшего клиринга, и после него, вам начисляют эти деньги, а вариационную маржу списывают в ноль соответственно.
Для чего нужна функция SetUpdateCallback?, Работа с данными.
 
Цитата
Ирина написал:
Пришла к следующему алгоритму:
Лучше напишите первую версию, если сразу не получится, сюда код киньте, мы посмотрим... так по словесному описанию сложно оценить алгоритм, тем более что при реализации он скорее всего изменится.
Цитата
Ирина написал:
С учетом упорядоченности цен в таблице и растущей индексации от старого к новому тику,
получается, что при получении каждого изменения, перебирать вообще не нужно.
Если у вас начало вашего диапазона не меняется, то тогда полный перебор не нужен. А если начало сдвигается, то нужен.
Для чего нужна функция SetUpdateCallback?, Работа с данными.
 
Цитата
Ирина написал:
причем период переборки неопределенный (типа трала)
Если это что-то типа скользящего окна... то-есть, экстремум за последние 100 минут скажем... то тут проще всего эти самые 100 минутных свечек и перебирать, причём полностью их перебирать только когда меняется номер последней свечи... когда же сама последняя свеча меняется, то сравнивать только с её минимумами и максимумами... в таком варианте полный перебор будет только раз в минуту...
Для чего нужна функция SetUpdateCallback?, Работа с данными.
 
Цитата
Ирина написал:
Теперь думаю что "легче" по загрузке, таблица обезличенных сделок что ли? Или всё-таки прибегнуть к колбэкам для меньшего кол-ва итераций. Боюсь я их - повесят квик.
Наверно зависит от того, с чем изначально вы работаете. Если вы работаете на свечках, то свечки и перебирать. А если на тиках, то таблицу обезличенных сделок. Оно просто по коду скрипта так будет получаться удобнее...

«Колбэки» нормально будут работать. Нахождение минимума и максимума простые мат. операции, просто два сравнения и присвоения, их прямо вовнутрь тела ф-ции OnAllTrade поместить и всё нормально будет.
Для чего нужна функция SetUpdateCallback?, Работа с данными.
 
Цитата
Ирина написал:
Что посоветуете для отслеживания экстремума с минимальной загрузкой скрипта и терминала (скорость не нужна - заявки выставляются ранее, а вот само значение минимума/максимума принципиально для расчетов)? Думала пользоваться именно таблицей текущих торгов, и тут ваше сообщение... Все тики перелопачивать не хотелось бы, а большая свеча может захватить оба экстремума... Эх. Мозг заболел.
Если нужны минимумы и максимумы за текущую торговую сессию, то их можно получить прямо из таблицы текущих торгов через параметры "LOW" и "HIGH". Примерно таким скриптом:
Код
local fRun = true

function OnParam(class_code, sec_code)
    if class_code =="SPBFUT" and sec_code == "SiM8" then
        local low  = getParamEx(class_code, sec_code, "LOW")
        local high = getParamEx(class_code, sec_code, "HIGH")
        if low.result == "1" and high.result == "1" then
            message("low.param_value\t= "..low.param_value.."\nhigh.param_value\t= "..high.param_value)
        end
    end
end

function main()
    while fRun do
        sleep(1000)
    end
end

function OnStop(s)
    fRun = false
end
А вот если нужны минимумы и максимумы за другие периоды внутри торговой сессии или между ними, то тут придётся уже мутить более сложный код с перебором всех значений по таблице всех сделок или по свечкам и пр.
Можно ли из Квика на lua запустить внешний ехе файл?, mail.
 
Цитата
lergen написал:
А еще подскажите кто в теме как из виндовсой библиотеки iphlpapi.dll (в частности из ее функции GetIfTable() )получить информацию в скрипт( о состоянии сетевых подключений). За пример буду особенно признателен или хотя бы направление подскажите.
Есть такая штука: w32.dll — библиотека-обёртка для вызова WinAPI ф-ций из Lua. Но она содержит только часть ф-ций WinAPI, самых основных. Обычно, когда какой-то ф-ции не хватает, то её несложно дописать самому в эту библиотеку. В частности, ваша ф-ция GetIfTable из Iphlpapi.dll тоже отсутствует, но вы можете дописать её по образцу других ф-ций.
Убыток после закрытия прибыльной позиции
 
Цитата
Андрей написал:
где  может быть подключение срочного рынка?
Обычно такие вещи подключает только брокер, и при этом обычно ещё нужно ехать и подписывать кипу бумаг... я не знаю что там у Сбербанка, но скорее всего так же... в личном кабинете обычно подают распоряжение на покупку ЦБ и вывод денег, а также подписывают отчёты поручений, смотрят налоговые отчёты и пр.

Цитата
Андрей написал:
Плохо еще в терминах разбираюсь, депозитарий, это что то типа хранилища инструментов для торговли?
Нет. Депозитарий — это место где хранятся ваши ценные бумаги, которые вы купили. Это отдельный тип счёта, на котором не деньги лежат, и именно ценные бумаги. Он так и называется — «счёт депо». При его открытии подписываете отдельный документ. После того, как купите ЦБ, вы их можете переводить между разными депозитариями на разные счета депо. Например, вы можете у одного брокера купить ЦБ и потом их вывести на счёт депо к другому брокеру и там их уже продать.
Где находятся фьючерсы в Квике?
 
Цитата
Андрей написал:
А у кого можно просить подключить фючерсы, я уж и не помню, где я скопировал с какого сайта QUIK Junior?
Классы доступных в Quik инструментов настраиваются на стороне сервера... на реальном счёте это делает брокер, а на демо-счёте администратор демо-сервера соответственно...
Таблица обезличенных сделок и SearchItems
 
Цитата
s_mike@rambler.ru написал:
Возможно и так. Гадать смысла нет. Внутреннее мир известен глистам и проктологу.

Хотелось бы чтобы разработчики наморщили лоб и что-нибудь изрекли.
Если моя догадка верна, то она легко проверяется по дате, времени и номеру сделок в логах... Перед вызовом SearchItems просто запишите данные первого и последнего элемента таблицы, и второй раз проделайте эту операцию уже после цикла ipairs(items)... и по этим четырём значениям сразу всё станет ясно, что там с этой таблицей происходит, когда у вас nil'ы сыпятся...
Таблица обезличенных сделок и SearchItems
 
Могу высказать догадку... возможно, это из-за того, что при первом включении в течение дня таблица всех сделок содержит данные за предыдущую торговую сессию, и по этим данным отрабатывает и возвращает результат поиска ф-ция SearchItems. Дальше, таблица всех сделок сбрасывается и начинается закачка новых данных в эту таблицу, что занимает несколько минут, но при этом одновременно к этой же таблице идёт запрос из цикла опроса ipairs(items) по индексам старых данных, которых уже нет, и возвращается куча nil в итоге...
Где находятся фьючерсы в Квике?
 
Цитата
Андрей написал:
вот картинка что у меня есть
Когда подключите, то в «Доступные инструменты» будет раздел «FORTS: Фьючерсы», и там все фьючерсы... у вас, судя по картинке, на демо-счёте их просто нет.
Убыток после закрытия прибыльной позиции
 
Цитата
Андрей написал:
Оказалось все проще, пока выходил через стеклянные двери сняли оплату за использование депозита при торговле акциями, просто момент времени выпал из поля зрения.
Обычна она фиксированная... например 150 руб. в месяц, если были сделки в этом месяце. Если же например, в течение месяца не было ни одной сделки, то оплату вообще могут не брать, она равна нулю... ну это в нормальных организациях... как в ваше, уточняйте по месту...
Два вопроса по ликбезу
 
Цитата
Andrey.R написал:
Получается, что фьючерсы не обязательно держать до конца контракта? Их можно покупать и продавать как обычные акции? (ну только без дивидентов и самих бумажек). А стоп-зяавки по ним тоже можно ставить по условию или нет?
Ответы на все три вопроса: «Да».
Убыток после закрытия прибыльной позиции
 
Цитата
Andrey.R написал:
...а графики что там сложного? ...Все они оказались убыточные...
Потому что биржа — это не просто график... за этим графиком стоит целый мир... ну это я так... уже чисто философски... не обращайте внимания... )))
Quik + Python
 
Цитата
rinat написал:
к великому сожалению не только бы поспорили, но и реально учудили ...Терру ... ведь это же очень важно ... нафигачить очередной оливье ...
месье... ваше негодуе непонятно... нельзя приготовить омлет не разбив парочки яиц... отнюдь!... в 1993 от года Р.Х.-аго, думается говаривали тогда многие-с, и про Lua, что дескать, оливье... да, до сию пору, то кушают, ею то самую, за милую душу, и не давятся!... и вам, appetitus, тож желаем... )))
Два вопроса по ликбезу
 
Цитата
Andrey.R написал:
Фундаментальный на рынке Московской биржи может сработать, может нет, а может сработать в противоположную сторону. Технический анализ - это анализ по историческим данным, а вероятность повторения ситуации конечно есть, но она в достаточной степени условная.
поэтому я и написал, что есть люди, которые по разному относятся к этим анализам, и признают и не признают их... найдётся много людей, которые поддержат ваши умозаключения, а найдутся много, кто полностью не согласится с вами...

Цитата
Andrey.R написал:
Во фьючерсе простой инвестор может только присоединиться к большому капиталу и все, но даже в этом случае это гадание на кофейной гуще. Или я пока чего то не понимаю?
Фьючерс не из воздуха торгуется, он к базовому активу привязан. Поэтому ходит за ценой базового актива. Не абсолютно точно, есть контанго и бэквордация и т.п., но в целом, если вы рассматриваете фьючерс на конкретный актив, то цены там соответствуют. И динамика соответствует. Поэтому что вы на акциях работает, что на фьючерсах на эти акции, разницы нет.
Quik + Python
 
Цитата
rinat написал:
Ваш сарказм может быть
это не был сарказм, вам показалось... )))
Цитата
rinat написал:
однако луа суть скриптовый тулз и не может быть в одном ряду с С/С++.
разработчики Terra с вами бы поспорили...
Убыток после закрытия прибыльной позиции
 
Цитата
Andrey.R написал:
Вечером прихожу и смотрю какие бумаги купились и ставлю их же на продажу аналогично
Так тоже можно торговать. Вполне нормальная практика.
Два вопроса по ликбезу
 
Цитата
Andrey.R написал:
Как тут можно получить прибыль, на основании каких теоретических расчетов?
Ну по сути, если вы пойдёте куда-то учиться, то вас могут научить только двум вещам: фундаментальному и техническому анализу. Фундаментальный анализ — это реальная экономика торгуемых инструментов. Ну то-есть, если на пальцах объяснять, если компания получила хорошую прибыль, собирается платить дивиденды и у неё большие перспективы, то цены на её акции должны вырасти. Фундаментальный анализ сводится к изучению корпоративных отчётов, отслеживанию экономической статистики, чтению аналитики и пр. Технический анализ — наоборот, анализ цен инструментов по историческим данным, графикам, индикаторам, закономерностям и пр. Это рисование каналов, разных фигур Фибоначчи, волн Эллиотта и пр.

Есть торгующие люди, которые чистые «технари» и считают фундаментальный анализ туфтой, есть «фундаментальщики», которые считают технический анализ туфтой, есть те которые совмещают оба подхода, есть те, которые не признают ни один из них... есть ещё много категорий других игроков, от скальперов до роботописателей, которым вообще без разницы что и по каким ценам покупать или продавать, они работают с ликвидностью, с волатильностью, с рисками и т.п.... есть ещё арбитражены, есть опционщики, есть карритрейдеры, да вообще много кого...

Главное, что вы должны понять, что никто и никогда не научит вас зарабатывать на бирже ни при каких условиях. Люди которые зарабатывают на бирже не учат этому, потому что им это не надо, а люди которые не зарабатывают а только учат, не могут ничему научить на самом деле.
Убыток после закрытия прибыльной позиции
 
Цитата
Andrey.R написал:
Да дали карточку и там много на ней закрашенных полей, как мне объяснили с паролями для заявок по телефону. Но можно и самостоятельно через терминал Квик. Я торгую через терминал, по телефону не пробовал, там сумма какая то странная, что то типа 150 руб. за каждую заявку, для меня это много, я не пробовал так делать.
Ещё лет 20 назад только так и торговали, по телефону... а брокерские компании держали огромный штат сотрудником телефонистов, которые непрерывно принимали звонки от тысяч клиентов и с голоса совершали сделки на бирже...

Сейчас это нужно наверно только в одном случае, когда сервер упал у брокера и/или у вас свет и интернет дома отключили, а у вас там незакрытая позиция, которую срочно нужно закрыть. Вот тогда то вам телефон с этой карточкой и понадобится... то что за это деньги берут неудивительно, время сотрудников стоит дорого.
Quik + Python
 
Цитата
rinat написал:
https://www.opennet.ru/opennews/art.shtml?num=43114
вот эта ссылка поинтереснее уже... хотя бы понятно объяснили зачем... короче приделали Lua конфигуратор к ядру, чтобы писать всякие сценарии настройки... наверно удобно, но не впечатлило... вот когда часть ядра самого на Lua перепишут, тогда да, будет уже посолиднее...
Убыток после закрытия прибыльной позиции
 
Цитата
Andrey.R написал:
А на реальном счете в договоре прописано, что брокер может продавать и покупать мне акции на бирже по лучшей цене.
Нужно понимать, что покупать акции можно самому через терминал Quik, а можно через брокера по телефону и другими способами. Я не буду однозначно утверждать, что написано у вас в договоре, так как я его не читал, но скорее всего там речь идёт как раз о покупках брокером в вашу пользу через устные распоряжения и пр.

Цитата
Andrey.R написал:
Я так понимаю, что если я например ставлю сумму на продажу по 100 рублей, а есть покупатели которые хотят купить эту акцию за 110 рублей, то мои акции продадутся не по 100 рублей, а по 110?
Нет, не так. Есть такая штука «двойной аукцион» (Аукцион двойной), смысл которого заключается в том, что руки поднимают как продавцы, так и покупатели одновременно. Ещё до появления электронной торговли, так и было, и сейчас есть на некоторых биржах, куча народу бегает по торговому залу с выпученными глазами истошно кричит и махает руками... видели наверно в кино... Сейчас всё это реализовано в виде «стакана». В Quik вы его открываете по нужному вам инструменту из контекстного меню «Таблицы текущих торгов» с именем инструмента и иконкой с двумя встречными стрелками, либо просто из главного меню кнопкой F4 (пункт «Котировки...»). Вот в этой самой таблицы котировок — «стакане» — вы видите встречные заявки на покупку и продажу, которые стоят в системе...

Далее всё просто. Если вы покупаете и ставите цену ниже, чем другие покупки в стакане, то ваша заявка ставится между другими заявками на покупку и остаётся висеть пока цена не пойдёт в вашу сторону. Вы её видите, она в Quik выделяется жирным шрифтом. Если вы ставите цену выше, чем другие покупки, но ниже чем все продажи, то ваша заявка ставится самой первой и остаётся висеть, пока кто-нибудь не продаст по ней. Или пока кто-нибудь другой не поставит покупку выше вашей, а ваша заявка сдвинется вниз. Если же вы ставите цену на покупку выше, чем цены продажи встречных заявок, то ваша заявка собирает все другие заявки на продажу, которые оказались по цене ниже. Причём сколько соберёт ваша заявка, зависит от количества в ней. Она может собрать все встречные заявки и останется висеть частично исполненной, а может полностью исполнится уже на первых заявках по ценам даже ниже, чем вы указали в заявке... В обратную сторону с продажей тоже самое... Это были лимитные заявки... А есть ещё рыночные заявки... это заявки без цены (если упрощать, хотя цена на самом деле у них есть и равна лимитам)... Эти рыночные заявки просто кидаются в стакан и собирают там все встречные заявки которые только есть...

Это всё называется «стакан». Вы туда смотрите, и ещё до ввода заявки знаете, где она окажется, по какой цене она купиться и в каком количестве. Как только поработаете в стакане немного, сразу поймёте как это работает.
Quik + Python
 
Цитата
rinat написал:
https://www.youtube.com/watch?v=JyDzjI8eMbU
Ролик на португальском... а вы шутник однако... )))

Вот честно, ничего не понял. Вижу исходники в ядре, вижу что встроили Lua... для чего её реально в ядре используют, вот что интересно узнать... какая-то практическая польза и примеры есть?
QLua и БД, QLua и БД
 
Цитата
Сергей написал:
Не вполне пойму, в чем противоречие.
Противоречие в том, что как вы сами пишите, когда ваш скрипт пишет в файл, то ничего не падает, а когда ваш скрипт пишет в БД, то падает. В обоих случаях Quik один и тот же, разница только в вашем коде работы с БД и в библиотеках работы с БД. Значит Quik отбрасываем. Остаются ваш код и библиотеки работы с БД. Но вы перепробовали их несколько, и падение повторилось в каждом случае. Значит их тоже отбрасываем. Остаётся только ваш код работы с БД... простой метод исключений, немного дедукции, и виновник найден... Элементарно! )))
Цитата
Сергей написал:
Не очень знаком с технологиями "Protocol Buffers", "ZeroMQ", которые тут указаны. Я так понял смысл в том, что мой скрипт будет запущен обычным интерпретатором Lua и будет RPC-клиентом.
Смысл в том, чтобы вынести ваш код работы с БД в другой процесс физически. И если там ошибка, то упадёт другой процесс, а Quik останется работать вместе с LuaRPC частью. И вы убедитесь, что валится именно процесс с вашим кодом... что там внутри той же  quik-lua-rpc вам знать не нужно, вам лишь нужно, чтобы ваш скрипт работал в другом процессе и делал вызовы в Quik через посредника.
Два вопроса по ликбезу
 
Цитата
Andrey.R написал:
но хоть в чем-то нашел что Вы ошиблись
ну если вы настаиваете...
Цитата
Andrey.R написал:
мне не дали плечо к сожалению или к счастью, сказали пока рано, и на валютный рынок не выпустили, так что маржиналки пока наверно не будет.
вот видите, ещё хуже, правила ужесточили... а на фьючерсах у вас будут плечи, и никакого разрешения не требуется, и платить ничего не нужно за эти плечи...

хотя, любые плечи для новичка это вредно... научитесь работать без плеч, а уже потом, сами разберётесь что к чему
Lua+Golang
 
Цитата
Enfernuz написал:
Сам факт использования QUIK для получения маркет-даты и совершения транзакций перечёркивает весь перфоманс. То, что Вы там свой массивчик обработаете не за 5 мс, а за 1, погоды особо не сделает.
Вы просто тему  not enough memory не читали... человек хочет перебирать исторические данные по десяткам инструментов за сотни дней, причём чуть ли не на каждом тике... так что у него проблема не с получением данных из Quik, а с хранением и обработкой исторических данных... в памяти не помещаются, а с диска медленно...
QLua и БД, QLua и БД
 
Цитата
Сергей написал:
То, что один и тот же результат воспроизводится для различных библиотек и различных СУБД, говорит о том, что дело не в них, а в QUIK'е или QLua.
Цитата
Сергей написал:
Если записывать все нужные данные просто в файл csv, а не в БД, то все стабильно работает.
Первое утверждение противоречит второму. Косяк явно в коде работы с БД.

Попробуйте вынести весь свой скрипт в отдельный процесс через LuaRPC (найдите любую реализацию в сети, к примеру, есть готовая под QLua: quik-lua-rpc), и посмотрите, какой процесс у вас будет падать в итоге...
Quik + Python
 
Цитата
rinat написал:
https://www.netbsd.org/gallery/presentations/mbalmer/fosdem2012/kernel_mode_lua­ ­.pdf  
Сильно... реализовали?... файл 2012 года...
Сообщение и звуковое оповещение при выставлении заявки - как отключить., Сообщение и звуковое оповещение при выставлении заявки - как отключить.
 
Цитата
BashOrgRu написал:
в звуках всё выключено.
Странно... могу только посоветовать отследить звуковой файл, который проигрывает Quik, и потом стереть его с диска совсем... Файлы можно отслеживать через утилиты типа Process Explorer или Procmon, если умеете пользоваться...
function OnTrade (trade), почему пропускаются колл беки, или того хуже не приходят?
 
Цитата
Boris Litvinov написал:
Suntor  , будьте добры ссылочку на эталонный и правильный скрипт работы с OnTrade.  
Вы думаете не искал, там обращаются к таблице сделок через цикл. К нас о чем речь? В прочем ссылочку
Собственно в Яндексе выкидывает второй ссылкой по счёту на запрос «trade_num site:forum.quik.ru»:
https://forum.quik.ru/messages/forum10/message16265/topic1812/#message16265
Цитата
Boris Litvinov написал:
заработало вроде, буду тестить дальше, но блин, работает!!!
 так и было приходили кол беки в случайном порядке, всё решил
Ну вот видите...
Цитата
Boris Litvinov написал:
Suntor  отдельная благодарность за выделенное время!
Да не за что...
Сообщение и звуковое оповещение при выставлении заявки - как отключить., Сообщение и звуковое оповещение при выставлении заявки - как отключить.
 
Цитата
BashOrgRu написал:
У меня такая же проблема, каждое утро квик будит звуковым оповещением "Соединение установить не удалось" Как выключить звук?
    Скрытый текст        
В настройках, в разделе «Программа / Звуки» посмотрите, что у вас стоит...
Два вопроса по ликбезу
 
Цитата
Andrey.R написал:
Цитата
Suntor   написал:
ЦитатаАндрей написал:
1. Какой инструмент разрешается покупать и потом продавать?Да вообщем-то любой, вопрос очень странный.
Почему странный, если Вы в предыдущей теме сами писали,что
Ну потому что, в такой формулировке «какой...разрешается»... странный... Все инструменты на бирже разрешается покупать, раз они на биржу допущены к торгам. И эти же инструменты разрешается потом продавать... Ну а как иначе... вы что-то купили, а потом вам говорят, «всё мужик, а теперь мы тебе запрещаем продавать то, что ты купил»... ))) ну сами подумайте... вы просто так вопросы задаёте, в таких формулировках, что кроме как странными их назвать больше нельзя.

Цитата
Andrey.R написал:
Как то Вы по разному отвечаете, в этой теме пишите что "спекулировать" акциями можно, а в предыдущей писали что ненужно. https://forum.quik.ru/forum1/topic3667/
Ну так «можно» и «не нужно»... это же разные вещи! Да и я не писал, что «не нужно», я писал, что в акции удобнее инвестировать, а фьючерсами удобней спекулировать. И объяснил почему. И ещё раз повторю. За маржиналку на акциях вам придётся платить деньги, а на фьючерсах это бесплатно. Вы всё равно это не поймёте пока не попробуете. Так что начинайте торговать чем хотите, хоть акциями, хоть фьючерсами... без разницы... пока сами не пройдёте определённый путь, никакие объяснения вам не помогут.
пример dll
 
Цитата
Let_it_go написал:
Не могу понять как написать простейший dll-файл под КВИК. Например, файл принимает данные текущей таблицы по инструменту SBER (колбек OnParam).
Вот вам простой пример QLua скрипта, который обрабатывает OnParam, и DLL с одной функцией, которая считает спред.

Файл myprog.lua:
Код
local mylib = require "mylib"

local fRun = true

function OnParam(class_code, sec_code)
    if class_code =="TQBR" and sec_code == "SBER" then
        local bid   = getParamEx(class_code, sec_code, "BID")
        local offer = getParamEx(class_code, sec_code, "OFFER")
        if bid.result == "1" and offer.result == "1" then
            message("mylib.spread = "..mylib.spread(tonumber(bid.param_value), tonumber(offer.param_value)))
        end
    end
end

function main()
    while fRun do
        sleep(1000)
    end
end

function OnStop(s)
    fRun = false
end
Файл mylib.c (или mylib.cpp), компилируется как код Си или Си++, без разницы:
Код
#include <windows.h>

#define LUA_LIB
#define LUA_BUILD_AS_DLL
#ifdef __cplusplus
extern "C" {
#endif
#include <lua.h>
#include <lualib.h>
#include <lauxlib.h>
#ifdef __cplusplus
}
#endif

static int spread(lua_State *L)
{
    double bid   = luaL_checknumber(L, 1);
    double offer = luaL_checknumber(L, 2);

    /* здесь наши вычисления */

    lua_pushnumber(L, offer-bid);
    return 1;
}

static const luaL_Reg mylib_funcs[] = {
    {"spread", spread},
    {NULL, NULL}
};

#ifdef __cplusplus
extern "C" 
#endif
LUALIB_API int luaopen_mylib(lua_State *L)
{
    luaL_register(L, "mylib", mylib_funcs);
    return 1;
}

BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved) {return TRUE;}
Далее, кладёте оба файла myprog.lua и mylib.dll в одну папку, и дальше как обычно открываете myprog.lua в Quik'е и запускаете.
function OnTrade (trade), почему пропускаются колл беки, или того хуже не приходят?
 
Цитата
Boris Litvinov написал:
Цитата
Suntor   написал:
Чтобы отмести в сторону все ощущения, нужно хотя бы разок сохранить в файл все, что у Вас проходит после фильтра. И тогда будет точно ясно, грешить на кол-бэк или нет.
Зачем такие злобные инсинуации?... я такого не писал, не надо чужие сообщения под моё имя загонять в цитатах!

Цитата
Boris Litvinov написал:
Может вы имели введу не тройной  дубль колл бека, а то что одна и та же сделка, может запускать колл бек много раз?
И получается так, сохранил номер, следам отработал другой колл бек и сохранился её номер, а потом снова пришла та что уже была?
Может вы это имели введу? Речь не о дублях колл бека?
Я имел ввиду, что в вашем коде ошибка. Как я написал в самом первом своём сообщении, вы сохраняете номер последней сделки в одной переменной trade_numSave... и это ошибка. У вас вызов по каждой следующей сделке затирает номер предыдущей в этой переменной, а повторный вызов по предыдущей сделке затирает номер следующей... так они друг друга и трут пока все «дубли» не пройдут. В итоге, у вас мешанина получается, как в самом коде, так и в логе...

Найдите пример на форуме, как правильно обрабатывать повторы OnTrade через сохранение в таблицу и перепишите свой код... и у вас там помимо этого, ещё много ошибок, начиная от проверки флагов сделки, последовательности работы с файловыми дескрипторами и т.д... про структуру и стилистику кода я вообще молчу.
function OnTrade (trade), почему пропускаются колл беки, или того хуже не приходят?
 
Цитата
Boris Litvinov написал:
trade_num ограничивает повторение повторных кол беков.
спасибо что пояснили, а то бы ни в жизнь не догадался... )))

Цитата
Boris Litvinov написал:
В полном коде у меня и есть сохранение в файл всего что приходит, так вот кол беки не отрабатывают вск сделки.
в «полном коде» у вас сохранение в файл идёт в той же условной ветке, в которой вы переменную trade_numSave мучаете свою несчастную... и весь лог ваш также с ошибкой пишется не полностью и вперемешку...

Цитата
Boris Litvinov написал:
ТАК ЧТО НИЧЕГО ТУТ ПОВТОРНО НЕ ПРИХОДИТ, ТУПА КОЛЛ БЕКИ НЕ ПРИХОДЯТ. И НЕ НУЖНО ДИЧЬ ВПАРИВАТЬ, О ПРОБЛЕМЕ АРКА ЗНАЕТ
уж я не знаю, с какой вы злостью в свой бедный OnTrade столько open/close файловых понатыкали, но для начала, хотя бы форматирование сделайте отступов, тогда возможно структуру своих условий увидите и сразу поймёте где накосячили...
Два вопроса по ликбезу
 
Цитата
Андрей написал:
1. Какой инструмент разрешается покупать и потом продавать?
Да вообщем-то любой, вопрос очень странный.

Цитата
Андрей написал:
Хотел было на реальном счете покупать и продавать акции. Но мне объяснили, что акции предназначены для долгого хранения в пределах года и получении дивидентов.
Можете активно торговать и акциями, но за плечи придётся платить деньги, в этом их недостаток.

Цитата
Андрей написал:
Фьючерсы для этого тоже наверно не очень подходят, с ними я вообще не понял, как можно на какую то конкретную дату сказать по какой цене я хочу купить или продать фьечерс?
Да по той же самой цене, по какой и акцию покупаете. Разница может быть только в размере лота. Например, если покупаете акции Сбербанка, то там по 10 штук лот. А если фьючерс на акции Сбербанка, то там по 100 штук лот.

Цитата
Андрей написал:
Мне проще купить акцию, по той цене по которой я хочу (я так делаю на демо счете в стоп-заявке) указываю цену и как только график опустится до этой цены я покупаю несколько лотов. Затем ставлю стоп-заявку опять по какой хочу цене, но больше той по которой купил и как только график к ней придет я по этой цене продаю. Все просто, я меняю время на условные деньги.
Как с акцией, так и с фьючерсом делаете. Ставите стоп-заявки и покупаете и продаёте по графику как вам удобно.

Цитата
Андрей написал:
А чем торговать на реальном счете по такой аналогии не подскажете?
Всем чем угодно... )))

Цитата
Андрей написал:
2. Купил акции на реальном счете, потом через день продал и получил прибыль в 10 рублей. И поставил следующую стоп-заявку на покупку акций, но видимо пожадничал и она три дня простояла в активном состоянии у брокера и не исполнилась, а сумма на счете стала меньше. Это так и должно быть или сумма должна быть неизменная, если ни одна заявка за это время не была исполнена?
У самого брокера об этом узнайте... а так, могли комиссию списать, и за саму сделку, и месячное обслуживание и пр... вариантов масса.
Lua+Golang
 
Цитата
Let_it_go написал:
"какой язык учить". Чистый Си или Си++?
Желательно, сначала выучить Си, а уже потом Си++... просто по логике вещей. Хотя найдутся многие, кто поспорит с этим утверждением. Так что отнесу его на счёт исключительно моего личного мнения и не более того.
Цитата
Let_it_go написал:
Задача будет такая: получение данных из квика и перебор их брутфорсом. Скорость обработки должна быть максимальной.
Это задача не языка как такового, я задача на программно-аппаратную реализацию. Такого рода задачи могут решатся множеством способом, от ассемблерной оптимизации, до распределённых вычислений.

В вашем же случае, я бы посоветовал сначала написать DLL на Си и реализовать в ней математику на Си же, затем добавить многопоточность к вашим вычислениям, а затем уже смотреть в сторону OpenCL, CUDA и пр. Двигаясь в таком порядке, от простого к сложному...
function OnTrade (trade), почему пропускаются колл беки, или того хуже не приходят?
 
Цитата
Boris Litvinov написал:
Не пойму по чему не все сделки  вызывают кол бек?
Код
function  OnTrade (trade)
if  trade.trade_num ~ =  trade_numSave  then   
message (tostring(trade.trade_num))
trade_numSave  =  trade.trade_num
end 
end   
Глядя на такой код, я бы сказал, что дело в том, что вы сохраняете номер последней сделки в одной переменной, а не в массиве как это надо делать, и из-за этого, у вас всё перемешивается в итоге... но... совершенно непонятно, реальный это ваш код или нет... потому что, если реальный, то у вас там и повторно одни и те же сделки будут считаться, когда «тройные повторы» вперемешку пойдут. Поэтому вышеприведённый вами код в принципе не будет работать...
Некоторые глюки в 7.2
 
Цитата
Роман написал:
Suntor , я не маленький мальчик, сам знаю куда и зачем хожу, в ПО Квика есть серьёзный глюк и его нужно исправить, а не догатками тыка, а что если там на облачных фьючерсных БИДа нет вообще, каким боком мне это поможет, если то что должно не показывает - с карт торо что ли я должен правильное значение вытаскивать если его нет?
Так и не ведите себя как маленький мальчик тогда... если считаете что есть глюк, то обоснуйте это... а пока что всё что вы тут сообщили совсем на глюк не тянет, а просто показывает дыру в вашем коде...
Quik + Python
 
Цитата
Aleks написал:
вот тут хорошо расписано  https://quik2dde.ru/viewtopic.php?id=18
я вообще про другое спросил... ну да ладно
Lua+Golang
 
Цитата
Let_it_go написал:
Друг посоветовал учить язык Golang. Мой тестер стратегии на Луа просчитывает массив данных за 7 часов. Golang это сделает за час.
Посоветуйте пожалуйста как из скрипта Луа запускать файл с кодом .go
Можно ли это делать через dofile?
Или сделать третий файл с флагом вкл/выкл, который будет читаться скриптом на go?
На мой взгляд вы сильно усложняете себе жизнь... раньше я уже писал вам (Перейти), для высокой производительности нужно делать отдельную DLL, и туда выносить всю ресурсоёмкую часть программы. Добавлю, в Lua есть уже встроенный Lua C API, который позволяет написать дополнительную библиотеку на языке Си с минимальными затратами. Потом подключить эту библиотеку одной командой require и использовать функции из неё также, как из обычного .lua файла через dofile. В своей библиотеке вы можете делать что хотите, достать данные прямо из самих таблиц Lua, без необходимости куда-то их промежуточно сохранять в какой-нибудь файл и потом оттуда это всё читать, теряя в скорости. Вы можете забрать данные прямо из таблицы (ф-ция lua_getfield), и дальше работать с ними как с обычными переменными в памяти на Си, можете просто их пересчитать, можете добавить ассемблерную вставку для оптимизации математики, можете инстринкт, можете даже через какой-нибудь OpenCL их на видеокарте пересчитывать, да вообще что угодно... зачем городить огород с Go, а потом ещё его прикручивать к Lua очередным костылём, смысла не вижу особого... Вот вам примеры из книжки: 25 – Extending your Application, 25.1 – Table Manipulation и т.д. (Part IV · The C API)
Quik + Python
 
Цитата
Aleks написал:
Но лично я предпочёл вывод через   Named Pipes     https://msdn.microsoft.com/en-us/library/windows/desktop/aa365590(v=vs.85).aspx
Что использовали из готовых Lua библиотек? или сами обёртку писали?
Not enough memory, not enough memory
 
Цитата
Александр написал:
К сожалению, по этому поводу ничего сказать не могу, так как ничего в этом не смыслю. А по поводу "почистить" - там, увы, ничего нет. Просто вкладок с индикаторами под 100 штук.
Как вариант, выявить самые прожорливые индикаторы... они ведь разные бывают, и память по разному жрут. Возможно у вас висит там парочка таких индикаторов, которые отжирают добрую половину... хотя вам особо не нужны. А остальные 98 нужных индикаторов из-за них страдают.
Not enough memory, not enough memory
 
Цитата
Александр написал:
У меня малость побольше.
С таким .wnd на 1,5МиБ вам вряд ли что-то поможет... )))
Может почистить его?  Например, линии трендов часто остаются на графиках при смене инструментов, сдвигаются влево и их не видно, копятся как мусор, память жрут...

Насчёт того, что в Win10 памяти меньше у процесса info.exe, то думаю, это не из-за того, что сам процесс как-то по-другому память себе выделил, а из-за того, что в память процесса включён весь объём системных библиотек (WinAPI), и вот они то на Win10 меньше места и занимают, так как система под планшены оптимизировалась изначально...
Некоторые глюки в 7.2
 
Цитата
Роман написал:
Suntor , я написал выше, больше мне нечего добавить!
Вы же с вопросом пришли, вам же отвечают как лучше код написать... а если не хотите, зачем вообще на форум приходить.
В чем практическое отличие срочного рынка (фьчерсы) и фондовая биржа (акции), реальный счет
 
Цитата
Андрей написал:
с какой минимальной суммы можно начать играть на московской бирже на фьючерсах
Это от брокера зависит. У всех разные условия. Возьмите в сети рейтинг  брокеров по обороту, обзвоните первый десяток, узнайте условия по  минимальной сумме на счёте и плате за обслуживание.

Можете даже проще  сделать, у крупных банков (Сбер, ВТБ и т.д.) есть брокерские  подразделения. Можете открыть себе брокерский счёт прямо в том же банке,  где у вас вклады, пластиковые карты и т.п. В ряде случаев, у хороших  банков их брокерские услуги даже полностью или частично связаны с  банковскими. Например, можно через онлайн-кабинет банка смотреть  состояние своего брокерского счёта. А в некоторых, особо продвинутых  банках, вы даже можете получать выгодные %% по вкладам, если у вас есть  брокерский счёт в этом же банке и определённая сумма на нём. И т.д. и  т.п...

А вообще, без шуток, точный ответ на ваш вопрос, это 402 руб. на сегодняшнее число 18.05.2018. Сейчас специально посмотрел, самое маленькое ГО, которое есть только у фьючерсов на МосБирже, это фьючерсы на двухлетние ОФЗ, а конкретно O2M8 (OFZ2-6.18). На сегодня у них ГО составляет 402 руб. Поэтому, эта та минимальная сумма, на которую вообще хоть что-то можно купить на срочном рынке в данный момент.
Некоторые глюки в 7.2
 
Цитата
Роман написал:
Ну вот сегодня косяк: из-за того что нельзя было получить аск вместо 117 204 купил по 118 052, разница - целая тысяча. Ребята, ну что это за ерунда. Мне нужно строчное решение!
Это прикол такой?... а пропустить действие когда вам result = "0" вернуло вы не можете?... вы так специально скрипт сделали, чтобы он у вас в любом случае что-то покупал, даже когда цену не может правильную определить?... )))
Страницы: Пред. 1 2 3 4 5 6 7 След.
Наверх