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

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

Страницы: Пред. 1 2 3 4 5 6 7 8 9 10 11 12 ... 19 След.
Очереди и двойные очереди в луа, Пример из книги Р.Е.
 
Glukator,  Не совсем Вас понял,
1) Вы торгуете контр тренд, или входите в позицию в направлении отклонения?
2) H(I-1) - L(I-1) + H(I-2) - L(I-2) ... Даст Вам волатильность на каждом tf (сгладьте любым способом),
можно ATR, либо совсем классику Средне квадратичное отклонение, ведь все равно средние считаете!
Но это позволит не просто 2% принимать , а оценивать порог  в автомате, у одного тикера 2 мало , другой на 0.5 не ходит.
Очереди и двойные очереди в луа, Пример из книги Р.Е.
 
Это у меня то сложно?  :shock:
Вы тут не лопату бульдозер какай то описали, Чувствую мотивы Владимир, Вам лучше с ним поговорить.
У меня только один Вопрос зачем 9 тайм фреймов?
"Система трех экранов" хорошо описана А. Элдером в его книгах, много видео есть.
Очереди и двойные очереди в луа, Пример из книги Р.Е.
 
Цитата
Владимир написал:
Тяжело оценить оптимальность, поэтому её И НЕ НАДО оценивать.
Я тоже так думаю, но ведь мы можем это посмотреть в режиме симуляции, а бэктест возможно   позволит оценить.
Но это все проекты будущего, сейчас задача восстановить проверенный  функционал  программы.
Очереди и двойные очереди в луа, Пример из книги Р.Е.
 
Владимир,  Я просто еще серьезно к этому не подошел,
я перестраиваю программу для работы портфелем ( к стати во многом под Ваше влияние попал) ,
и у меня не работает программа "симулятор рынка" (бэктест), сейчас ей занимаюсь это первоочередное,
без нее не могу дальше двигаться, но про это я уже говорил, и про свой подход, что все по порядку модулями.
Очереди и двойные очереди в луа, Пример из книги Р.Е.
 
Цитата
Владимир написал:
VPM, А я понятия не имею сколько контрактов я буду торговать на каждом тикере - знаю только, что величина эта переменная и зависит от текущего поведения рынка. Не знаю также, когда я эту сделку закрою и сколько на этом выиграю или проиграю. Да и не моё это собачье дело. А маневр ресурсами между тикерами (и даже между таймфреймами) - это самое эффективное вложение капитала. Предположим, один из моих тикеров вдруг подрос (допустим для простоты, что мы сидим только в лонгах), а второй в это же время упал. Скрипт тут же фиксанёт прибыль у первого и отдаст денежку второму. А на следующий день, наоборот, тот упадёт, а этот вырастет. Проделаем ту же операцию, и теперь мы снова сидим "при своих" по бумагам, а в кошельке копеечка прибавилась и от того, и от другого. Бывает, что и несколько тикеров временно подкармливают текущего неудачника, и это правильно: почти наверняка он всё вернёт с процентами. Таким образом, деньги перенаправляются туда, где они всего нужнее в данный момент.
Да Вы уже рассказывали про такой подход, я его "руками" даже практикую но это чисто интуитивно,
Тяжело оценить оптимальность (какой - то параметр нужен).
Ну к примеру до праздников золото росло,  прятались от не стабильности на праздники,
сейчас падает выходят из позиций по золоту, будут набираться другие.  
Интуитивно понятно что, торговать золото эффективней чем скажем, натуральный газ,
(у меня по ним одинаковое количество в сделку), алгоритмически я не готов перекладываться, ломается принцип "Не потерять".
Руками только золото, но при этом вести сделку.
Очереди и двойные очереди в луа, Пример из книги Р.Е.
 
Цитата
Владимир написал:
И как управляться даже с одним тикером, если торговать на нескольких таймфреймах?
Здесь смысл не торговать на всех одновременно, мы их оцениваем,  а торговый у нас один.
Такой подход называют "Система трех экранов", работает давно и достаточно хорошо.

Ну к примеру, Внутри дневная торговля,
Смотрим D1 определяем какие то значимые уровни, (если крупняк набрал позицию и находится в ней, он ее будет зачищать),
определяем  тренд он главный в направлении его будем сделки открывать,
Переходим на торговый допустим H1, сработал сигнал на открытие позиции,
Переходим на младший допустим М1 определяем параметры сделки, т. входа, от нее определяем стоп.

Это примерный алгоритм как это работает.
Очереди и двойные очереди в луа, Пример из книги Р.Е.
 
Цитата
Владимир написал:
Как Вы собираетесь маневрировать ресурсами между тикерами (если вообще собираетесь)?
Пока ищу, пробую разные варианты, нет какого - то определенного подхода?
На мой взгляд это отдельная тема, и требует осмысления!  
Очереди и двойные очереди в луа, Пример из книги Р.Е.
 
Владимир,  Если Вы промой подход, то я знаю до открытия сделки сколько контрактов я буду торговать на каждом тикере,
знаю сколько пунктами рискую, и какой выигрыш закладываю.
Я про это и говорю это часть планирования сделки!
Ну смотрите, Если я сделку сопровождаю (визуально),
если пошло что не по моему сценарию я ее закрою не буду дожидаться стоплос, лучше пере зайду.
если все в порядке и цена дошла или больше 3RR  а меня что то смущает я закрою 50% и перенесу стоплос в без убыток или выше.
Это и есть стратегия сопровождения сделки, я ее еще делаю и алгоритмически она не донца формализована.

"Кошелек дробин на количество тикеров" Правильно читать; Капитал (рубли) дробин на количество тикеров:
             Кошелек [i] = какая - то доля[i]  * Капитал;
Свой кошелёк для каждой бумаги,
какая - то доля[i] отвечает за долю Капитала в кошельке.

таймфрейм - отвечает также за планирование от старшего к младшему.
Очереди и двойные очереди в луа, Пример из книги Р.Е.
 
Владимир,  Но мне думается что Вы в своем подходе не учитываете, то обстоятельство,
что при торговле не работает принцип: "Чем больше контрактов в сделке тем больше прибыль?".

Подход называется "оптимальная фракция" (optF),  и ее можно прикинуть,.
Отвечает на вопрос, какой долей торговать, чтоб достигался максимальный результат, при минимальном риске?
Очереди и двойные очереди в луа, Пример из книги Р.Е.
 
Владимир,  Я вообще не вижу здесь никакого противоречия?

Вот кусочек из моей принципиально схемы:

for i=1,#sec do ----  цикла по бумагам:              
           
             -- Система нескольких окон
              for j=1,#tf do ----  цикла по тайм фреймам
                   data[i][j]=algo(index, settigs)
                 -- В ТОМ ЧИСЛЕ Волатильность!
              end
           
              F[j]()    -- парад стратегий - генератор сигналов
             
              -- Кошелек дробин на количество тикеров:
              Кошелек [i] = какая - то доля[i]  * Капитал;

             торгует = Кошелек [i]  >= Цены Контракта [i]  or отдыхает;
Очереди и двойные очереди в луа, Пример из книги Р.Е.
 
Раз с математикой порядок,  я говорю об одном методе мани менеджмента торговля постоянным лотом.
Капитал 100 000
цена контракта 5 000
мах кол. контрактов 20к.
риск на сделку 1000.
кол контрактов в сделке 1к.
Очереди и двойные очереди в луа, Пример из книги Р.Е.
 
Glukator, - "Философия милейший - Эмпириокритицизм!"

Стратегий риска достаточно, они опубликованы и есть из чего выбирать.
Я веду беседу о своем подходе, который сейчас практикую, (есть другой), но это наиболее простой и понятный.
Ранее эту тему уже пытался поднять, посмотрите чтоб нам говорить на одном языке (риск на день и риск на сделку).

Ну давайте обо всем и по порядку!

А) Стратегия входа это дельный модуль (отдельная тема), мы собрали какую - то стратегию,
(ну простейшая в алгоритмическом плане, пересечение средних, пусть и у нас будет она).
Вопрос встает как мы ее можем оценить, прежде чем на реал - бэктест.

Бэк тестирование должно ответить на вопросы а стратегия отвечать требованиям:
1) мат. ожидание стратегии(Торговой Системы) >0;
2) PF > 1.6;
3) %win > 40%;
Если условие выполняются, сделки открываем, нет на "помойку".

Б) Поз. открыта встает вопрос управление позицией, (Где закрывать позицию?), который я делю на несколько стратегий.
Стратегия определения риска на сделку это один из подходов.
Если мы торгуем внутри дня то есть смысл работать со средне дневной волатильностью, среднесрочная с недельной.
Второй ограничитель это наш кошелек.
Отсюда и планируем  риск на сделку (И это не вероятности - это пункты которые цена проходит).
Конечно связано это с точкой входа, а точка входа зависит от тайм фрейма,
чем ниже тайм фрейм, тем ниже волатильность, тем чётче можно защитить позицию.
Это абсолютно, не значит, что нужно сидеть и ждать когда позиция пошла не в нашу сторону, когда нас акцептуют по стоплосу.
Это просто стратегия которую мы прописываем и формализуем в виде кода.
Цель защитить кошелек, а не ждать 99 убыточных сделок.
Очереди и двойные очереди в луа, Пример из книги Р.Е.
 
Цитата
Glukator написал:
Цитата
Владимир написал:
Сделки НЕ МОГУТ "продолжаться разное время и превышать 1 день, или даже месяц".
Мне кажется, VPM под сделкой подразумевает удержание позиции от открытия до закрытия, а не сам факт покупки/продажи.
Цитата
VPM написал:
но для меня важней соблюсти отношение риск к выигрышу, я уже говорил не ниже 1/3
Интересно, из каких соображений вы этот риск оцениваете. Ежли я что-нибудь в чем-нибудь понимаю, то риск - это величина потерь помноженная на вероятность эти потери поиметь. Т. е. подразумевается оценка апостериорных вероятностей наступления двух возможных исходов, причем не "когда-нибудь", а желательно в заданное время.  
Ну конечно, сделка - это сделка  нашей  Торговой системы (а не брокера и биржи) ее мы оцениваем.
Это любой переход из брутто в кэш, закрытие или изменение  позиции в сделке.

Должен извиниться что ввел в заблуждение, у меня это по прицепу "сделал один раз и забыл".
В моих программах - это написан класс, экземпляры которого я копирую от программе к программе,
это просто удобно продумал структуру на писал методы, все в одном модуле,
если переменная не нужна, делаем так (--), и не нужна гоняться за ней по в сему коду,
есть еще один плюс такой подход очень по душе самому языку, в этом его мощь!

Не каких вероятностей,
риск это та величина которой мы готовы рискнуть в случае нескольких проигрышей,
и позволит нам осуществить свой торговый план без потерь,
Практически это входной параметр Торговой Системы мы его задаем.

риск на сделку = кошелек * 0.01, те 1%  от кошелька 99 не удачных сделок прежде чем мы не сможем торговать,
согласитесь событие мало вероятное!
Очереди и двойные очереди в луа, Пример из книги Р.Е.
 
С Новым Годом!
Мирного неба над головой, здоровья ну и канечно профитов (со знаком +)!
Очереди и двойные очереди в луа, Пример из книги Р.Е.
 
Здесь осталось только добавить что есть "Оптимальное количество для торговли".
Очереди и двойные очереди в луа, Пример из книги Р.Е.
 
Цитата
Владимир написал:
С какого бодуна "всё считается к начальному капиталу"?
Чтобы оценить как работает торговая  система за год, за месяц, за сделку. Это статистические данные торговой системы.
Я у себя использую за сделку.
1) сделки могут продолжаться разное время и превышать 1 день, или даже месяц,
а нужно к примеру сравнить 2 торговых стратегии и выбрать лучшую.
2) Это наиболее простой, полный логически понятный анализ.
(Описывать не буду даю ссылку где лучше меня расскажут https://www.mesasoftware.com/papers/SystemEvaluation.pdf)
Очереди и двойные очереди в луа, Пример из книги Р.Е.
 
Цитата
Владимир написал:
1. Процент выигрыша к собственному капиталу НЕ зависит от количества контрактов в сделке.
Капитал 100руб
Выигрыш = 1руб

Вариант 1 Торгуем 1 контрактом
1*1=1; 1/100 = 1%
Вариант 2 Торгуем 3 контрактоми
1*3=3; 1/100 = 3%
Очереди и двойные очереди в луа, Пример из книги Р.Е.
 
Владимир, Понятно вопрос я свой снимаю, проще самому разбираться чем тут все это описывать.

По порядку Ну прямо какой - то ликбез,
Цитата
Владимир написал:
1. Процент выигрыша к собственному капиталу НЕ зависит от количества контрактов в сделке.
Ну как не зависит?
"пересчет в cash - для анализа по залогам" это и есть соизмерения кошель с "хочу";
Как Кому строить свой алгоритм, я не указываю!


Цитата
Владимир написал:
4. 1% в день - это 1.01 в 250-й степени! 1% в начале года совсем не такой, как в конце!
Ну какие разные все считается к начальному капиталу, если Вы про годовую оценку.
Ну какая степень заработали "на полочку" складываем,
можно и к степеням перейти, только нужно сделать перевод, перейти в расчеты HPR.

По 5 пункту я сказал что у меня все работает.
Очереди и двойные очереди в луа, Пример из книги Р.Е.
 
Владимир,  Да я вспомнил мы обсуждали это уже, Вы говорили что историю не оцениваете, прогоняете реальные торги.
С этим у меня порядок, я тоже так делаю у меня этот режим называется 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,
если соблюдаю мне все равно какой процент.
Очереди и двойные очереди в луа, Пример из книги Р.Е.
 
Владимир,  Ну так Вы не слова не сказали про то как и чем оцениваете результат.
Очереди и двойные очереди в луа, Пример из книги Р.Е.
 
Владимир,  Про то что мы себе на придумали,  к постановке задачи не относится, вопрос стоит так:
У Вас есть торговая система, только что собрали, Вы планируете вот то что Вы тут написали,
Вопрос заключается а сможет ли система обеспечить эти результаты, и это нужно проверить до реальных торгов,
формализовать  в виде скрипта.
Очереди и двойные очереди в луа, Пример из книги Р.Е.
 
Формализация торговой задачи, молчу уже про окружение ее - совсем непростая задача на любом языке.
В луа структура данных таблица, таблица - это половина дела к ОПП, создал структуру объекта, добавил необходимые методы,
копируй по "образу и подобию". и так далее.
Очереди и двойные очереди в луа, Пример из книги Р.Е.
 
Цитата
Glukator написал:
Цитата
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

Мы сами можем писать какую угодно логику.
Очереди и двойные очереди в луа, Пример из книги Р.Е.
 
Цитата
VPM написал:
Цель непонятна.
А Вы предложите что то другое,
когда нужно держать позицию целый день (или несколько дней) ,
управлять ей, (переносить sl, закрыть часть, до набрать и другие торговые дела)
Очереди и двойные очереди в луа, Пример из книги Р.Е.
 
Владимир, Это всего лишь возможности, а пользоваться ими или нет, решает каждый для себя сам.

Сам фреймворк стабилен без фокусов, написан супер профессионально,
избавил меня от множества хлопот, и предоставил множество удобных возможностей.  
Очереди и двойные очереди в луа, Пример из книги Р.Е.
 
Возвращаясь к вопросу
Цитата
Владимир написал:
И за каким хером здесь нужны  сопрограммы
Это я Вам должен задавать такие, вопросы!

Я этим лишь пользуюсь, для чего?  
Из одного потока делаю два логических с разным временим исполнения.
Для решения своих задач.
Очереди и двойные очереди в луа, Пример из книги Р.Е.
 
Цитата
Владимир написал:
Если я что-нибудь в чём-нибудь понимаю, на каждый тикер должен быть свой массив интервалов, а на каждый интервал свой массив свечей
Вы знаете другие примеры? Я этим лишь пользуюсь!
Цитата
Владимир написал:
И за каким хером здесь нужны  сопрограммы
В своем примере я это показал.
Цитата
Владимир написал:
по-прежнему без понятия, как и что такое "умный ордер".
Вот уже 16 лист я рассказываю про один и тот же пример, (наверно плохо . но как умею не обессудьте),
Но если Вы с вашим опытом не разобрались, то вероятно фреймворк HackTrade намного опережает свое время :smile:
Мой совет, вместо моих комментариев,  посмотрите сам код, уверяю Вас это намного интересней!
Да и комментарии мои сводятся к одному из ..... возможных далеко не лучших (Но рабочих) применений.

Цитата
Владимир написал:
что такое "умный ордер".
Пару слов со своей стороны:

Умные заявки. В данном разделе представлена реализация stateful-заявок, которые помнят своё внутреннее состояние
и могут динамически принимать изменения параметров.
Этот подход сильно отличается от традиционных лимитных заявок.

Заявка в фреймворке HackTrade представляет собой динамическую лимитную заявку с изменяемой ценой.

При этом также может меняться количество и даже направление.
Главное, то нужно запомнить, 'умная заявка' будет пытаться набирать указанное количество лотов по заданной цене.
Даже если вы снимите заявку торговой систем,
SmartOrder породит новую и продолжить добирать заданное ранее количество
(представьте, что SmartOrder - это заявка, которая гарантированно набирает зданный объём).

«умные заявки» избавляют от бесконечной отладки;
можно наштамповать умных ордеров order1, order2… orderN
и каждый умный ордер будет внутри себя отслеживать свою собственную позицию
Каждая заявка помнит, сколько она набрала, и сколько надо скидывать.
А если ей дать отрицательное значение, она войдёт в шорт (даже из логна с любым остатком).
А если в шорте передадите 0, шорт закроется,
причём тем объёмом, которым заявка успеет войти, когда будет переворачивать лонг.

Я использую такой подход,
'умная заявка' будет пытаться набирать указанное количество лотов если  цена изменилась будет догонять, главное набрать заданную позицию.

Про это я делал сообщения в самом начале.
Помогите в написании скрипта, Помощь в написании скрипта
 
МихаилСМ, Вы посмотрите по сайту. здесь столько подобных примеров на луа.
Очереди и двойные очереди в луа, Пример из книги Р.Е.
 
Цитата
Владимир написал:
А все эти "правила на сделку, расчёт количества, подача заявок, стратегии входа и выхода давно прошиты в алгоритмах
Про модульность выше есть большой блок мы обсуждаем с Nikolay, просто не хочется повторяться.
Но если что то не понятно или не согласны готов обсудить.

Цитата
Владимир написал:
Ну, код-то я уж точно смотреть не буду.
Я не понимаю почему Вы не читаете код, ведь иногда горазда проще показать, чем на 100 страниц описывать!
Очереди и двойные очереди в луа, Пример из книги Р.Е.
 
Владимир, Это не код, я хотел показать принципиальную схему своей программы.
тут много чего нет. но принципиально это так, хотя и с ошибками (поторопился).

Вот пояснения:
sec - это массив тикеров чем торгуем:
tf    - это массив интервалов (такт) откуда берем информацию.

while working do -- основной цикл программы
    --исполнение идет с задержкой
    sleep(950) -- тормозим чтоб космосе очутиться!    
end

 Внутри этого цикла есть сопрограмма
-- Вызов сопрограммы.
         Trade() -- 2) основная функция  - псевдоним стандартной функции coroutine.resume,  осуществляет торговых операции

И так Программа бегает в 2 циклах, по двум массивам sec, tf получая данные.
по выходу из цикла tf формируется сигнал, если он отвечает правилу допустив открытию позиции,
то будет сформирован ордер на покупку (умный ордер и это не для красного словца).

Когда будет управление перейдет к сопрограмме  у нее есть внутренний цикл вот он, и у него не задержки, он выполняется на что луа способна!

for trans_id, smartorder in pairs(SmartOrder.pool) do  smartorder:process() end
Очереди и двойные очереди в луа, Пример из книги Р.Е.
 
Владимир,  Я уже несколько раз отвечал на этот вопрос, вот накидал может так понятней будет.
Текущая реализация программы сейчас  принципиально выглядит так:
Код
dofile("hacktrade.lua")  -- подключаю основной модуль HackTrade (движок)

function Robot() -- 1) основная функция
        -----
        1) Инициализация (~) 
        2) Получение констант
        3) Предварительные расчеты
        4) симулятор фона на истории

     while working do -- основной цикл

         local (~)
         local data={}
 
         for i=1,#sec do ----  цикла по бумагам:
               -- Система нескольких окон
               for j=1,#tf do ----  цикла по тайм ремам
                    data[i][j]=algo(index, settigs)
               end
             
               F[j]()    -- парад стратегий - генератор сигналов
               rule={}   -- Вырабатываем правила на сделку (открт, закрытие, sl, tp и тд)
               rm={}     -- определение риска на сделку, расчет цели; 
               q = mm.calc()     -- расчет количества на сделку исходя из правил уставленных риск менеджером и допустимой суммы.
              
               -- Если выполнено правило формирую умный ордер на сделку
               if rule.open_pos or rule.close_pos or rule.sl or rule.open_pos then
                    p = price.last     -- получаем предварительную цену на сделку
                    SmartOrder( p, q ) -- формирую умный ордер на сделку
               end
          end

          -- Вызов сопрограммы.
          Trade() -- 2) основная функция  - псевдоним стандартной функции coroutine.resume,  осуществляет торговых операции
          
         for i=1,#sec do
                pos={} -- получаем позицию по инструменту
                -- если сделка обрабатываю результат
          end

         sleep(950) -- тормозим чтоб космосе очутиться!
     end
     --Сохраняем
     --Закрываем  
end

Вопрос с модульностью решен,
     - пишем свои стратегии входа, 
     - стратегии выхода,
     - управление позицией,
     - управление риском,
     - алгоритмы.
 Все независимо! Собираем все в Торговую Систему!
Очереди и двойные очереди в луа, Пример из книги Р.Е.
 
Цитата
Владимир написал:
Не понимаю: ЧТО "классно"? Менять время исполнения скрипта не прибегая к сторонним языкам? Что это такое и на кой это нужно?
Я выше привожу пример как делаю это у себя.  
Очереди и двойные очереди в луа, Пример из книги Р.Е.
 
Цитата
VPM написал:
"Таблицы в Lua — это не одна из структур данных, — это единственная структура данных."
В том числе и модуль, но с этим мы уже разбирались.
Очереди и двойные очереди в луа, Пример из книги Р.Е.
 
И так в своих рассуждениях мы подошли к большой теме формализация - "Ценового действия" (Price Action).

Но прежде чем о нем говорить, нужно формализовать участников торгов, с кем мы дело имеем, их можно представить в виде 3 основных групп:

1) Ну конечно "Маркетмейкер";
2) Это крупный игрок - "SmartMoney" (есть сериал американский "Миллиарды" кому интересно с чем дело имеем посмотрите);
3) Нас по разному называют, не хочется повторять, но по смыслу это "толпа", небольшие разрозненные депозиты, пища для двух первых.
Очереди и двойные очереди в луа, Пример из книги Р.Е.
 
Цитата
Владимир написал:
В принципе, внутри одной задачи может быть несколько "процессов" - каждый из них тоже не знает друг о друге. Если угодно, это подзадачи.
Ну вот наконец то - "это подзадачи" внутри общей глобальной задачи.

Я никого не призываю так делать, я говорю что есть возможность!
Что одна из этих возможностей менять время исполнения скрипта не прибегая к сторонним языкам!
Ну согласитесь что классно!
Цитата
Владимир написал:
У всех нормальных программистов "подход модульность". В частности, у последней версии моего скрипта 28 модулей, то бишь функций.
В Луа модуль - это не тоже что функция, но я не про это, я про разделение задач, что переделывая один модуль, не нужно переделывать всю программу.
Очереди и двойные очереди в луа, Пример из книги Р.Е.
 
Владимир,  Нужно называть вещи своими именами:
Цитата
Это задача алгоритма. А моя задача как трейдера - запустить скрипт и отойти в сторонку.
В таком подходе Вы не трейдер, Вы "кнопочник", (я Вас совсем не хочу обидеть, это просто формализация Вашего подхода).
Очереди и двойные очереди в луа, Пример из книги Р.Е.
 
Не давно посмотрел фильм "дурные деньги", кто не видел посмотрите,
это рассказ о том как частный трейдер организовав канал общения, держал позицию против хедж фонда.
История поучительная.
Очереди и двойные очереди в луа, Пример из книги Р.Е.
 
Простите допустил неточность (опять самомнение):
Цитата
VPM написал:
Подойдите к зеркалу, что там увидите - маркетмейкер, это вторая сторона нашей сделки!
Уточнение. Это мы сторона их сделки. это их бизнес! :smile:  
Страницы: Пред. 1 2 3 4 5 6 7 8 9 10 11 12 ... 19 След.
Наверх