В качестве совета. чтобы не было мучительно больно при использовании значений X, которые должны быть числами, надо делать так: if type(X)=="number" then ... end чтобы не попадаться на nil при условии, что X может быть лишь числом надо делать так: Z=X or 0;
Создание портфеля для SiM6, qpile, не выводит список свечей
Пользователь
Сообщений: Регистрация: 30.01.2015
25.04.2016 12:57:16
GET_CANDLE Функция для обращения к данным «свечек» на графике, а также к значениям индикаторов технического анализа. MAP GET_CANDLE (STRING class_code, STRING sec_code, STRING parameter_name, STRING interval, STRING graph_type, DOUBLE Date, DOUBLE Time) Т е чтобы получить какую либо свечу Вам надо указать для нее дату и время. Если Вам надо предыдущую, то берете время текущей отнимаете от него величину интервала и получаете свечу . Примерно так.
quick api
Пользователь
Сообщений: Регистрация: 30.01.2015
25.04.2016 12:53:10
предыдущий ответ не совсем верен. API дает возможность делать торговые заявки, но не позволяет получать свечи. чел просит свечи. --------------------------------- свечи можно получать либо через луа, либо получать тики через DDE и потом лепить свечи. ------------------------ Так как Ваши алгоритмы написаны на С++ то рекомендую оформить их как DLL и подключить к скрипту на луа. ----------------------------------------- И будет Вам счастье
Демо счёт. В чем подвох?
Пользователь
Сообщений: Регистрация: 30.01.2015
25.04.2016 06:27:44
Что касается успешной игры на бирже, то могу сказать лишь одно - тренируйте свой мозг. успешно играть можно, но нельзя рассказать как это делать. Т е успех - возникает тогда, когда играет Ваше подсознание, а не сознание. Успехов в игре
Демо счёт. В чем подвох?
Пользователь
Сообщений: Регистрация: 30.01.2015
25.04.2016 06:22:33
Цитата
Василий написал: Николай Камынин , спасибо, очень доходчиво. Вот вопрос, если как Вы говорите происходит скачок на 1% или более, но у меня выставлены стопы, то тогда потерь больших не будет, ведь терминал закроет позицию в соответствии с установленным стопом? Я читал что при резком изменении возможно проскальзывание стопа, насколько это частое явление? Иначе получается, что если не пытаться сорвать куш, а стабильно выставлять риски, то ничего страшного не произойдёт, то есть действовать по своим правилам.
Стоп - это условная заявка на сервере брокера. Причем Ваша заявка не одна и возможно не первая. Т е при резком движении рынка возможно, что ваш лимит будет выставлен уже с другой стороны рынка. т е например вы поставили стоп-лос на продажу по 99, если цена будет ниже 100. Т е сервер брокера выставит лимит по 99 после того, как цена станет ниже 100. А как быстро это произойдет? Возможно, что в момент выставления цена уже будет 98. Т е Ваш лимит не сработает и зависнет на цене 99, а цена пойдет дальше вниз. ------------------------------------------------ Но еще смешнее будет, если 98 - это дно. Тогда цена развернется и закроет Вашу позицию и пойдет дальше в вашу сторону, а Вы будете сидеть на берегу и смотреть как поезд уходит. --------------------------------------- Некоторые ставят стоп по рынку, в надежде что это спасет их от больших убытков. Но как я уже написал, на сервере очередь и не факт, что в очереди они первые. В этом случае Цена пробъет вниз и на самом дне закроет их позицию и пойдет вверх. И они будут с точкой смотреть на уходящий поезд. У профи есть даже специальный термин таким образом закрывать стопы буратин - называется это - "пугать ворон" Каждый брокер хорошо знает, где эти стопы -вороны сидят на его сервере -дереве. --------------------------------- Ну вот примерно так. Успехов в изучении рынков.
Демо счёт. В чем подвох?
Пользователь
Сообщений: Регистрация: 30.01.2015
23.04.2016 15:54:55
"Подвох" в том, что фьючерсы имеют плечо, которое примерно равно 10. --------------------------------------------- Если Вы сделали на 100 тысячах 3 тысячи то это соответствует движению рынка акций 0.3% Т е это флэт ----------------------------------------- На флете сравнительно просто торговать так как движение рынка внутри горизонтального коридора. --------------------------- Проблема будет реально тогда, когда Вы станете на изломе флета, а рынок не сломается, а пойдет в тренд резко например на 1% В результате Вы получите сразу убыток в 10 тысяч. Вот тут у Вас будет выбор. Либо быстро выйти с убытком в 10 тысяч, перевернуться , либо зависнуть против рынка. так как Вы начинающий, то почти со 100% вероятностью Вы сделаете последнее. А рынок пойдет дальше против вас и на 5% подъеме Вы будете уже с убытком в 50% и получите маржинкол, т е позицию Вам принудительно закроют. ---------------------------- И у Вас будет не 100 т, а уже 50 и Вы начнете все сначала. ---------------------------- Успехов
Экспорт из Quik в GlobalServer, Проблема с докачкой пропущенных данных.
Пользователь
Сообщений: Регистрация: 30.01.2015
22.04.2016 20:24:40
когда-то давно отказался от globalserver по причине его тихой потери связи с квиком. эту проблему решить нельзя. поэтому советую сразу отказаться от омеги. Уж очень она устарела, хотя и сделана очень хорошо.
DDE в QLUA
Пользователь
Сообщений: Регистрация: 30.01.2015
22.04.2016 17:34:47
Добрый день, Как известно, DDE самый простой и соответственно самый быстрый способ обмена данными. Он давно есть в КВИКЕ и позволяет получить данные из любой таблицы в сторонней программе, например данные из доски опционов, чего невозможно сделать средствами QLUA. ----------------------------- Предлагаю реализовать возможность получать данные по DDE в скриптах на LUA ---------------------------------- Спасибо
Экспорт свечей по ВСЕМ инструментам
Пользователь
Сообщений: Регистрация: 30.01.2015
22.04.2016 17:26:40
У меня по аналогии вопрос - возможно ли на мопеде участвовать в гонках в Сочи по формуле1. Уж очень хочется.
Шлюз
Пользователь
Сообщений: Регистрация: 30.01.2015
22.04.2016 17:24:34
Уж сколько раз твердили миру: Фондовый рынок - это поле чудес, в стране, сами знаете какой..
SearchItems
Пользователь
Сообщений: Регистрация: 30.01.2015
21.04.2016 20:42:32
Цитата
Michael Bulychev написал: Основные затраты при поиске перебором используя getItem это передача структур данных из хост-программы через стек в скрипт. SearchItems дает возможность уменьшить эти расходы. Используя Ваш пример я написал похожую реализацию с помощью функции SearchItems. Исходный код я немного модифицировал для подсчета статистики.
Результаты тестов на моей машине:
Добрый день, Михаил Просьба протестите еще SearchItems без всех этих приблуд. Просто для конкретного варианта. Сколько будет по сравнению с этими выкрутасами. Спасибо ------------------------------------------------ Универсальная система (программа) - это такая система(программа) , разработчики которой не имеют ни малейшего представления о том, как реально ее будут применять.
Как получить данные индикатора RSI ?, Как получить данные индикатора RSI ?
Пользователь
Сообщений: Регистрация: 30.01.2015
21.04.2016 13:21:47
Как получить данные индикатора RSI ?, Как получить данные индикатора RSI ?
Пользователь
Сообщений: Регистрация: 30.01.2015
21.04.2016 06:54:37
вот тут разработчики любезно предоставили скрипты на индикаторы, в т числе на RSI.
Как получить данные индикатора RSI ?, Как получить данные индикатора RSI ?
Пользователь
Сообщений: Регистрация: 30.01.2015
21.04.2016 06:42:20
пардон, с утра перепутал индикатор с индексом. Индикатор RSI берем формулы например отсюда
и пишем в скрипте или в индикаторе. И вычисляем значения.
Как получить данные индикатора RSI ?, Как получить данные индикатора RSI ?
Пользователь
Сообщений: Регистрация: 30.01.2015
21.04.2016 06:37:10
либо вычислять его в своем скрипте
Как получить данные индикатора RSI ?, Как получить данные индикатора RSI ?
Пользователь
Сообщений: Регистрация: 30.01.2015
21.04.2016 06:36:39
если Вы поместите его на экран в виде графика, то можете читать с экрана значения.
Как получить данные индикатора RSI ?, Как получить данные индикатора RSI ?
Подскажите, можно ли получать данные индикатора RSI, примерно так же, как получаются данные из стакана при его изменении с помощью OnQuote, а можно ли как то получить данные с графика индикатора ?
В стакане - это очередь заявок на торгуемый инструмент. индикатор RSI (если Вы говорите об индикаторе а не о фьючерсе на него) - это интегральный показатель, т е не инструмент. поэтому на него нет никаких заявок и очередей. попробуйте сформулировать свой вопрос более четко. --------------------------------- Четкость в словах - есть ясность в мыслях и точность в действиях.
Может кто уже мучился с лучшим BID, OFFER?!, Пытаюсь реализовать алгоритм выставления лучшими заявками...
Пользователь
Сообщений: Регистрация: 30.01.2015
21.04.2016 06:25:44
Цитата
Michael Bulychev написал: Николай, я отвечал вот на этот вопрос:
Цитата
Или мне нужно будет её обязательно скопировать внутри коллбека, чтобы данные остались внутри скрипта?
Все остальное - очереди, синхронные функции и т.п. уже обсуждалось не раз на этом форуме
Т е очереди и синхронные функции - это для дилетантов? Вы действительно так думаете или шутите?
Может кто уже мучился с лучшим BID, OFFER?!, Пытаюсь реализовать алгоритм выставления лучшими заявками...
Пользователь
Сообщений: Регистрация: 30.01.2015
20.04.2016 16:00:45
указанные мной случаи - это классика обработки асинхронных событий, но не для дилетантов.
Может кто уже мучился с лучшим BID, OFFER?!, Пытаюсь реализовать алгоритм выставления лучшими заявками...
Пользователь
Сообщений: Регистрация: 30.01.2015
20.04.2016 16:00:13
указанные мной случае - это классика обработки асинхронных событий, но не для дилетантов.
Может кто уже мучился с лучшим BID, OFFER?!, Пытаюсь реализовать алгоритм выставления лучшими заявками...
Пользователь
Сообщений: Регистрация: 30.01.2015
20.04.2016 15:59:02
пардон, опечатка в результате они последовательно как из автомата будут записаны в gTrade и следующие затрут предыдущие. В майне будет обработана лишь последняя
Может кто уже мучился с лучшим BID, OFFER?!, Пытаюсь реализовать алгоритм выставления лучшими заявками...
Пользователь
Сообщений: Регистрация: 30.01.2015
20.04.2016 15:57:05
или вот еще прикол. как известно если сделки были совершены часто, то они придут пакетом в результате они последовательно как из автомата gTrade и затрут друг друга.
Может кто уже мучился с лучшим BID, OFFER?!, Пытаюсь реализовать алгоритм выставления лучшими заявками...
Пользователь
Сообщений: Регистрация: 30.01.2015
20.04.2016 15:53:51
Цитата
Michael Bulychev написал: Добрый день. Николай немного сгустил краски. достаточно сохранить ссылку на полученную в колбеке таблицу. Примерно так:
Код
gTrade = {}
function OnTrade (t)
gTrade = t
end
function main ()
--в gTrade будет последняя сделка из OnTrade
end
Если я не правильно Вас понял, то опишите задачу подробнее.
Ну да... А вот такая ситуация сделку приняли по инструменту сбербанк сохранили передали в майн управление а в это время исполнилась сделка по газпрому сделку по сбербанку мы затерли и в майне вместо сбербанка получили газпром. что делать дилетанту?
OnParam
Пользователь
Сообщений: Регистрация: 30.01.2015
20.04.2016 06:02:51
Добрый день, Предлагаю сделать возможным для колбека OnParam указание списка параметров активации. ---------------------- Поясняю. Так как OnParam реагирует на изменение любых текущих параметров всех инструментов, то его применение очень сильно грузит процессор, так как активация этого колбека происходит по каждому чиху каждому тику каждому изменению в очереди каждом ... ------------------------ В реальности же нет такой задачи, где требуется реагировать на все изменения текущих параметров. ----------------------- Как правило обычно требуется реагировать на изменение одного параметра. ------------------- В 99% это либо изменение очереди заявок, либо совершение сделки по инструменту. И ВСЕ --------------------- Поэтому было бы замечательно указать для OnParam например параметр "bid" и не париться с обработкой всех изменений и не лазить в хранилище для выяснения что же изменилось и кому оно надо. ------------------- Спасибо
SearchItems
Пользователь
Сообщений: Регистрация: 30.01.2015
18.04.2016 16:06:34
С колбеками вообще нет надобности лазить в хранилище.
SearchItems
Пользователь
Сообщений: Регистрация: 30.01.2015
18.04.2016 16:05:35
Собственно функция не плохая. Но как уже заметил, надобности в ускорении выбора из таблиц при работе с колбеками не возникает.
Простой бот Quik + C#, пример реализации простого торгового робота на C# с данными из квика(DDE, ODBC)
Пользователь
Сообщений: Регистрация: 30.01.2015
18.04.2016 12:51:43
пишите на луа. Для квика это самое быстрое, легкое и доступное. Зачем заниматься мазохизмом, делая на С# или S# для квика?
Плата за транзакции - а где их взять, У биржи есть плата за транзакции - вопрос в том где их взять
Так, брокер возьмёт плату и за транзакции по стоп-заявкам, которые на биржу не выводятся.
Разве так? Вроде же у брокера в тарифах всё по сделкам берётся, а не по транзакциям? Мне кажется, что за стоп-заявки брокер не взимает плату.
Чел пошутил. А вообще-то некоторые брокеры берут и за транзакцию. поэтому изучите внимательно регламент своего брокера.
SearchItems
Пользователь
Сообщений: Регистрация: 30.01.2015
18.04.2016 12:37:21
универсальное медленнее специального. ------------------ Вам что надо? Быстро или универсально (т е лень писать код) ? -----------------------------------
Эргономика сайта аркатэч, в картинках
Пользователь
Сообщений: Регистрация: 30.01.2015
18.04.2016 07:49:43
действительно, создается впечатление, что разработчики сайта имеют не востребованное техническое образование в области проектирования механических систем типа реактивных велосипедов, но суровая реальность заставляет их делать сайт по софту для финансовых рынков . Вот и получается сайт с абстрактными картинками.
Тип стоп-заявки по умолчанию
Пользователь
Сообщений: Регистрация: 30.01.2015
18.04.2016 07:41:50
Цитата
Максим Миненко написал: При нажатии F6 с графика цены и объема сейчас программа предлагает создать "Тэйк профит и стоп лимит". Я хочу, чтобы это был обычный "Стоп лос". Как изменить тип заявки по умолчанию?
Варианты решений: 1) Если есть уже снятый стоп, то можно выбрать из таблицы стопов 2) Поместить в караман транзакций и выбирать 3) поместить на график подальше от цены и двигать 4) пойти покурить и желание пройдет.
SearchItems
Пользователь
Сообщений: Регистрация: 30.01.2015
18.04.2016 07:37:19
если работаете с колбеками, то эта функция нужна лишь при запуске скрипта для выборки того, что уже принято, если оно Вам надо. ---------------------------- А при запуске скорости особо и не надо. ------------------------ Поэтому нет особой разницы каким образом выбрать уже принятые данные .
Плата за транзакции - а где их взять, У биржи есть плата за транзакции - вопрос в том где их взять
DeSan DeSan написал: привет у биржи есть плата за транзакции как я понял текущая формула - если транзакций больше 2000
Именно так.
Эти сборы касаются брокера (т е участников торгов) Клиенты брокера - не являются участниками торгов на бирже. ------------------------------------------- Сбор за ошибочные транзакции Ошибочными будут признаваться транзакции, которые приводят к возникновению некоторых ошибок, например: "Возникла кросс-сделка", "Недостаточно средств клиента", "Заявка не найдена" (при использовании DelOrder и MoveOrder) и т.д. Расчет сбора будет производиться по логинам участника торгов. Сбор за ошибочные транзакции будет рассчитываться, в том числе в период приостановки торгов во время проведения клиринга и в выходные — в этом случае он будет отражаться в отчетах в понедельник, и списываться во вторник. Методикой расчета сбора за ошибочные транзакции предусмотрено ограничение на минимальную величину сбора за день — 1 000 рублей. Максимальная величина сбора за день составляет 30 000 рублей и вводится с целью ограничения убытков участника торгов из-за неполадок в алгоритмических системах. Кроме того, методикой расчета сбора предусмотрена возможность блокировки Биржей логина с предварительным уведомлением о возможной блокировке (в случае, если это технически возможно).
Плата за транзакции - а где их взять, У биржи есть плата за транзакции - вопрос в том где их взять
Пользователь
Сообщений: Регистрация: 30.01.2015
15.04.2016 21:53:55
Если я не ошибаюсь, то плата за транзакции возникает при более 30 транзакций в секунду. Эту плату берут с брокера, а он берет с Вас, если об этом есть в регламенте. например у БКС введено ограничение на не более 30 в секунду если больше то имеют право вообще отключить. узнайте у своего брокера, что он с Вами сделает.
Параметры меток
Пользователь
Сообщений: Регистрация: 30.01.2015
15.04.2016 06:42:04
еще хуже в параметрах транзакций. Отсылаем один формат данных и имена параметров, а принимаем другие и даже бинарные. Полагаю, что как у классика - "пуговицы пришивал один, а рукава - другой." ----------------------------------- "К пуговицам претензии есть? - К пуговицам претензий нет!"
Подскажите как загрузить данные в квик для работы на выходных
Пользователь
Сообщений: Регистрация: 30.01.2015
15.04.2016 06:17:23
Цитата
ninjatrader написал: да я и сам могу в пятницу программу запустить, только вот неужели нельзя избежать утомительной процедуры открывания графиков на всех тайм-фреймах? куча ведь настроек в квике, неужели нет такой их комбинации, чтобы быстро скачивались необходимые данные при подключении к серверу? в других программах которыми пользуюсь достаточно скачать данные по меньшему тайм-фрейму, а большие уже строятся исходя из этих данных - здесь почему-то такая логика не работает...
В квике свечи строит сервер, а не терминал. Поэтому надо заказывать все таймы Но в скрипте открывать графики не надо. В скрипте надо просто в цикле открыть источник на каждый инструмент и каждый тайм, после прихода закрыть. ----------------------------------- Т е делаете скрипт, запускаете его на квике навсегда. Он например в вечернюю сессию активируется сам и принимает Вам все данные. Вы даже и не заметите как он это все сделает.
Актуальная пок/прод =/= активные заявки
Пользователь
Сообщений: Регистрация: 30.01.2015
14.04.2016 18:56:55
попробуйте откатится к предыдущей версии КВИК
Странности с объявлением переменных
Пользователь
Сообщений: Регистрация: 30.01.2015
14.04.2016 18:54:41
Цитата
Кирилл Мазеин написал: Я пробовал по вашему совету поменять кодировку текста робота - то же самое. Да и на моем скриншоте искажается только русский текст, который в комментариях.
Хотите помощи? Выложите текст. Или Вы полагаете, что будут с экрана набивать Ваш текст для тестирования?
алго-завка не снимается.её не видно в таблице заявок
Пользователь
Сообщений: Регистрация: 30.01.2015
14.04.2016 14:13:38
такое бывает. Если в таблицах нет, то завтра уйдет с экрана. Либо попробуйте перезаказать данные.
Странности с объявлением переменных
Пользователь
Сообщений: Регистрация: 30.01.2015
14.04.2016 14:11:39
в нормальном виде(тексте) без крякозябров
Странности с объявлением переменных
Пользователь
Сообщений: Регистрация: 30.01.2015
14.04.2016 14:10:47
Покажите Вашу программу
Может кто уже мучился с лучшим BID, OFFER?!, Пытаюсь реализовать алгоритм выставления лучшими заявками...
Пользователь
Сообщений: Регистрация: 30.01.2015
14.04.2016 14:07:55
Цитата
Николай Бехтерев написал: Да, у меня явно нет ясного понимания КоллБек функций. И к сожалению пока не попалось ни одной подробно разъясняющей статьи.
Попробую объяснить. Про колбек. Колбеком называется функция, которая вызывается из вне Вашей программы(скрипта) Такую функцию обычно определяют для обработки каких-либо асинхронных событий, время прихода которых нам заранее неизвестно. В QLUA колбеки - это функции с зарезервированными именами, которые будут вызваны при возникновения определенного в документации события. -------------------------------------- про main Эта функция, которая вызывается при запуске скрипта и используется для его(скрипта) зависания в режиме активности. Такой способ активации скрипта - это изобретение автора QLUA. Решение вполне работающее, но не очевидное для пользователей и не самое лучшее. но как говорят, дареному коню в ... не смотрят. Поэтому что состряпали, то и кушаем. ------------------------- Так вот, колбеки и функция main никаким образом не связаны между собой. Если Вам надо, чтобы в main обрабатывалось то, что будет получено в колбеке, то Вы должны это передать в майн и осуществить синхронизацию работы колбеков и майн. При этом, надо еще и синхронизировать обращение к общей памяти в колбеках и майн, так как это разные потоки. Т е Вы должны решать 1) синхронизацию потоков 2) синхронизацию обновления информации -------------------------- Т е декларация разработчиков о том, что QLUA сделано для дилетантов в программировании - это такой шутка --------------------- Примерно так
Sleep (1) приводит к бОльшим задержкам чем 1 мс.
Пользователь
Сообщений: Регистрация: 30.01.2015
12.04.2016 06:35:49
Цитата
green_X5 написал: Еще чуть проще ) - windows условно многозадачен, и у него по-умолчанию стоит ограничение - переключаться между задачами не чаще чем раз в 15 мск. Этот параметр можно изменить командой для WinAPI, взяв на себя риск возможной потери устойчивости / стабильности системы.
Немного не так. 15 мс - это квант таймера. Поэтому минимальный sleep получается в 1 квант. квант таймера можно изменить сделав его 1 мс. Квант времени для задачи(потока) тоже можно настроить в количествах квантов таймера. примерно так.
Задержка данных при обмене с сервером
Пользователь
Сообщений: Регистрация: 30.01.2015
11.04.2016 08:31:42
Цитата
Michael Bulychev написал: И как Вы определяете задержки, если на стакане нет метки времени?
для стакана я определяю не задержки а интервал поступления. вопрос: У меня получилось, что на вашем тестовом сервере часы отстают на 0.9 сек. Можете подтвердить либо сообщить на сколько точно отличается время на сервере от атомных. Спасибо ----------------------------------------- Кроме того, сейчас по пингу в терминале QUIK для Вашего тестового сервера получаю вполне объяснимые данные . А именно. получаем значения 32,47,63,78 (в основном) мс - между ними разница 15 мс - это квант таймера OC. Т е встроенный пинг вполне нормально работает и соответсвует 2,3,4 и 5 квантам. а пинг на IP соответствует одному кванту. ------------------------
Задержка данных при обмене с сервером
Пользователь
Сообщений: Регистрация: 30.01.2015
11.04.2016 06:12:28
Дробрый день,Михаил что именно Вам выслать? У меня последний скрипт - это запись в колбеке onQuote разности времени его вызова и все.
Может кто уже мучился с лучшим BID, OFFER?!, Пытаюсь реализовать алгоритм выставления лучшими заявками...
Пользователь
Сообщений: Регистрация: 30.01.2015
11.04.2016 06:09:32
верно
Задержка данных при обмене с сервером
Пользователь
Сообщений: Регистрация: 30.01.2015
10.04.2016 19:17:45
Цитата
тот самый написал: вобщем, доля правды - во всём этом есть... у меня было такое - когда у меня:
не хватало оперативки когда была сильная фрагментация в файловой системе - например, когда скачал/удалил игру на 10ГБ когда было зависшее интернет соединение (интернет может быть - но не стабильно [провайдеры знают о чём я])
длительные исследования на реальном сервере показали, что задержки на 4-10 секунд - это обычное дело. Средняя величина запаздывания данных ТВС составляет примерно 0.4-0.6 сек. Что вполне нормально для торгующих руками и моему роботу.
Задержка данных при обмене с сервером
Пользователь
Сообщений: Регистрация: 30.01.2015
10.04.2016 19:13:31
Добрый день, Написал тест для исследования очередей заявок (стаканов). Пустил его на вашем демо-сервере. Понятно, что это тестовый сервер. Но уж больно интересная картинка. Если не военная тайна, может кто объяснит эти периодические зависания обмена на 40 секунд Вот картинка: спасибо