Владимир написал: Сергей С. , Дались Вам эти несчастные 5 секунд. У меня тикеры держатся в портфеле месяцами и годами, а тут секунды. ЗАЧЕМ с этим что-то делать?
Была идея немного поарбитражить в квике... но, видимо, для этой цели квик не подходит.
QUIK Подходит для арбитража. На форуме выкладывал пример скрипта для арбитража.
Виталий написал: Добрый день. Подскажите, что сделать чтобы интерфейс не фризился и не тормозил? Я как бы все понимаю, но вот такое окно (приложил скрин) фризится, если программу разворачивать с панели или просто водить по графику курсором с перекрестием. При этом у меня железо как бы не микроволновка: AMD Ryzen 7 5800X 3.80 GHz, ОЗУ 64Гб DDR4 3200, NVME накопитель, пустой на половину. Видео RTX 3060. Ну неужели этого мало?! Ну елки-палки! Что и где подкрутить, чтобы это прекратилось?!
Igor_User написал: nikolz , попробовал X=(Order.flags>>3)&1. То же самое - бит3 = true для рыночной заявки.
На фьючерсах нет рыночных заявок, надо выставлять с ценой. Если хотите рыночную то цену выбирайте хуже лучшей цены.
Мне всегда казалось, что и на спотовом также. Интерфейс выставления заявки в квике одинаковый что на спотовом рынке, что на срочном. И там и там присутствует галочка "Рыночная". Цену хуже можно не выставлять (точнее поле "Цена" становится вообще неактивным при выборе "Рыночная").
Возможно вы имеете в виду, что несмотря на это, заявки всё равно по-разному обрабатываются на спотовом и на срочном?
Я не правильно Вам объяснил. На фьючерсах нет рыночной заявки потому, что вы покупаете не актив, а контракт на его покупку А стоимость контракта не зависит от цены актива. Поэтому Вы задаете число контрактов а их цена фиксированная.
В качестве информации Так как использую своим DDE приложением, то QUIK нормально работает с моим сервером имя которого могу сделать любое.
По.тому полагаю, что проблема не в QUIK а в том, как Open Office реализует обработку. Из документации OpenOffice следует, что вызов DDE надо прописывать специально в ячейке таблицы.
Эта библиотека предоставляет общие функции для работы со строками, такие как поиск, извлечение подстрок и сопоставление шаблонов. Когда индексируются строки в Lua, первый символ находится на позиции 1 (не на 0, как в C). Допускаются негативные индексы, они интерпретируются как индексирование обратно (задом наперед), с конца строки. Таким образом, последний символ находится на позиции -1 и так далее.
Строки в Lua индексируются с 1 (а не 0, как в C). Индексы могут быть отрицательными и интерпретируются как индекс с конца строки. Т.е. последний символ имеет позицию -1, и т.д.
У меня в скриптах роботов делается так: ------------ Если стоп-заявки разрешены , то На изменение портфеля по инструменту проверяется наличие стоп-заявки и соответствие в ней количества. Если равенства нет , то стоп-заявка снимается и устанавливается новая, если количество не ноль. Ппри этом, выставление новой заявки должно быть выполнено после подтверждения снятия старой. ------------ Есть различные варианты сигналов, по которым выполняются эти действия. Например скользящий стоп. ---------- Так как умная стоп-заявка - это относительно большой и сложный скрипт, то сомневаюсь, что на форуме появится действительно подобный скрипт. Практически надо выкладывать скрипт автоматической торговли. ----------------
Илья написал: Хорошо, с передачей данных между скриптами разобрались. Остается вопрос оптимизации частоты этой передачи. Грубо говоря, в основном скрипте расчет происходит после совершения сделки. Частота расчета значительно ниже частоты срабатывания функции OnCalculate.
можно вычисления внутри onCalculate делать один раз в момент открытия новой свечи.
Илья написал: 1. Основной скрипт и скрипты индикаторов работают внутри одного экземпляра Quik (на одном компьютере) 2. Разработка на отличном от Lua (Qlua) языке не предполагается. Все в рамках возможностей QUIK
Тогда единственный вариант это обмен через файлы, то , что Вы не хотите. Все остальное требует использование сторонних dll , т.е. CИ.
Посоветуйте, пожалуйста, как можно оптимизировать данный алгоритм:
1. передачу данных из основного скрипта в скрипт индикатора (без использования файлов) 2. Инициировать передачу данных в индикатор со стороны основного скрипта (уменьшить частоту обращения индикатора к основному скрипту) 3. Есть ли возможность из основного скрипта инициировать событие для функции OnChangeSettings ?
Уточните: 1) скрипты в разных приложениях, в одном или на разных компьютерах. 2) Предполагаете разрабатывать функции на C или других языках или только на Lua.
Ziveleos, Вы можете делать еще так, возможно будет проще понимать что и зачем: ----------------- Например, есть flag ----------------- 1) надо выделить бит 0 x=flag & 1 -- x равен значению бита ----------------- 2) надо выделить бит 1 z=flag>>1; x=z & 1 -- x равен значению бита ----------------- 3) надо выделить бит 2 z=flag>>2; x=z & 1 -- x равен значению бита -------------------- 4) надо выделить бит 3 z=flag>>3; x=z & 1 -- x равен значению бита ------------------------ 5) надо выделить бит 4 z=flag>>4; x=z & 1 -- x равен значению бита
<Поле таблицы (данные любого типа Lua кроме nil, при присвоении которого полю, соответствующая запись таблицы удаляется>. --------------- Поправлю Вас.. nil - это такая же переменная как и другие. Отличается лишь тем, что ее тип =0, а тип строки =3. проверка переменной на nil, это равенство ее типа нулю. --------------- Поэтому поле таблицы может быть любого типа, в том числе и типа nil. ================== Команды в байт-коде луа - это просто целое число, которое всегда указывает на функцию СИ. Т е внутри VMLua нет никакого чистого луа, там лишь чистый СИ.
Delv написал: Решил сохранить историческую информацию о стаканах по отдельно взятому инструменту. Есть 2 обработчика: OnQuote и OnAllTrades. В обоих стоит фильтрация по инструменту. События из них кладутся в некий общий список(std::list<std::any>),
Забыл сказать Вам ранее. 1) Существуют сделки, которых нет в стакане. 2) Для эксперимента можно сделать так. Синхронизируйте часы компьютера от сервера точного времени. При этом проверьте на сколько будет уходить время на Вашем компьютере. Реально получить 2-5 ms . Потом пишите стакан и сделки с метками компьютерного времени. Потом обработайте файл с оценкой разницы компьютерного времени и времени сделок. В итоге Вы получите, что сделки приходят к Вам с запозданием Сделки и срезы стаканов могут приходит в одном пакете. Количество изменений стакана в действительности всегда больше чем число совершенных сделок. Но выбор среза стакана очевидно определяется не моментом совершения сделок, либо не только. ----------------- В любом случае, если так сделаете, то узнаете много нового. =============== Прим: Когда-то давно привозили данные с биржи по сделкам для экспертизы в рамках одного уголовного дела. Там много чего есть интересного.
Спасибо, надо будет поинтересоваться. Пока же я буду просто использовать очередность сделок и кадров стакана. Разница по времени там небольшая будет. Те же 2-5 мс для меня не имеют особого значения, так как на сделку(отправка заявки на биржу и получение ответа по транзакции) уходит куда больше. До 250 мс.
2-5 ms - это не задержка прихода, а ошибка синхронизации времени компьютера относительно времени биржи. Эта величина погрешности. Вы же не используете градусник у которого погрешность измерения 10 градусов. ----------------------------- На форуме я выкладывал результаты измерения запаздывания прихода сделок и свечей. Получались даже секунды, а для свечей десятки секунд. ---------------- Но если Вам все равно, но какой смысл вообще смотреть вчерашний день.
Delv написал: Решил сохранить историческую информацию о стаканах по отдельно взятому инструменту. Есть 2 обработчика: OnQuote и OnAllTrades. В обоих стоит фильтрация по инструменту. События из них кладутся в некий общий список(std::list<std::any>),
Забыл сказать Вам ранее. 1) Существуют сделки, которых нет в стакане. 2) Для эксперимента можно сделать так. Синхронизируйте часы компьютера от сервера точного времени. При этом проверьте на сколько будет уходить время на Вашем компьютере. Реально получить 2-5 ms . Потом пишите стакан и сделки с метками компьютерного времени. Потом обработайте файл с оценкой разницы компьютерного времени и времени сделок. В итоге Вы получите, что сделки приходят к Вам с запозданием Сделки и срезы стаканов могут приходит в одном пакете. Количество изменений стакана в действительности всегда больше чем число совершенных сделок. Но выбор среза стакана очевидно определяется не моментом совершения сделок, либо не только. ----------------- В любом случае, если так сделаете, то узнаете много нового. =============== Прим: Когда-то давно привозили данные с биржи по сделкам для экспертизы в рамках одного уголовного дела. Там много чего есть интересного.
nikolz написал: Динамические данные надо брать через getParamEx., а getParamEx вызывать при срабатывании onParam.При этом, чтобы не читать ненужное, надо в onParam поставить фильтр на торгуемые инструменты.
При срабатывании onParam вызывать именно getParamEx или всетаки getParamEx2 ?
В документации OnParam написано: При вызове данной функции пользователь может вызвать функцию getParamEx() и получить значение нужного параметра. ------------------ getParamEx2 Функция предназначена для получения значений всех параметров биржевой информации из Таблицы текущих торгов с возможностью в дальнейшем отказаться от получения определенных параметров, заказанных с помощью функции ParamRequest. Для отказа от получения какого-либо параметра воспользуйтесь функцией CancelParamRequest. --------------- getParamEx Функция предназначена для получения значений всех параметров биржевой информации из таблицы «Текущие торги». С помощью этой функции можно получить любое из значений Таблицы текущих торгов для заданных кодов класса и инструмента. ==================== полагаю, что если нет надобности использовать ParamReques, то проще getParamEx.
paluke написал: Ну почти... Посмотрите на сбербанк или газпром. Код базового актива для фьючерса может не совпадать с кодом акций.
покажите, где для фьючерса сбербанка и газпрома код не совпадает. Код базового актива у сбербанка SR и SP, а у газпрома GZ. У какого фьючерса этих акций иначе?
nikolz написал: Функция getParamEx берет параметры из архива терминала. Это сравнительно медленно.У инструментов много неизменяемых параметров. Их лучше выбрать один раз и сохранить в таблице. Потом брать из этой таблице не используя getParamEx.
Т.е. "более" актуальные данные нужно брать через getParamEx2 во всех случаях, когда открыта ТТТ ? Или могут быть другие ситуации ?
Динамические данные надо брать через getParamEx., а getParamEx вызывать при срабатывании onParam. При этом, чтобы не читать ненужное, надо в onParam поставить фильтр на торгуемые инструменты.
Я хотела бы научиться писать небольшие вспомогательные програмки на QLUA, опыт програмирования у меня очень небольшой, когда-то давно был курс в университете. Я смогла написать следующую программу, которая выполняет следующее: при запуске формируется таблица с фьючерсами, запоминается в отдельной колонке открытый интересе в момент создания таблицы. Далее, каждые несколько секунд берется текущий открытый интерес и вычисляется изменение открытого интереса. Эти данные выводятся в отдельную колонку.
На текущий момент, больше всего я не понимаю, как работать с типами данных, почему-то чтобы выводились данные в колонку - их нужно преобразовывать в строки, иначе у меня выводятся нули. К сожалению, мне очень не хватает рабочих примеров, чтобы быстрее обучиться.
Хотя код рабочий, я буду признательна, если кто-то сможет подправить код с точки зрения приведения типов. Хочется чтобы в столбцах OI, OIINIT, OICHG, OICHG% были не строки, а числа.
И еще один вопрос, можно ли добавить столбы - которые брали бы открытый интерес на начало дня (на 10 утра по Москве, либо на 19:00 предыдущего дня - любой вариант подходит) - которые брали открытый интерес который был 15 минут назад (получается, это поле должно динамически обновлятьс, достаточно раз в минуту например)
Ликбез. Скрипты пишем не на QLUA, а на Lua. QLua- это библиотека функций для Lua. Эти функции позволяют скрипту обмениваться данными с терминалом QUIK. Поэтому про типы и как писать скрипты на луа надо читать в литературе по программированию на луа. https://jevico.github.io/ https://eligovision.ru/media/upload/lua.pdf https://chenweixiang.github.io/docs/Programming_in_Lua_4th_Edition.pdf ----------------------- Относительно типа выводимых данных в таблицу. Чем Вам мешает сохранение чисел в формате строк? В данной реализации отображения таблицы используется формат строки для хранения отображаемых данных, поэтому надо явно делать из чисел строки. Так сделали разработчики, поэтому надо делать именно так. ---------------------- Изучите библиотеку QLUA и делайте так, как написано в документации. Примите это как догму и не пытайтесь угадать "почему" так сделали разработчики библиотеки. ----------------- QUIK - это программа для подачи поручений брокеру в текущий торговый день. Поэтому в ней отображается текущая информация. Если Вам надо информацию прошлых дней то ее надо сохранять в файлах и потом считывать и отображать. Т е вам надо сделать запись в файл OI, OIINIT, OICHG, OICHG% и считывать значения при запуске QUIK. Хранить данные Вы можете и в двоичном виде как числа, преобразовывать в строку надо лишь для отображения на экране.
1. У меня открыта таблица тек.торгов с нужными инструментами. Как правильно получать данные из нее getParamEx или getParamEx2 ? 2. Сработал колбэк OnParam. Также- как правильно - getParamEx или getParamEx2 ?
Функция getParamEx берет параметры из архива терминала. Это сравнительно медленно. У инструментов много неизменяемых параметров. Их лучше выбрать один раз и сохранить в таблице. Потом брать из этой таблице не используя getParamEx.
nikolz написал: У Вас есть список акций, которые Вас интересуют.
1. У меня нет списка акций. Я его хотел получить именно из списка фьючерсов на акции, которые есть на Мосбирже. Зная список акций я без проблем получаю нужный мне список фьючерсов на акции.
Можно сделать так: 1) получить этот список из списка открытых инструментов. 2)сформировать списку фьючерсов по этому списку. 3) выбрать те фьючерсы, на которые подписан 4) оставить только те акции для которых есть фьючерсы. ------------------- относительно "быстро" Вы делаете это один раз при старте КВИК поэтому время вычислений не имеет значения. в любом случае не превысит нескольких секунд.
nikolz написал: Сейчас уже точно не помню, но вроде бы делал какой-то листинг и по нему формировал фьючерсы . При этом учитываешь какой квартал, так как для разных кварталов разные правила. Все делается автоматом.
У меня есть строка, полученная так: sec_list = getClassSecurities("SPBFUT") и впринципе её раскидать на фьючерсы разные проблем нет никаких, хоть по кварталам используя "Спецификации коротких кодов фьючерсных и опционных контрактов на срочном рынке" c Мосбиржи: https://www.moex.com/s205 Но в любом случае для отсева из всей этой общей кучи, чтобы отделить только фьючерсы на акции, придётся задавать что-то, связанное с акциями. Я для этого использую шаблон на каждую акцию и ищу через string.gmatch(longStr, Str .. "(%u)(%d)"), где longStr = sec_list, Str = шаблон((AF) например для Аэрофлота). Но вот сформировать тоже самое не задавая шаблон(не привязываясь к акции) никак не получится, нет такой возможности.
может что-то забыл, но в указанной Вами ссылке вроде все есть:
Спецификации коротких кодов фьючерсных и опционных контрактов на срочном рынке
Коды срочных контрактов состоят из следующих частей:
Коды фьючерсов
C
M
Y
Коды опционов
C
P
K
M
Y
W
C – краткий код базисного актива, P – цена страйк (максимум 6 символов), К – тип расчетов, M – месяц исполнения (а также тип для опциона), Y – год исполнения, W – признак недельного опциона.
Кодирование базового актива (поле "C")
Группа контрактов
Код базисного актива (поле "C")
Код базисного актива на срочном рынке
Название базисного актива
Я же написал как делал У Вас есть список акций, которые Вас интересуют. Из таблицы Кодирование базового актива находим код базового актива на срочном рынке ------------------- После этого записываем код фьючерса: --------------- кода базового актива, месяц, год. ------------------ В итоге получите список фьючерсов для акций. ============= Если используете колбек onParam, то те коды фьючерсов на которые вы не подписаны никогда не получите. В результате у вас будут коды фьючерсов на акции, на которые вы подписались ------------------ Аналогично опционы. ------------------ Что не так?
Alexander написал: Подскажите кто знает если. С помощью getParamEx есть ли параметры в ТТТ такие, чтобы отсортировать фьючерсы на акции от остальных фьючерсов. В квике по названию вроде ничего не подходит. Или как-то такое сделать по другому. Т.е. я получаю: sec_list = getClassSecurities("SPBFUT") и потом мне из всей этой кучи надо выделить только фьючерсы на акции. По класскоду у всех "SPBFUT", что у индексных, что у товарных, что у акционных. Пока вижу только вариант через string.gmatch и шаблон, но тогда для каждого варианта(смотрим на мосбирже все фьючи на акции) надо указать шаблон. Так пока делаю, но это длинно, для каждой акции свой шаблон. И спиок на бирже могут поменять и придётся менять код. Типа бы какого-нибудь не только класскоде, а ещё бы и подкласса иметь на фьючерсы на акции.
Когда-то давно делал так. На бирже находим правила формирования названия фьючерса. Далее по имени нужных нам акций формируем имена фьючерсов. При этом еще учитываем правило формирования даты фьючерса. Все вроде бы работало правильно.
Ну я типа так и делаю. Только даже проще. Мне так же приходиться как и у Вас написано "по имени нужных нам акций" определять шаблон и по нему мне из всей кучи находит СРАЗУ ВСЕ доступные на данный момент фьючерсы на эти акции, без всякого " правило формирования даты фьючерса". Думал может можно как-то упростить, так как на каждую акцию приходится задавать свой шаблон(Аэрофлот - AF, Газпром - GZ, и т.д).Но список может меняться и приходится постоянно следить и корректировать код, а этого хотелось бы избежать. Это можно было бы легко делать если бы например Мосбиржа помимо кода на фьючерсы "SBPFUT", например ввела бы подкоды. Для фьючерсов на акции свой подкод, для валюты свой, для товаров свой, для процентных свой и для индексных свой. Но такого видимо нет.
Сейчас уже точно не помню, но вроде бы делал какой-то листинг и по нему формировал фьючерсы . При этом учитываешь какой квартал, так как для разных кварталов разные правила. Все делается автоматом.
Как же не имеет можно норм. распределение считать вероятности получать!
Ликбез. -------------------- А кто Вам сказал, что Вы имеете нормальный закон распределения. По-секрету Вам скажу, что еще в прошлом веке было доказано что нормальный закон встречается редко. -------------------------- Если закон не нормальный, то арифметическое среднее не является состоятельной оценкой первого момента плотности вероятности, т е средней величиной. ---------------------------------------- В результате появились методы робастного оценивания. -------------------------------------------------------- Ученье -свет, а неучей-тьма.
Ликбез. Если игрок ставит лимитную заявку , которая теперь называется пассивной, то он делает ровно тоже самое что и маркетмейкер, т е играет против рынка и тем самым сжимает спред. ---------------------- Именно поэтому биржа за такие ставки не берет комиссию у простых игроков, а маркетмейкеру она еще за это приплачивает. ------------------- Так что все лимитчики становятся маркетмейкерами,хотя сами этого и не знают.
Kolossi написал: Признаться даже в голову не пришло проверить param_type. Боюсь даже спрашивать нахрена это придумано. Спасибо за подсказку.
могу предположить для корректности преобразования. Т е чтобы строки не пытались смотреть как числа. У них в таблицах очевидно не поддерживается формат луа. Возможно, чтобы компактно хранить или быстрее вытаскивать из архива терминала. У них еще много особенностей в форматах данных библиотеки QLUA, поэтому лучше делать как в документации и тогда не будет сюрпризов.
Kolossi написал: local aaa=getParamEx(p_classcode,"GMKN","EV_SESS_ALLOWED").param_value local bbb=getParamEx(p_classcode,"LSRG","EV_SESS_ALLOWED").param_value message(aaa.."/"..bbb)- aaa=getParamEx(p_classcode,"GMKN","EV_SESS_ALLOWED").param_image local bbb=getParamEx(p_classcode,"LSRG","EV_SESS_ALLOWED").param_image message(aaa.."/"..bbb)
Все правильно. Данное поле имеет тип 3 . И если прочитаете документацию, то там черным по белому на русском написано:
param_value
STRING
Значение параметра. Для param_type = 3 значение параметра равно «0», в остальных случаях – числовое представление. Для перечислимых типов значение равно порядковому значению перечисления
Alexander написал: Подскажите кто знает если. С помощью getParamEx есть ли параметры в ТТТ такие, чтобы отсортировать фьючерсы на акции от остальных фьючерсов. В квике по названию вроде ничего не подходит. Или как-то такое сделать по другому. Т.е. я получаю: sec_list = getClassSecurities("SPBFUT") и потом мне из всей этой кучи надо выделить только фьючерсы на акции. По класскоду у всех "SPBFUT", что у индексных, что у товарных, что у акционных. Пока вижу только вариант через string.gmatch и шаблон, но тогда для каждого варианта(смотрим на мосбирже все фьючи на акции) надо указать шаблон. Так пока делаю, но это длинно, для каждой акции свой шаблон. И спиок на бирже могут поменять и придётся менять код. Типа бы какого-нибудь не только класскоде, а ещё бы и подкласса иметь на фьючерсы на акции.
Когда-то давно делал так. На бирже находим правила формирования названия фьючерса. Далее по имени нужных нам акций формируем имена фьючерсов. При этом еще учитываем правило формирования даты фьючерса. Все вроде бы работало правильно.
VPM написал:они как раз у тех у кого миллионные обороты. Включите таблицу "всех сделок" и посмотрите на исполнение, когда пройдут пройдут 100 млн $ посчитайте сколько на берется сделок. HFT роботы - это скорее инструмент маркетмейкера и тех кого он привлекает для подержания определенной ликвидности, есть конечно и частники как же без них.00 лет назад на современном рынке уже как телега с кобылой на шоссе.
Вы про айсберг -заявки знаете? Я вам вообще-то про мировые рынки, которые подобно океану, говорю, а не про российский рынок, подобный небольшому озерку. Рекомендую почитать про обвалы на биржах США и кто их создал.
Хотелось бы увидеть картину как трейдер с миллионными оборотами сидит и рассматривает минутки а лучше тики.
Это называется HFT роботы, они как раз у тех у кого миллионные обороты. --------------------- Трейдер не сидит и не смотрит, так как это высокочастотный робот. --------------------- Таких роботов сейчас на биржах из всей массы торгующих процентов 70. ----------------- В инете, правда на английском, можно встретить статьи реальных крупных трейдеров, которые торгуют сами . Они рассказывают как было до прихода HFT и как теперь стало трудно торговать и как они теперь меняют свои стратегии. В итоге, то что в популярных книжках и сделано 100 лет назад на современном рынке уже как телега с кобылой на шоссе. -------------------------------- Безусловно HFT не для частных инвесторов - это инструмент крупных банков, инвест. фондов, короче монстров фондового рынка.
nikolz написал: из предполагаемой модели движения цены.
Сейчас расскажу с начала: 1) "Где деньги Зин"? 2) Чем цену двигают на рынке? 3) кто может поволить, безопасно для себя двинуть цену?
Вот Вам модель: накопление позиции, когда с рынка выбрано предложение, цена летит до уровня где встретит сопротивление. Если сопротивление серьезное, буде распределение актива. И все сначала.
Вы поймите никто на рынке не устраивает игрушки с моделями и распределениями, все рулит конъектура подчиненая закону Спроса и Предложения.
Опять Вы ошибаетесь. Закон Спроса и Предложения - это и есть модель рынка. Модель - это упрощенное представление действительности. Мозг всегда явно или неявно на основе опыта и знаний создает модели действительности и прогнозирует реальные события на основе этих моделей. ------------------- Человек в своей деятельности всегда создает модели , прежде чем реализует что-то в будущем. Закон - это формулировка некоторой закономерности на основе упрощенной модели действительности.
nikolz написал: Вероятностные события, это события которые могут произойти, но не обязательно. А прогноз - это и есть Ваше ожидание каких-то событий.
Индикаторы в основном отвечают на два постулата: 1) Определить направление тенденции; 2) Определить зоны Перекупленности / Перепродонасти. Чтоб они стали статистически значимы нужна серьезная выборка. А это значит и серьезное отставание от события.
Мы ищем приемлемое между сглаженностью и отставанием. Так прогностический у нас взгляд или вероятностный?
При составлении рыночных прогнозов надо учитывать главное (фундаментальное)
Цены меняются согласно закона "спроса и предложения". Когда спрос превышает предложение, то цены растут; Когда предложение превышает спрос, то цены падают.
Опытные трейдеры не торгуют против рынка!
управления через прогнозируемое, правильнее наверно подбор целей, как и сам технически анализ основывается на ряде аксиом. Одна из них "Если мы определили тенденцию то она будет какое то время продолжаться"
Ну к примеру делаем прогноз:
посчитали что измененни цены за прошлый год в среднем 0.5% роста в день. 252р.д * 0.5% = 126% годовых нас устраевает. Допустим есть отличный алгаритм определения точки входа. Входим цель соответсвует нашему прогнозу, но тут событие 02.22г. все рухнуло. Пересчитываем теперь у нас измененни цены за прошлый год в среднем -0.5% снижения в день. Меняем цель.
Тут операторы заметили что рынок ушел сильно в зону перепроданости цены интересны и начинают накпление.
Это Вам не чего не на поминает?
подбор целей посмотрите Т.Демарка у него хотябы структурировано.
Возражая, Вы лишь подтверждаете то, что я сказал. Попробую Вам это показать на Ваших ответах.
Вы возражаете против того, что всегда используете прогнозирование, но пишите
Индикаторы в основном отвечают на два постулата: 1) Определить направление тенденции; 2) Определить зоны Перекупленности / Перепродонасти.
1) и 2) - это и есть прогноз поведения цены и состояние рынка в будущем. Вы называете прогноз поcтулатом, но термин Постулат в данном случае не применим. ПОСТУЛА́Т, - Исходное положение, принимаемое без доказательств. Т е постулат - это некие исходные предположения (аксиома) но 1) и 2) - не содержат предположений, а определяют лишь Ваши желания. --------------------------- Ваше утверждение: При составлении рыночных прогнозов надо учитывать главное (фундаментальное) является вашим ПОСТУЛАТОМ. ------------- На самом деле что и как учитывает игрок на рынке зависит от его знаний и опыта, но любой игрок, делает прогноз перед тем как сделает ставку. -------------------- Относительно Т.Демарка Любой автор книжки или лектор на курсах всегда выстраивает некоторую логику в своих интересах, подбирает только те примеры из бесконечного множества, которые наглядно показывают, что он прав. ----------------- Проблема в том, что на рынке будут обязательно ситуации, когда Ваш прогноз по правилам Демарка будет ошибочным. Если бы было не так, то не было бы ни кризисов, ни постоянного притока буратин и оттока проигравших. Уверен< что Вы не читали, поэтому рекомендую почитать книгу Джорджа Сороса «Новая парадигма финансовых рынков», он ее написал после кризиса 2008 года. Она сложнее, чем популярные книжки Демарка и других "прославленных" брокерами гуру.
nikolz написал: является прогностическим и это не зависит от выбранных вами индикаторов.
А с чего вдруг, в лучшем случае вероятным, если умеете ее считать.
Вы путаете понятия. -------------------- Вероятностные события, это события которые могут произойти, но не обязательно. А прогноз - это и есть Ваше ожидание каких-то событий. Все решение о покупке или продаже Вы примите в будущем, так как в прошлом вы их уже приняли. ----------------------- Вы принимаете решения на основе Вашего убеждения, что это решение правильное. Если Вы покупаете, то Вы ожидаете,что цена пойдет вверх т е Ваш мозг прогнозирует. Если Вы берете правила из книжки, то Вы используете чей-то алгоритм, который по мнению автора позволяет прогнозировать движение цены в ожидаемом направлении. ====================== В основе любого прогноза лежит статистика или иначе сказать накопленный опыт. В итоге любое наше действие по жизни всегда связано с прогнозом его последствий. ----------------------- То каким образом мы формируем свои ожидания определяется методом, который используем для прогноза. -------------------------------- Если используете монте-карло, цепи Маркова или максимального правдоподобия , то это будет вероятностный прогноз т. е. решение принимаем на основе вычисления оценки вероятности наступления данного события. --------------------- Если используете индикаторы, а решения принимаете на основе их пересечения между собой или с уровнями, то Вы прогнозируете на основе статистических наблюдений в прошлом, но и в этом случае Вы используете априорную вероятность наступления событий. ------------------- Т.е. Вы сознательно или нет всегда прогнозируете последствия своих действий и прогноз этот строите на основе статистики (опыта) связывая это с вероятности успешного решения.
и еще... Относительно индикаторов в том числе RSI Вы немного заблуждаетесь. Любое решение на рынке, кроме решений методом монте-крало, является прогностическим и это не зависит от выбранных вами индикаторов. А вот индикаторы должны выбираться исходя из предполагаемой модели движения цены. ------------------- Если Вы списываете индикаторы из книжки , то Вы должны быть уверены что рынок сейчас соответствует модели рынка, которую взял автор этой книги. ---------------------- Самое прикольное, что все авторы этих бестселлеров на самом деле рассказывают одно и тоже и берут одни и те же индикаторы - самые простейшие цифровые фильтры как правило не выше 2-го порядка. Поэтому с точки зрения цифровой обработки сигналов все эти гуру жонглируют примитивной арифметикой, при этом показывают специально подобранные эффективные картинки движения цены. =============== В интернете Вы можете найти объемные статистические исследования практически всех книжных алгоритмов и доказательство что на большом интервале времени эти алгоритмы ничего существенного вам не дадут.
Nikolay написал: Уже давно были проведены количественные эксперименты по случайным методикам входа в позицию. Элементарно монеткой, кубиком. Все сводится к управлению рисками.
Про вход в позицию каждый день каждый из нас случайным образом, кому то удается вероятность подтянуть на свою сторону. Знания арифметики в этом случае полезны, можно прикинуть сколько средств нужно чтоб двинуть рынок.
Цитата
Nikolay написал: Впрочем, тем, кто не гадает, а изучает компании в которые собирается инвестировать, монетка не нужна, как и скользящие средние и т.д.
Плюс есть но не более. см мой пример с нефтью. Рынки живут по закону Спроса и Предложения! Не зная этих основ, тяжело рассчитывать на стабильность и учитывать с кем имеешь дело.
Вы заблуждаетесь. Маркет -мейкер - это игрок на бирже, задача которого сжимать спред. Т е у него просто стратеги играть против движения рынка. Ему за это биржа платит. Но на рынке есть и обычные игроки которые играют против рынка. Поэтому маркет-мейкер ни при чем.
VPM написал: На мой взгляд важней здесь математика. Вот пример.
Если считать простую среднею и использовать при определении тренда то и получишь что насчитал, а данном случае отставание результата составляет Period/2+1, то есть заметил тренд после половины периода этой средней. И что с этим делать я не знаю, я использую фильтры, ведь космические корабли стыкуют в автоматическом режиме в заданный момент времени. Ну отставание 1 - 2 бара при выявленной тенденции можно себе позволить.
Мне вот в начале работы над скриптом казалось, что торговать нужно НА ВСЕХ таймфреймах одновременно. Это все описано и опубликовано и есть подходы, к примеру 3 окна Эльдера.
Попробую высказать свое мнение. ------------ Интересно, как Вы ответите на такие вопросы: 1) Почему известные в книгах методы торговли встречаются в литературе как успешные лишь единожды. Например метод черепах. Никто не похвалился, что он повторил то, что прочитал и стал миллионером положив изначально на депозит 1000 руб? 2) Почему победители различных трейдерских соревнований выигрывают лишь один раз. ---------------- Кратко мой ответ состоит в том, что все перечисленные выше события являются случайными. ============= Относительно методов, например Эльдера или еще каких-то известных гуру, которые никогда не были не то что математиками, но и не изучали ее. Все их методы - это арифметика. -------------------------------------- В таких книгах примеры эффективности этих методов всегда подобраны именно так, чтобы доказать то, о чем пишет автор. Никто из них не привел доказательство работы этих методов тогда, когда рынок не движется так, как думает автор, ================= Когда человек торгует на рынке сам или пишет некоторую программу торговли, то он сознательно или нет использует некоторую модель (картинку) будущего движения цены. Если Вы используете какие либо индикаторы - свечи, скользящее среднее, RSI и т д, то успешность торговли зависит от того позволяют ли эти индикаторы, которые являются фильтрами, сформировать из движения цены нужное Вам решение купить/ продать. ================= К сожалению, большинство частных инвесторов опираясь на знания полученные на курсах, на которых пересказывают книжки этих гуру строят стратегию торговли методом "рекле" - режу-клею. Т е нарезали индикаторов и рекомендаций из разных книжек и склеили их в один скрипт не получилось снова рекле. --------------------------