Владимир, Вернусь к нашему прошлому с Вами обсуждению. Вот цитата разделю ее на две смысловые части, Вы пишите:
Цитата
Владимир написал: А я понятия не имею сколько контрактов я буду торговать на каждом тикере - знаю только, что величина эта переменная и зависит от текущего поведения рынка. Не знаю также, когда я эту сделку закрою и сколько на этом выиграю или проиграю. Да и не моё это собачье дело.
"величина эта переменная и зависит от текущего поведения рынка", т.е. Вы написали какую то поведенческую функцию f(рынок) и не хотите ее обсуждать?
Цитата
Владимир написал: А маневр ресурсами между тикерами (и даже между таймфреймами) - это самое эффективное вложение капитала. Предположим, один из моих тикеров вдруг подрос (допустим для простоты, что мы сидим только в лонгах), а второй в это же время упал. Скрипт тут же фиксанёт прибыль у первого и отдаст денежку второму. А на следующий день, наоборот, тот упадёт, а этот вырастет. Проделаем ту же операцию, и теперь мы снова сидим "при своих" по бумагам, а в кошельке копеечка прибавилась и от того, и от другого. Бывает, что и несколько тикеров временно подкармливают текущего неудачника, и это правильно: почти наверняка он всё вернёт с процентами. Таким образом, деньги перенаправляются туда, где они всего нужнее в данный момент.
Меня в таком подходе смущает слово "наверняка", от нее веет либо это вероятности, либо интуитивный подход. Но в любом случае эту эффективность нужно оценивать, или это "гадание на кофейной гуще"?
Отличие рынков фондового и срочного значительное (сами названия о многом говорят, а понимать это позволяет нам знание русского языка) Акция == Актив (фонд), Фьючерс производная от актива торгуется всегда с плечом, отсюда и поведенческая их разница, плюс разница в механике организации торгов.
Но нас интересует как эти знания учитывать в организации своей торговли? В организации своих торговых стратегий, нужно учитывать тот факт что акции более трендовые инструменты, а к фьючерсам больше подходят циклические, и это нужно учитывать при выборе торгового тайм фрейма, и отладки торговой стратегии (по крайней мере я так делаю)!
Glukator, Не совсем понял Ваш подход? Во первых, в трейдинге тоже есть устоявшиеся понятия (солнце=солнцу), так и понятие Просадка - говорит, что трейдер набрал позицию, а цена двигается против его позиции, максимальное отрицательное значение и будет называться просадкой для данной позиции.
Но мне думается что вы закладываете несколько другой смысл в это понятие (типа отскок)? Если это отскок то уместно сказать от чего (от средней, от цены позиции...)
Если я Вас правильно понял то с первого взгляда, видятся несколько улучшений, А понял я, то что Вы хотите отловить те бумаги, которые прыгают на десятки процентов (ну это типа энергокомпаний в прошлом году)?
Интересный момент! Примерно с начало декабря, у меня открыт демо - счет в TradingView, сегодня закрыл на нем все позиции заработал 300% (Это как у Карла Маркса), динамика цен реальная, торговал примерно тоже что в реале в квике, Прежде чем открыть позицию в реале, делал анализ в TradingView. Но вреале нет такого результата? Не которые ответы очевидны, это клиринги, просадки, ну и конечно меньше дергал позицию, а другие предстоит выяснить.
Начну с конца и пожалуй о самом главном, про язык.
Русским языком пользуются миллионы людей, и не у всех он родной. Здесь важно понимать для программиста другое, что он несет в себе образы и смыслы!
Про "айсберг" Не обсуждалось ни про каких "биржевых айсбергов", был пример конкретного кода, кусочек алгоритма по набору позиции, не сложный даже для начинающего. Возможно ошибся с названием, но это не важно смысл в коде.
Про фреймворк Вы сами ругаете меня за частые повторения, Буду краток, В 350 строк кода, автор показал всю мощь языка Луа, предложил не только новый концепт по работе с ордерами, но и показал механику как это делать! За это и благодарю его, натыкаясь каждый раз на новые возможности (Просветил!).
Про форум Данная ветка называется "программирование на языке луа", это и обсуждаем, моя тема - пишу свою программу и по ходу обсуждаю те вопросы к которой подошел, в надежде на общее обсуждение, обмен опытом. Для поиска нужно просто более четко формировать запрос! Вы это и сами прекрасно знаете, без моих советов.
Про какой код? Оставлю без комментариев!
Ну и последнее, ну давайте уже по делу, ну что за нравы у программистов обсуждать всякую "беллетристику"? Вы ведь опытный, насколько понимаю, программист, можете что и посоветовать и показать.
VPM написал: Glukator, Я Вас понял, Вы торгуете методы описанные Владимир, .
статья "Выведение Торговли Стратегий От Функций Распределения Вероятности" John F. Ehlers. У него четыре книги, я одно время увлекся его подходом, особенно интересовало использование спектрального анализа в оценке периодов.
Вот так правильно:
INFERRING TRADING STRATEGIES FROM PROBABILITY DISTRIBUTION FUNCTIONS
John Ehlers 6595 Buckley Drive Cambria, CA 93428
Если не найдете у него можно с сайта скачать (MESA).
статья "Выведение Торговли Стратегий От Функций Распределения Вероятности" John F. Ehlers. У него четыре книги, я одно время увлекся его подходом, особенно интересовало использование спектрального анализа в оценке периодов.
Glukator написал: Есть 9 таймфреймов, по ним считаю средние, по двум средним на каждом - просадки.
Как Вы средние считаете без свечей? Отскок в низ это L(I), здесь можно конечно и last брать для ускорения расчета.
Цитата
Glukator написал: СКЗ считать имело бы смысл при однородности нашего случайного процесса, но это ведь не так.
Есть мат. методы приведения , выше я выкладывал пример в виде индикатора.
То о чем Вы говорите, это контр трендовые стратегии, не важно считаете Вы тренд или нет. У меня на них печальный опыт, чтоб их торговать нужны значительные средства, чтоб можно было держать торговый диапазон и усредняться.
Вашу задачу я бы разделил на две подзадачи: 1) оценить волатильность 2) оценить скорости изменения цены И мне думается за это отвечают разные tf.
Glukator, Не совсем Вас понял, 1) Вы торгуете контр тренд, или входите в позицию в направлении отклонения? 2) H(I-1) - L(I-1) + H(I-2) - L(I-2) ... Даст Вам волатильность на каждом tf (сгладьте любым способом), можно ATR, либо совсем классику Средне квадратичное отклонение, ведь все равно средние считаете! Но это позволит не просто 2% принимать , а оценивать порог в автомате, у одного тикера 2 мало , другой на 0.5 не ходит.
Это у меня то сложно? Вы тут не лопату бульдозер какай то описали, Чувствую мотивы Владимир, Вам лучше с ним поговорить. У меня только один Вопрос зачем 9 тайм фреймов? "Система трех экранов" хорошо описана А. Элдером в его книгах, много видео есть.
Владимир написал: Тяжело оценить оптимальность, поэтому её И НЕ НАДО оценивать.
Я тоже так думаю, но ведь мы можем это посмотреть в режиме симуляции, а бэктест возможно позволит оценить. Но это все проекты будущего, сейчас задача восстановить проверенный функционал программы.
Владимир, Я просто еще серьезно к этому не подошел, я перестраиваю программу для работы портфелем ( к стати во многом под Ваше влияние попал) , и у меня не работает программа "симулятор рынка" (бэктест), сейчас ей занимаюсь это первоочередное, без нее не могу дальше двигаться, но про это я уже говорил, и про свой подход, что все по порядку модулями.
Владимир написал: VPM, А я понятия не имею сколько контрактов я буду торговать на каждом тикере - знаю только, что величина эта переменная и зависит от текущего поведения рынка. Не знаю также, когда я эту сделку закрою и сколько на этом выиграю или проиграю. Да и не моё это собачье дело. А маневр ресурсами между тикерами (и даже между таймфреймами) - это самое эффективное вложение капитала. Предположим, один из моих тикеров вдруг подрос (допустим для простоты, что мы сидим только в лонгах), а второй в это же время упал. Скрипт тут же фиксанёт прибыль у первого и отдаст денежку второму. А на следующий день, наоборот, тот упадёт, а этот вырастет. Проделаем ту же операцию, и теперь мы снова сидим "при своих" по бумагам, а в кошельке копеечка прибавилась и от того, и от другого. Бывает, что и несколько тикеров временно подкармливают текущего неудачника, и это правильно: почти наверняка он всё вернёт с процентами. Таким образом, деньги перенаправляются туда, где они всего нужнее в данный момент.
Да Вы уже рассказывали про такой подход, я его "руками" даже практикую но это чисто интуитивно, Тяжело оценить оптимальность (какой - то параметр нужен). Ну к примеру до праздников золото росло, прятались от не стабильности на праздники, сейчас падает выходят из позиций по золоту, будут набираться другие. Интуитивно понятно что, торговать золото эффективней чем скажем, натуральный газ, (у меня по ним одинаковое количество в сделку), алгоритмически я не готов перекладываться, ломается принцип "Не потерять". Руками только золото, но при этом вести сделку.
Владимир написал: И как управляться даже с одним тикером, если торговать на нескольких таймфреймах?
Здесь смысл не торговать на всех одновременно, мы их оцениваем, а торговый у нас один. Такой подход называют "Система трех экранов", работает давно и достаточно хорошо.
Ну к примеру, Внутри дневная торговля, Смотрим D1 определяем какие то значимые уровни, (если крупняк набрал позицию и находится в ней, он ее будет зачищать), определяем тренд он главный в направлении его будем сделки открывать, Переходим на торговый допустим H1, сработал сигнал на открытие позиции, Переходим на младший допустим М1 определяем параметры сделки, т. входа, от нее определяем стоп.
Владимир, Если Вы промой подход, то я знаю до открытия сделки сколько контрактов я буду торговать на каждом тикере, знаю сколько пунктами рискую, и какой выигрыш закладываю. Я про это и говорю это часть планирования сделки! Ну смотрите, Если я сделку сопровождаю (визуально), если пошло что не по моему сценарию я ее закрою не буду дожидаться стоплос, лучше пере зайду. если все в порядке и цена дошла или больше 3RR а меня что то смущает я закрою 50% и перенесу стоплос в без убыток или выше. Это и есть стратегия сопровождения сделки, я ее еще делаю и алгоритмически она не донца формализована.
"Кошелек дробин на количество тикеров" Правильно читать; Капитал (рубли) дробин на количество тикеров: Кошелек [i] = какая - то доля[i] * Капитал; Свой кошелёк для каждой бумаги, какая - то доля[i] отвечает за долю Капитала в кошельке.
таймфрейм - отвечает также за планирование от старшего к младшему.
Владимир, Но мне думается что Вы в своем подходе не учитываете, то обстоятельство, что при торговле не работает принцип: "Чем больше контрактов в сделке тем больше прибыль?".
Подход называется "оптимальная фракция" (optF), и ее можно прикинуть,. Отвечает на вопрос, какой долей торговать, чтоб достигался максимальный результат, при минимальном риске?
Раз с математикой порядок, я говорю об одном методе мани менеджмента торговля постоянным лотом. Капитал 100 000 цена контракта 5 000 мах кол. контрактов 20к. риск на сделку 1000. кол контрактов в сделке 1к.
Стратегий риска достаточно, они опубликованы и есть из чего выбирать. Я веду беседу о своем подходе, который сейчас практикую, (есть другой), но это наиболее простой и понятный. Ранее эту тему уже пытался поднять, посмотрите чтоб нам говорить на одном языке (риск на день и риск на сделку).
Ну давайте обо всем и по порядку!
А) Стратегия входа это дельный модуль (отдельная тема), мы собрали какую - то стратегию, (ну простейшая в алгоритмическом плане, пересечение средних, пусть и у нас будет она). Вопрос встает как мы ее можем оценить, прежде чем на реал - бэктест.
Бэк тестирование должно ответить на вопросы а стратегия отвечать требованиям: 1) мат. ожидание стратегии(Торговой Системы) >0; 2) PF > 1.6; 3) %win > 40%; Если условие выполняются, сделки открываем, нет на "помойку".
Б) Поз. открыта встает вопрос управление позицией, (Где закрывать позицию?), который я делю на несколько стратегий. Стратегия определения риска на сделку это один из подходов. Если мы торгуем внутри дня то есть смысл работать со средне дневной волатильностью, среднесрочная с недельной. Второй ограничитель это наш кошелек. Отсюда и планируем риск на сделку (И это не вероятности - это пункты которые цена проходит). Конечно связано это с точкой входа, а точка входа зависит от тайм фрейма, чем ниже тайм фрейм, тем ниже волатильность, тем чётче можно защитить позицию. Это абсолютно, не значит, что нужно сидеть и ждать когда позиция пошла не в нашу сторону, когда нас акцептуют по стоплосу. Это просто стратегия которую мы прописываем и формализуем в виде кода. Цель защитить кошелек, а не ждать 99 убыточных сделок.
Владимир написал: Сделки НЕ МОГУТ "продолжаться разное время и превышать 1 день, или даже месяц".
Мне кажется, VPM под сделкой подразумевает удержание позиции от открытия до закрытия, а не сам факт покупки/продажи.
Цитата
VPM написал: но для меня важней соблюсти отношение риск к выигрышу, я уже говорил не ниже 1/3
Интересно, из каких соображений вы этот риск оцениваете. Ежли я что-нибудь в чем-нибудь понимаю, то риск - это величина потерь помноженная на вероятность эти потери поиметь. Т. е. подразумевается оценка апостериорных вероятностей наступления двух возможных исходов, причем не "когда-нибудь", а желательно в заданное время.
Ну конечно, сделка - это сделка нашей Торговой системы (а не брокера и биржи) ее мы оцениваем. Это любой переход из брутто в кэш, закрытие или изменение позиции в сделке.
Должен извиниться что ввел в заблуждение, у меня это по прицепу "сделал один раз и забыл". В моих программах - это написан класс, экземпляры которого я копирую от программе к программе, это просто удобно продумал структуру на писал методы, все в одном модуле, если переменная не нужна, делаем так (--), и не нужна гоняться за ней по в сему коду, есть еще один плюс такой подход очень по душе самому языку, в этом его мощь!
Не каких вероятностей, риск это та величина которой мы готовы рискнуть в случае нескольких проигрышей, и позволит нам осуществить свой торговый план без потерь, Практически это входной параметр Торговой Системы мы его задаем.
риск на сделку = кошелек * 0.01, те 1% от кошелька 99 не удачных сделок прежде чем мы не сможем торговать, согласитесь событие мало вероятное!
Владимир написал: С какого бодуна "всё считается к начальному капиталу"?
Чтобы оценить как работает торговая система за год, за месяц, за сделку. Это статистические данные торговой системы. Я у себя использую за сделку. 1) сделки могут продолжаться разное время и превышать 1 день, или даже месяц, а нужно к примеру сравнить 2 торговых стратегии и выбрать лучшую. 2) Это наиболее простой, полный логически понятный анализ. (Описывать не буду даю ссылку где лучше меня расскажут https://www.mesasoftware.com/papers/SystemEvaluation.pdf)
Владимир, Понятно вопрос я свой снимаю, проще самому разбираться чем тут все это описывать.
По порядку Ну прямо какой - то ликбез,
Цитата
Владимир написал: 1. Процент выигрыша к собственному капиталу НЕ зависит от количества контрактов в сделке.
Ну как не зависит? "пересчет в cash - для анализа по залогам" это и есть соизмерения кошель с "хочу"; Как Кому строить свой алгоритм, я не указываю!
Цитата
Владимир написал: 4. 1% в день - это 1.01 в 250-й степени! 1% в начале года совсем не такой, как в конце!
Ну какие разные все считается к начальному капиталу, если Вы про годовую оценку. Ну какая степень заработали "на полочку" складываем, можно и к степеням перейти, только нужно сделать перевод, перейти в расчеты HPR.
Владимир, Да я вспомнил мы обсуждали это уже, Вы говорили что историю не оцениваете, прогоняете реальные торги. С этим у меня порядок, я тоже так делаю у меня этот режим называется EXPERT, нет я о другом. Ни как не могу добиться стабильной работы на истории у себя я этот режим называю TEST. Суть следующая, квик хранит историю свечей разных тайм фреймах, я их прогоняю, делаю такую некую Симуляцию рынка (Симулятор) прошлых торгов, и мне нужны в каждый момент времени получить данные с разных тайм фреймах, казалось бы что сложного получил индекс вот тебе данные но тут и начинается вся свистопляска. Можете что посоветовать как синхронизировать получение данных с разных тайм фреймах?
Владимир написал: Ха-ха-ха! Ну у Вас и аппетиты! 1% в день - это 1000% годовых, про 3% даже и подумать страшно!
1% в день - это 250% годовых, из расчета 250 рабочих дней. И я имею ввиду не цель достижения как таковую, а средний годовой показатель Торговой Системы в целом.
Это из области сделал и забыл, Процент выигрыша к собственному капиталу зависит от количества контрактов в сделке, т.е. это валовый показатель.
При планировании сделок удобней пользоваться удельными показателями. Таким является риск на сделку. Считаем дневную волатильность ее и оцениваем. Задаем риск, каким капиталом рискуем 1% (100 сделок чтобы остаться без депозита), задаем коэффициент RR => 3, расчет выигрыша reward = risk * RR, дальше по схеме:
"Риск на сделку, здесь все просто. Сделаю метод для моего класса.
Все начинается с капитала. Размер имеет значение!
Задаю в % (от 1% - 10% заввисит от стратегии по умолчанию 2% (т.е. 50 сделок) пересчет в cash - для анализа по залогам; пересчет в pips - для анализа по валотильности.
На выходе: 1) risk на сделку. 2) reward на сделку. 3) contract на сделку."
При этом подходе определен Risk = 1%, Reward >= 3%, А главное в каждый момент времени вы знаете каким количеством торговать чтоб достичь заданных параметров на сделку! Выдерживая RR не ниже трех Ваш счет растет в геометрической прогрессии! Появляется понимание что нужно делать в той или иной ситуации!
А проценты будем считать в в начале нового года, "если есть что подвести".
Владимир, Вы меня не поняли, меня не интересуют Ваши торговые рекорды, я говорю что до момента торговли на реальном счете, как Вы оцениваете, может ли программа достичь результата заложенного в нее. Вы сказали оцениваете, так какие показатели формулы алгоритмы используете чем пользуетесь?
А цель нормальная, у меня тоже 1-3% вдень заложена, но для меня важней соблюсти отношение риск к выигрышу, я уже говорил не ниже 1/3, если соблюдаю мне все равно какой процент.
Владимир, Про то что мы себе на придумали, к постановке задачи не относится, вопрос стоит так: У Вас есть торговая система, только что собрали, Вы планируете вот то что Вы тут написали, Вопрос заключается а сможет ли система обеспечить эти результаты, и это нужно проверить до реальных торгов, формализовать в виде скрипта.
Формализация торговой задачи, молчу уже про окружение ее - совсем непростая задача на любом языке. В луа структура данных таблица, таблица - это половина дела к ОПП, создал структуру объекта, добавил необходимые методы, копируй по "образу и подобию". и так далее.
VPM написал: зачем отрицать сильные стороны языка, я не понимаю?
Затем, что инструмент надо выбирать по задаче. У трактора с плугом в 10 метров тоже есть сильные стороны, вот только чтобы грядку вскопать, лучше все же взять лопату - быстрее и проще, и соседский забор сносить не надо.
Ну вот и Вы туда же, никто ни кого не заставляет, нравится Вам лопатой на здоровье, я лишь говорю про возможности. Которые опробовал и привожу рабочие примеры, ну хоть кто бы пример обсудил.
Glukator, Все равно для чего, этим я лишь сказал что у него есть свои уникальные особенности отличные от других языков в этом его сила.
С Владимир, у нас старая дискуссия, и я у него тоже некоторые моменты перенял, согласен с Вами спасибо ему, я не говорю что так ненужно писать, так писали на заре и будут писать дальше, просто и понятно, но я не понимаю зачем отрицать сильные стороны языка, я не понимаю?
В моем случае первую задачу и закрыл Фреймворк, вторую пишу сам это именно то ради чего, и не вижу никаких проблем чтоб не обсуждать. Чтоб мы с Вами тут не наговорили, каждый наделает свои ошибки. Вы мне не соперник, нет узкие места бесспорно есть, и их публично никто не будет обсуждать.
Ну Вот Владимир, в своем амплуа. Язык другого нет. Не знание не освобождает от ответственности.
Постановка задачи для Вас непростительно не верна! Мало сделать "черный ящик", нужно чтоб он стабильно зарабатывал, увеличивал депозит. Вот Вам и постановка конкретной задачи, вот и покажите нам пример.
Glukator, Язык создан был под конкретную задачу, он от туда и вырос до современного. Чтоб более разобраться нужно посмотреть книгу профессора "Програмирование на Луа", это там где он рассказывает про ОПП. Здесь есть сообщения на эту тему, не хочется повторять ругаются что "пишем то да потому".
Да Фреймворк не для начинающих, сложноват в начале хотя написано 350 строк кода (но мне кажется Вы не новичок, что то я читал Ваше на другие темы).
Многозадачность - это сопрограммы, способ остановить код, сделать какую то задачу и вернуться в тоже место, где была остановка, продолжить выполнение.
А насчет конкретных задач пишите будем искать решения сообща, у меня их тоже масса не решенных и здесь не поспоришь Игорь М, занимаюсь ерундой.
Игорь М, А вы сами то о чем написали, хоть одно слово про код?
Пафоса много, а потом сами обижаетесь что все пустое, да и общаемся мы в одной ветке ни кому не мешаем, принцип здесь простой "не нравится запах отойди в сторону"!
Да код старый, такой старый что за это время лучшего никто не показал, напишите свой будем обсуждать Ваш.
Про "айсберг", чтоб этим алгоритмом пользоваться нужно 2 контракта. Про деньги у кого их не тот, тот их на бирже не сливает.
Ну и с арифметикой полный "пипец". Не достаточно таких средств под Ваши "аппетит" как минимум нужно умножить на 4, иначе счет будет перегружен.
Владимир, Ну от Вас не ожидал, под чем подписываетесь, что кого в школе научили "кодить", и они возомнили о себе что стали "супер - пупер" и не хотят развиваться.
Насчет правила , я Вам который раз пытаюсь объяснить, что прежде чем алгоритмы прятать в "черный ящик", нужно сделать понимание с чем имеем дело!
Glukator, Да встревайте конечно здесь не закрытый канал.
Видите в чем дело, чтоб раскрыть весь потенциал использования луа только так и нужно писать, я "не волшебник я только учусь" а хочется делать хорошо! Да я благодарен автору который знает как нужно делать хорошо, сделал - написал, выложил, разрешил пользоваться. А что это хорошо сделано, легко убедиться.
Задачи в торговле одни и те же, а как делать давайте обсуждать, мой подход это всего лишь один из множества.
Владимир написал: Короче: мы хотим торговать или заниматься онанизмом с "новыми возможностями"?
Именно торговать, а не скальпеть (скакать) на минутка по три минутки. Я достаточно торгую чтоб этим не заниматься. И это совсем не значит что я не торгую минутку, торгую если ситуация позволяет.
Цитата
Владимир написал: О, Господи! КОГДА "нужно держать позицию целый день (или несколько дней)"?! КОМУ? НА КОЙ?
Я сейчас руками так торгую (как и чем есть выше см. позиционная торговля), для того чтобы
Цитата
Владимир написал: заниматься чем угодно, не отвлекаясь на торговлю ВААПЩЕ.
Цитата
Владимир написал: Какие, в жопу, "ступенчатые заявки"?
Использую, когда не нарушены параметры моего риска на сделку, а цена сделала коррекцию, для добавления.
Цитата
Владимир написал: 99.999% трейдеров не имеют денег
Чтоб купить 1 контракт Fut Brent нужно 15000 рублей, чтоб депозит рос нужно соблюсти мат. правило торговать где в сделке есть потенциал не ниже 3/1 (Reward/risk).
Фреймворк подключен и мы про него забыли, не вспоминаем, а занимаемся торговыми решениями. К примеру не сложно реализовать ступенчатые заявки, такие как айсберг
if order.position == 0 then order:update(feed.last, 10) elseif order.position == 10 then order:update(feed.last, 20) end Trade()
Это весь код который мне нужно добавить в логику.
Закрыть позицию: order:update(feed.last, 0)
Вот реверс: if feed.last > ind[-2] then order:update(feed.last, 1) elseif feed.last < ind[-2] then order:update(feed.last, -1) end Trade()
Открыть и Закрыть позицию: repeat order:update(feed.bids[1].price, 3) Trade() until order.filled repeat order:update(feed.offers[1].price, 0) Trade() until order.filled
А Вы предложите что то другое, когда нужно держать позицию целый день (или несколько дней) , управлять ей, (переносить sl, закрыть часть, до набрать и другие торговые дела)
Владимир написал: Если я что-нибудь в чём-нибудь понимаю, на каждый тикер должен быть свой массив интервалов, а на каждый интервал свой массив свечей
Вы знаете другие примеры? Я этим лишь пользуюсь!
Цитата
Владимир написал: И за каким хером здесь нужны сопрограммы
В своем примере я это показал.
Цитата
Владимир написал: по-прежнему без понятия, как и что такое "умный ордер".
Вот уже 16 лист я рассказываю про один и тот же пример, (наверно плохо . но как умею не обессудьте), Но если Вы с вашим опытом не разобрались, то вероятно фреймворк HackTrade намного опережает свое время Мой совет, вместо моих комментариев, посмотрите сам код, уверяю Вас это намного интересней! Да и комментарии мои сводятся к одному из ..... возможных далеко не лучших (Но рабочих) применений.
Умные заявки. В данном разделе представлена реализация stateful-заявок, которые помнят своё внутреннее состояние и могут динамически принимать изменения параметров. Этот подход сильно отличается от традиционных лимитных заявок.
Заявка в фреймворке HackTrade представляет собой динамическую лимитную заявку с изменяемой ценой.
При этом также может меняться количество и даже направление. Главное, то нужно запомнить, 'умная заявка' будет пытаться набирать указанное количество лотов по заданной цене. Даже если вы снимите заявку торговой систем, SmartOrder породит новую и продолжить добирать заданное ранее количество (представьте, что SmartOrder - это заявка, которая гарантированно набирает зданный объём).
«умные заявки» избавляют от бесконечной отладки; можно наштамповать умных ордеров order1, order2… orderN и каждый умный ордер будет внутри себя отслеживать свою собственную позицию Каждая заявка помнит, сколько она набрала, и сколько надо скидывать. А если ей дать отрицательное значение, она войдёт в шорт (даже из логна с любым остатком). А если в шорте передадите 0, шорт закроется, причём тем объёмом, которым заявка успеет войти, когда будет переворачивать лонг.
Я использую такой подход, 'умная заявка' будет пытаться набирать указанное количество лотов если цена изменилась будет догонять, главное набрать заданную позицию.