В полусекундном обработчике обслуживается стек заявок:
А цикл main тоже 500 mc. или меньше нужно? Их нужно синхронизировать?
Цитата
Владимир написал: Таймер устанавливается на три минуты, по истечении которых заявку можно снимать. Если рынок находится рядом с заявкой, таймер переустанавливается ещё на три минуты.
Заявки у Вас все таки лимитные, т.е. раскидываете по уровням?
Цитата
Владимир написал: При подаче заявки в QUIK заводится новый элемент стека активных заявок для контроля за их исполнением.
Исполнение понятно получаем в OnTrade, а Контроль Активных заявок по времени. Правильно я понял?
Цикл main крутится 250 mc. Сигнал допустим Buy сформировался на tf 15 минут или выше, т.е. сигнал на покупку существует 15 минут. Есть меньший tf 1 мин. отслеживаю появление новой свечи newbar=I>I1 or false; I1=I; Отсекаю сигнал появлением newbar. Позицию пишу из OnTrade, т.е. появление в массиве pos={} сделки считаю заявку исполненной еще раз блокирую исполнение приказа.
Но появляются случаи когда на сигнал пролетают еще приказы видимо связано с ответом от OnTrade(). Явно чего то не хватает в отслеживании конкретного приказа? Не хочется зависеть от капризов OnTrade!
Владимир написал: давно уже все свечи считаю сам, от 10-секундных до часовых
Нашел в Ваших сообщениях пример, считаете средневзвешенную взял на заметку и реализовал у себя 30 сек. Пока не знаю зачем, Понравился подход в реализации.
Владимир написал: оптимальное количество зависит от размера кошелька - чем больше, тем лучше
Нет это так не работает - зависимости не линейные.
Цитата
Владимир написал: Я бы с удовольствием имел в портфеле 500-1000 тикеров
А зачем ведь можно просто регулировать количество в открытой позиции. qty * price = Стоимость позиции. Да и управлять можно только qty. Главное чтоб рынок пропускал.
Владимир написал: А диверсификация нужна всегда - тупо для страховки: что бы такого ужасного ни произошло с парой-тройкой тикеров, на состоянии всего портфеля это мало повлияет.
Нет такое я тоже пользую в портфеле Акций. Я не говорю что совсем не нужно я говорю про оптимальное количество к вопросу о количестве в портфеле
Цитата
Владимир написал: понадобилось множество частых сделок с небольшой прибылью в каждой
А что тут придумаешь в место рыночных лимитные ордера. Не знаю насчет отложенных.
Нашел. Кажется не дополученные данные на графике при загрузке терминала. Видимо чудесное nil в ценообразовании. Подберу костыли. Вернул CreateDataSource пусть будет ведь есть оператор or. Честно удивила скромной нагрузкой.
Цитата
Владимир написал: все свечи считаю сам, от 10-секундных до часовых
Нет мне столько не нужно да и расчеты только вернул в терминал. Меня еще интересует синхронизация данных с разных интервалов. Гоняю тесты он написан у меня своеобразно младшим индексирую данные со старших, пытаюсь более точно отследить событие. Слепил из того что было. Ну и наглядность вывожу метки.
Суть такая убрал расчеты алгоритмов анализирующих Рынок назад в терминал. Индикаторы написаны через "замыкание", кушали в мега байтах - назад в килобайты. Проще синхронизация в разных таймфревов (подход 4 окон). А главное все можно рассмотреть на графике.
"Такого не было ни когда и вот опять" мое произведение уронило терминал.
Уж и не знаю кто здесь главнее мой скрипт, данная функция, или терминал.
Ziveleos, Огромное Вам спасибо! Очень ценно глубокомысленно талантливо!
Владимир, "Скальперский" это шаблон в подходах к организации торговле и удержанию позиции.
Что читать, не читать дело личное. Я лишь уточняю свой подход. John F.Ehlers (так правильно) опубликовал свой подход в четырех книгах в алгоритмах. Я одно время увлекся написав себе индикаторы, не которые до сих пор применяю в своих подхода. Отлично работает его "мгновенная линия тренда".
Это уже кому интересно, может посмотреть готовую реализацию не которых идей в свободном доступе у Николая.
Спасибо за предметное развитие темы и поддержку. Не с логий норм у меня (пока). Николай дал свои наработки для примера, Попробовал по своему разумению. Не прошла фильтрация (от разработчиков)? опубликовал даже поругал, Ответ 0 or nil?
Из Ваших публикаций на форуме, делаю краткий вывод: 1) Стратегия "скальперская" 2) Широкая диверсификация нужна на покрытие риска (> кол. тикеровв ) ну и конечно для заработка. 3) теперь понятна, грусть о потерянном рынке и подход "с высокой колокольне на все".
Я отошёл от таких подходов. Интересует средний срок и инвест. подход (Горизонт прогнозирования или цели). Именно о них я и рассуждаю в своих высказываниях. Именно здесь расхождение понятиях. Да и не считаю среднии, а фильтрую (Линия мгновенного тренда). отставание 1-3 периода данных в отличии 0.5 Периода. Это подходы Дхона Элерса. Надеюсь правильно на писал.
nikolz написал: Вот вам пример преимущества перед чистым LUA
Наверняка что то есть полезное, но большинству пользователей хотя бы с луа разобраться. Просматривая ветки ведь основные нарекания идут на взаимодействие скрипта с терминалом (движок). Бросал свои рабочие скрипты потому что поиск ошибки становился затратным по Времени. Сейчас все тупо пишу в лог, и придерживаюсь чем проще тем лучше! Но Вопросов к реализации полно.
Всем добрый день! Наконец дискуссия пошла в предметном русле русле.
swerg, Путать это мое Все. Так как моя личная подготовка слаба (уходит к истокам). Цель - уму разуму набираться. Не чего личного. Если чем то обидел прошу простить. Просто хочется от опытных пользователей предметного обсуждения вместо общих фраз.
Касаемо предмета. Переписал у себя т. всех сделок как показывает TGB, "и последний стал первым" - пока без нареканий. Обработку т. 'trades' веду в колбеке пример взял у Владимир, - работает. Но все ругают колбеки чего ждать от них не понятно,
Владимир написал: Время от времени даже солиднейшие компании с целой армией аналитиков высочайшей квалификации терпят миллиардные убытки
Недавний пример с "Colden Sachs" с ее хедж фондом или современные банкротства инцест банков. И что Одни капиталисты обули других. Или Ваш супер скрипт поучаствовал. "Зин а деньги где"?
Цитата
Владимир написал: Другое дело, что с деньгами намного легче зарабатывать, чем без них. А стабильность - это минимизация рисков
Согласен целиком и полностью.
Цитата
Владимир написал: снижение вероятности заработать много и быстро
Вероятность Выигрыша в начале нужно перетянуть на свою сторону - минимизация рисков один из подходов. А Вы мне помнится отрицаете обработку старых данных.
Цитата
Владимир написал: Сеточные алгоритмы как раз и относятся к высокорисковым.
Не знаю насчет, риска опыт мал, только в планах докрутить хорош больно во флате. Но есть подозрение что Маркет Мейкер активно пользует или ребята обеспечивающие ликвидность.
Нет гонять следить можно, Здесь ключевое стабильно зарабатывать.
Те ребята с которыми мы имеем дело на рынке, свои сделки готовят, читают рынок на раз два, инсайд, закрытые каналы и т.д. Там где серьёзные средства, существуют отдельные отделы, следящие за RM, отдельно трейдер, аналитический отдел, в общем структура.
Нет укусить откусить конечно можно и Ваш подход наверняка имеет место быть об это толь ко Вы можете судить.
Я же говорю о стабильности.
Ну к примеру была у меня сетка нашел алгоритм сам слепил торговал брент на минутках. Набирала до открытия ам. рынка "мама негорюй" Просыпались капиталисты все отберали еще и мои просили.
Скажите Сетку нельзя торговать очень широко применяется с широким спредом и более серьезными средствами.
Владимир написал: То, что лежит во внешних файлах, благодаря этой утилите будет выполнено так, как если бы оно было набито непосредственно в теле скрипта.
Не совсем понимаю, под "То, что лежит во внешних файлах" т.е. нужно создать внешний файл для обмена какой то информацией и с помощью этой ф. вставлять в код, правильно?
Ну я про смыл. Спасибо обдумаю.
Цитата
Владимир написал: Эта информация НЕ ТОЛЬКО для скрипта, но и для трейдера
К примеру я вывожу в окно скрипта инфо для трейдера и в log пишу, вроде хватает?
Но в любом случае спасибо за ответ на до обдумать.
Где мне попадалось Вы говорили о подготовке переменных на лету с помощью этой функции, можете показать?
Владимир, Простите что вмешиваюсь в столь полезный диспут.
Но не могу не сказать, что в постановке задачи на мой взгляд есть ошибка. Вот здесь.
Цитата
Владимир написал: А тормозной интерпретатор позволяет спокойно обслуживать сотни и даже тысячи тикеров - выше крыши для любого трейдера.
Ни Каму не нужны сотни молчу про тысячи тикеров в механической торговой программе (МТС), тем более брокеру!
Для отбора тикеров их фильтрации используют другие программы, а в МТС тикеры гонят уже зная чем торговать, как торговать, за с чет кого торговать!
Маркет (ММ), где то специалист, ММВБ автоматически сводит заявки. Для поддержания десятка тикеров требуются огромные средства когда их не хватает MM запрашивает помощь у других.
Через квик торговать FTP и жаловаться на быстродействие мягко говоря бессмысленно, по одно только причине MM РАЗРЕШЕНО делать задержки. Высокочастотники сидят в подвалах биржи.
Не, это оставьте себе, тем более у Вас есть куда его применить.
Не я про расширение функционала за ф. стандартной библиотеки (loadstring or load). Я у себя попробовал по образу и подобию не понял смысла в каких случаях она полезна?
Первый мой подход работает от Роберта Е. работает. считает правильно есть с чем сравнить. С памятью остаются "непонятки"? Зато можно модулем организовать!
Но вроде с кланяюсь к простате.
К стати есть реализация FIFO от разработчиков в колбеках. Фильтрует по классу память кушает на глазах, Но это все к вопросу задачи. Выкладывать нет смысла все есть в документации.
Владимир написал: Ну, покопайтесь в моих комментах, если интересно - мне лень.
Покопался, более того Ваши сообщения выделил по пользователю отдельно. Ну если оставить в покое Ваши рассуждения
Цитата
"бабла до мамы"
Кстати когда реализуете поделитесь.
Ну а если серьёзно у Вас оригинальный подход к программированию. Раньше попадались такие библиотеки на луа.
Не понял 1) преимущества ф. стандартной библиотеки loadstring. Если не сложно можно простой пример. 2) Файл txt пишите сложно это привычка , метод или что то еще. Ведь можно сохранить в формате луа а потом прочитать?
Владимир написал: Навскидку: если у меня бабла до мамы, а я хочу обрушить рынок, то ставлю в стакан две-три лонговые плиты и держу цену на какой-то из них, время от времени меняя, чтобы не скучно было. А когда рынок поверит, что курс вниз не пустят и отодвинет его вверх от моих плит, вываливаю накопленные бумаги.
Ни какое "бабла до мамы" не поможет если не читаете рынок. Рынки ходят за ликвидностью, Только Вы ее покажите, как она очутится в других руках. Ни чего личного это бизнес - больших дяденек.
Уважаемые форумчане вот инструкция от разработчика.
Использование Lua в Рабочем месте QUIK
1. Возможные подходы написания скриптов Lua для плагина QLua в Рабочем месте QUIK
Для запуска добавьте необходимый скрипт и нажмите на кнопку «Запустить». Запуск скрипта всегда начинается с обработки тела скрипта вне каких-либо функций, обозначим его . Можно выделить три подхода при создании Lua скрипта:
1. Вся необходимая логика описывается в области . В этом случае сценарии, описанные в теле скрипта вне каких-либо функций, после запуска выполняются только один раз, и скрипт переходит в состояние «Остановлен». Данный подход применим для Lua скриптов, целью которых является разовый подсчет необходимых данных. Скрипты с такой структурой выполняются в основном потоке РМ QUIK, ...
2. Вся необходимая логика описывается в функции с предопределенным именем main(). В этом случае после запуска скрипта первоначально выполняются сценарии, описанные в , если они присутствуют. Далее в отдельном потоке выполняется функция main(). ...
3. Событийная модель. При выборе данного подхода предоставляется гибкая среда выполнения пользовательских сценариев внутри QUIK, позволяющая мгновенно получать интересующие события от РМ QUIK, производя нужную обработку этих событий. Для обработки того или иного события необходимо в скрипте прописать функцию с предопределенным названием. Описание данных функций приведено в разделе 2.2 «Функции обратного вызова» Руководства пользователя Интерпретатора языка Lua. Скрипт Lua может содержать несколько функций с предопределенными названиями, являющимися обработчиками событий, таких как новая сделка, новая обезличенная сделка, изменение котировок и т.д
Как и в предыдущей структуре скрипта Lua, после его запуска первоначально выполняются сценарии, описанные в , если они присутствуют. Далее происходит вызов обработчика с именем OnInit(), если он присутствует. В обработчике OnInit() пользователь имеет возможность инициализировать все необходимые переменные и библиотеки перед запуском отдельного потока. После завершения функции OnInit() происходит создание отдельного потока РМ QUIK, и в этом потоке начинает выполнение функция main(), которая обязательно должна присутствовать в скрипте. Скрипт считается работающим, пока работает функция main(). При завершении работы
Владимир написал: А на рынке не просто нет ликвидности - самого рынка нет. А вот у капиталистов - есть.
Мне последнее время NG нравится торгуется хорошо в американскую сессию, или BRENT, гоняю RTS Маленький. Да полно Все конечно зависит от депозита если млн.$ то тесно.
Владимир написал: ТОС - это Таблица Обезличенных Сделок. То самое говно, в котором Вы ковыряетесь.
Ну тут все просто отследить крупные сделки для определения куда "Умные деньги" толкают рынок.
Я не знаю читали что-то на эту тему. Это классика жанра торговали так еще в начале 20 века. и ныне стратегия рабочая для Крупных денег с некоторыми изменнениями.
Идея следующая "Умные деньги" двигают рынок в нужно им направлении. В накапливая огромный объем удерживая рынок в границах скидывают лишних и толкают вверх так как не осталось предложения. Затем распределяют.
ТОС здесь и используют для разных целей основная когда Маркет Мейкер вступает в дело обменивая 100 млн$ не двину рынок не пункт, не попадая в стакан. Собственно это основная цель Рынка сделать Возможно обмена крупной сделки. Зачем нам буте уверены отследили такую сделку вставайте за ней.
Владимир, Я не понял что такое ТОС. А свечи чем не угодили по своей природе отфильтрованные сделки. Есть H есть L есть C на акциях есть Объем (Кол. сделок). По сути квантованные данные за разный промежуток времени с указание момента фиксации. Ну просто сказка.
Я Себя практикую 4 таймфрема 1м, 15М, 60М, конечно D.
При определении целей заглядываю на W но это уже руками.
На акциях нынче Все руками В длинную не включаю Месячный. Все свалилось купил и держи. Зайти два раза в день подкорректировать не сложно, В режиме Эксперт скрипт работает. На рынке нет ликвидности.
Это стала понятно. Вы об этом постоянно говорите. Мой не так крут. Работает всего в 3 режимах; Тестер, Expert, AVTO; выставляет сминает заявки Buy, Sell, TP, SL , trail Stop, Stop от % Деро. отслеживает Поз. расчет ММ ведет аналитику 5-7 индикаторов и многое чего.
Это собственно у всех так, только реализация разная.
Есть смысл обсуждать у кого какие приемы!
2)
Цитата
Владимир написал: Да и Вам таблица всех сделок нафиг не нужна. А если бы и была нужна, код для работы с нею наверняка копеечный.
Мне нужна. Если Вам интересно расскажу не секрет да на форуме круче меня понаписано. Насчет копейки у меня вызывает затруднение. Сами посмотрите на отзывы 0. Зато ломаного гроша нестоит OnInit широкими массами.
3)
Цитата
Владимир написал: Это УЖЕ СОВЕРШЁННЫЕ сделки, это ПРОЙДЕННЫЙ этап, дела давно минувших дней. За каким хреном кому-то нужен этот мусор?
Ну конечно! На этом строится тех. анализ Выделить статистически значимое событие и сесть ему на хвост. Так не Вы не я Рынок двинуть не можем это бизнес Фонда банка Крупных денег.
И это другой подход, сесть на хвост Оператору (SmartMoney, Специалисты) и тд.
Написано много всего но стоящие вещи помещаются на пальцах одной руки. Сегодня Валютный рынок хороший пример Закончился квартал рынок отдан на откуп Экспортерам попробуйте встать им против шерсти. У меня позиция CNY Рано перевернулся.
Владимир, Согласен что то не то, Код вам и не нужен, пока не надумаете таблицу всех сделок в свой скрипт прикрутить.
Эталон перед глазами
Если серьезно то танцы с бубнами вокруг таблицы всех сделок.
Задача отфильтровать по нужным инструментам, на каждом посчитать баланс ну и выделить Оператора. Чтоб в последствии прикрутить к рабочему.
У Николая там полный спектор пока не сильно не разбирался, позже запущу и посмотрю, больно уж закручен.
Этот скрипт сейчас работает в терминале после первого цикла 50 kB, за сессию накопит на верно надо чистить. Это поставил фильтр на одну бумагу, гоняю RTS не самая ликвидная.
Рабочий скрипт скачет от 4000 до 7000 за сессию накопит. При этом первым моим способ обрабатывает все сделки.