У вас не стоит Flash Player
Настройки
#83823 - Tue Sep 11 2018 02:10 PM Мувинг с дневок при реальной торговле на минутках
RobinBobin Offline
stranger

Registered: Sat Jul 26 2014
Записи: 8
Добрый день. Обращаюсь к уважаемому сообществу за помощью. Торгуют несколько агентов на интервале 1м. Стоит ограничение макс.баров для скорости. В расчётах входов используется SMA81 с дневного интервала. Для этого написан агент на дневках передающий значение мувинга ботам на минутках через кубик сохранения в глобальном кеше и считывается через обратный кубик получения из кеша. Проблема в том, что у этих кубиков нет истории значений, т.е. значение доступно только сегодня. Вчерашнего значения нет и если агент вошел вчера с этим условием входа, то сегодня выхода не будет, т.к. вход исчезнет. Есть ли способ получить вчерашнее значение переменной из глобального кеша, либо вообще решить мою задачу иным способом. Скрипт расчёта и передачи мувингов прилагаю.


Attachments
ALLSMA.tscript (97 downloads)


Наверх
#83824 - Tue Sep 11 2018 06:19 PM Re: Мувинг с дневок при реальной торговле на минутках [Re: RobinBobin]
Stan Offline
veteran

Registered: Wed Oct 02 2013
Записи: 1357
Зачем в такие дебри лезть при обычных мувингах. Так как у вас расчет идет не на тиках, то о скорости можно просто забыть! Потому как оператива уходит оочень сильно при расчете от тиков и там индикаторы типа боковые объемы! Поэтому проще загрузить пару недель минуток и будем Вам счастье!

Наверх
#83825 - Tue Sep 11 2018 09:26 PM Re: Мувинг с дневок при реальной торговле на минутках [Re: Stan]
Rezident Offline
old hand

Registered: Wed Oct 12 2011
Записи: 742
Loc: Россия
Либо использовать секундный ТФ. 1 минута=60 секундам, в этом случае секундный кеш пишется в память.

Наверх
#83826 - Tue Sep 11 2018 11:58 PM Re: Мувинг с дневок при реальной торговле на минутках [Re: Stan]
RobinBobin Offline
stranger

Registered: Sat Jul 26 2014
Записи: 8
Видимо вы меня не совсем правильно поняли. Мне нужно рассчитать 81-й мувинг на дневном интервале. Для этого надо 81 день минутных баров. Это 1440*81=116640 баров. Сейчас мне для работы агентов достаточно 15000-20000 баров. Это замедлит расчёт скрипта в 5-6 раз с текущих 10-20мс до 50-100мс.
Я нашел способ передавать рассчитанные значения на дневном фрейме между скриптами, но мне не хватает истории значений, а именно вчерашнего значения. Значения переданные через глобальный кеш не индексируются в прошлое. Я ищу такой способ.

Наверх
#83827 - Wed Sep 12 2018 09:27 AM Re: Мувинг с дневок при реальной торговле на минутках [Re: RobinBobin]
Rezident Offline
old hand

Registered: Wed Oct 12 2011
Записи: 742
Loc: Россия
Странно, анализируете дневки и тем более мувинг, а пересчёты зажимаете до 10 мс. Пипсолов прямо.Такой фигнёй обычно на форексе народ страдает. Вы видать от туда сюда пришли или я ошибаюсь?


Отредактировано Rezident (Wed Sep 12 2018 09:34 AM)

Наверх
#83828 - Wed Sep 12 2018 10:37 AM Re: Мувинг с дневок при реальной торговле на минутках [Re: Rezident]
RobinBobin Offline
stranger

Registered: Sat Jul 26 2014
Записи: 8
Вы ошибаетесь, скорость расчёта скрипта прямо влияет на скорость выставления заявок и их место в очереди. Это в свою очередь влияет на получаемый объем входа по заданной цене - фактически на проскальзывание. А проскальзывание - это деньги из нашего кармана. Люди не спроста платят за DMA - это позволяет существенно нарастить объём торговли не увеличив проскальзывание.

Наверх
#83829 - Wed Sep 12 2018 11:16 AM Re: Мувинг с дневок при реальной торговле на минутках [Re: RobinBobin]
Stan Offline
veteran

Registered: Wed Oct 02 2013
Записи: 1357
Вы абсолютно не понимаете о чем говорите. вы вме в кучу смешали, поэтому и создается порой впечатления новичка, пришедшего с форекса. скорость выставления заявок в первую очередь зависит от скорости работы сервера брокера, а не каких то там технологий Dma, как вы выразились, также от качества интернета, именно качества, также от подключения к бирже через какой канал( обычный или прямой шлюз), от компьютера зависит только его удаленность от биржи или серверов брокера, ну а скорость обработки полученной инфы самого компа это косвенно.
просто вы напрямую углубленно не занимались этим вопросом. Про обьем я честно не понял что вы имели ввиду! если об объеме заяаки , уверяю вас заявкой в 7 лот вы уже будете иметь проблемы со входом на ликвидном инструменте. потому что у меня был такой печальный опыт, когда я занимался проектированием скальперов.

Наверх
#83830 - Wed Sep 12 2018 11:50 AM Re: Мувинг с дневок при реальной торговле на минутках [Re: RobinBobin]
Rezident Offline
old hand

Registered: Wed Oct 12 2011
Записи: 742
Loc: Россия
Да, убеждаюсь, опыта Вам не достаёт. Я с 2008 года в рынке и могу дать простой совет: лучше синица в руке, чем журавль в небе. Подумайте над этим. Всех денег не заработать, особенно физлицу, а рассчитывать на то , что Вы точечно будете брать лучшую цену на нужный Вам объём денег и так же точечно продавать по лучшей цене-утопия. Скальпинг-это в стойке серверов прямо на бирже, денег хватит оплатить такую инфраструктуру? Если не хватит, то самое правильное задуматься над тем, как определить оптимальную точку открытия позиции, её время, объём, длительность, достоверность и т.д. А не ловить пипсы, в надежде успеть хапнуть и ноги унести. Не долго живут такие, я имею ввиду торгуют, т.к. железных Феликсов тут нет, люди тут, с их слабостями и недостатками.
Суть написанного мной нужно расценивать как совет пересмотреть свою концепцию, в ТСлабе нужно попроще всё делать, во-первых надёжнее, во-вторых: быстрее будете понимать -работает ваша система или уже приплыла в конечную точку, мувинг не самый лучший вариант.


Отредактировано Rezident (Wed Sep 12 2018 12:02 PM)

Наверх
#83831 - Wed Sep 12 2018 01:18 PM Re: Мувинг с дневок при реальной торговле на минутках [Re: Rezident]
RobinBobin Offline
stranger

Registered: Sat Jul 26 2014
Записи: 8
Вы меня конечно извините, но я задал конкретный вопрос и пока увидел только советы в других областях. Торгую давно, роботов много, доходность хорошая, объёмы входа далеко больше 7 -ми контрактов. И не только тслабом торгую, сейчас просто смотрю, возможно ли его применить для моих конкретных задач. Я уж точно не скальпер. DMA - Direct Mode Access. Это как раз прямой доступ к бирже - плаза2, фикс, твайм. Про все задержки в цепочке я знаю и в данном конкретном случае пытаюсь уменьшить одну из них. Мувинги используются косвенно, не для решения о входе, просто часть системы, но их все равно надо рассчитывать.
Кто нибудь мне может подсказать по моему конкретному вопросу, а не учить меня торговать?

Наверх
#83832 - Wed Sep 12 2018 01:23 PM Re: Мувинг с дневок при реальной торговле на минутках [Re: RobinBobin]
Rezident Offline
old hand

Registered: Wed Oct 12 2011
Записи: 742
Loc: Россия
Мы не учим, мы помогаем. Проблема в том, что при постановке неконкретной задачи, т.е. без детального описания сути,как у Вас,дать исчерпывающий ответ либо невозможно, либо затруднительно. Если правильно понимаю суть вашей проблемы, то воспользуйтесь сжатием минутных данных до нужного Вам формата, а сделки совершайте на минутках.На сжатых, стройте мувинги и прочее, что нужно. Ну и с другой стороны, Вы хотите рассчитать 81 дневный мувинг на обрезанной до нескольких дней истории! Вы верите в достоверность такого? Решайте проще, не режьте историю и не зацикливайтесь на скорости пересчёта, ставьте интервал +сделка, либо расширяйте описание задачи, чтобы советы , как Вы хотите были дельными, либо ищите окольный путь решения проблемы, раз в лоб не выходит.


Отредактировано Rezident (Wed Sep 12 2018 01:59 PM)

Наверх
#83833 - Wed Sep 12 2018 02:04 PM Re: Мувинг с дневок при реальной торговле на минутках [Re: Rezident]
RobinBobin Offline
stranger

Registered: Sat Jul 26 2014
Записи: 8
То что вы предлагаете, я реализовал в первую очередь и для таких расчетов, как я писал выше нужно 116640 минутных баров. Это и замедляет работу скрипта. Для обхода этой проблемы я написал скрипт,приложенный к первому посту. Он работает на дневном интервале и очень быстро рассчитывает мне все нужные мувинги. Далее он через глобальный кеш передаёт рассчитанные значения мувингов всем остальным скриптам. Проблема в том, что передаёт он только последнее значение, без побарной истории в прошлое. Т.е. передает не массив значений, который можно проиндексировать, а только последнее. Конкретный вопрос - как получить значение переменной переданной через глобальный кеш за прошлый период [i-1], вчерашнее значение, т.к. интервал дневной. Если это невозможно, то как организовать обмен данными между скриптами через файл например, с помощью кубиков, не влезая в дебри АПИ, либо здесь есть готовый код на форуме. Форум прошерстил, решения своей задачи не нашел. Как ещё подробней и конкретней расписать, я не знаю. Заранее спасибо за конкретные ответы.

Наверх
#83834 - Wed Sep 12 2018 03:24 PM Re: Мувинг с дневок при реальной торговле на минутках [Re: RobinBobin]
Rezident Offline
old hand

Registered: Wed Oct 12 2011
Записи: 742
Loc: Россия
Давайте по порядку и без обид.
Вы пишите , что нельзя получить данные через глобальный кеш, т.к. используется последнее!!! известное значение. Тогда вопрос: зачем Вы это делаете?
Если невозможно передать некие данные в каждый, нужный Вам скрипт, то создавайте эти данные в каждом конкретном скрипте. Решение не обязательно может и должно быть изящным. Почему Вы думаете, что ТСлаб обязан дать Вам готовое на блюдечке аппаратное решение, заметьте-любой произвольной задачи!?
Если не получается решать в том виде, как видится Вам в данный момент, то инженеры, например, используют решения компромиссные, т.е. по принципу выделения главной цели. Если цель уменьшить период пересчёта, то несите расходы по железу, но при этом используйте имеющийся функционал ТСЛаба.
В любом случае, в споре Вы можете прийти к выводу , что первоначальная постановка задачи была неверна, есть иные способы и ими можно воспользоваться.

Наверх
#83835 - Wed Sep 12 2018 04:56 PM Re: Мувинг с дневок при реальной торговле на минутках [Re: Rezident]
RobinBobin Offline
stranger

Registered: Sat Jul 26 2014
Записи: 8
Никаких обид конечно. Спасибо, что отвечаете. Просто многие вещи в тс лабе не до конца документированы. Поэтому и спрашиваю здесь, возможно кто-нибудь уже решал сходную задачу. Возможно я что-то упустил. Согласен, что в спорах рождается истина. В нашем деле гибкость мышления очень важна. Поэтому и пытаюсь найти параллельно другие пути решения задачи, так и принципиально другие подходы.
По сути мне нужен класс индексируемых глобальных переменных видимых всем скриптам, как в QLUA например. Или статических переменных, как в амиброкере. Понятно, что все это есть под АПИ, но пока не собирался в это углубляться, предчувствуя, что понадобиться немало времени. Думал есть более простые решения, но я о них не знаю.

Наверх
#83836 - Wed Sep 12 2018 05:35 PM Re: Мувинг с дневок при реальной торговле на минутках [Re: RobinBobin]
Rezident Offline
old hand

Registered: Wed Oct 12 2011
Записи: 742
Loc: Россия
В ТСлабе своя философия визуального редактора, от всех остальных, Луа и прочих придётся отвыкать. Тут всё проще.

Наверх
#83837 - Wed Sep 12 2018 06:34 PM Re: Мувинг с дневок при реальной торговле на минутках [Re: RobinBobin]
ViL Offline
TSLab
Carpal Tunnel

Registered: Sun Oct 17 2010
Записи: 8139
Originally Posted By: RobinBobin
Добрый день. Обращаюсь к уважаемому сообществу за помощью. Торгуют несколько агентов на интервале 1м. Стоит ограничение макс.баров для скорости. В расчётах входов используется SMA81 с дневного интервала. Для этого написан агент на дневках передающий значение мувинга ботам на минутках через кубик сохранения в глобальном кеше и считывается через обратный кубик получения из кеша. Проблема в том, что у этих кубиков нет истории значений, т.е. значение доступно только сегодня. Вчерашнего значения нет и если агент вошел вчера с этим условием входа, то сегодня выхода не будет, т.к. вход исчезнет. Есть ли способ получить вчерашнее значение переменной из глобального кеша, либо вообще решить мою задачу иным способом. Скрипт расчёта и передачи мувингов прилагаю.

Полагаю, что можно решить.
Но для решения нужно будет немного загрузить рабочие агенты.
Вот у Вас есть в скрипте формула SMA81_1 она отдает предыдущее значение, следовательно можно вытащить в кеш неколько значений, такое количество, сколько Вы полагаете максимально будет существовать позиция.
А в рабочем агенте можно использовать Дату входа и текущую дату. В блоке формула можно написать if then else таким образом:
ДатаВхода==Дата ? Глобал1 : ДатаВхода+Значение1(посмотрите с выводом на график как даты меняются) == Дата ? Глобал2 : ДатаВхода+Зачение2 == Дата ? Глобал3 : Глобал4
Это не пример, а принцип возможного решения, исходя из тех данных, что даете.

Наверх
#83838 - Wed Sep 12 2018 07:21 PM Re: Мувинг с дневок при реальной торговле на минутках [Re: ViL]
RobinBobin Offline
stranger

Registered: Sat Jul 26 2014
Записи: 8
Спасибо, попробую. Отпишусь по результатам.

Наверх
#83840 - Thu Sep 13 2018 02:21 PM Re: Мувинг с дневок при реальной торговле на минутках [Re: RobinBobin]
RobinBobin Offline
stranger

Registered: Sat Jul 26 2014
Записи: 8
Всем спасибо, свой вопрос я закрыл, но совершенно иным способом. Начав сравнивать даты я понял, что это дело неблагодарное, однако подсказка по использованию даты сделки навела меня на мысль, что в тслабе есть флаги работы с реальными позициями, а не с расчетными. В итоге просто добавив проверку на наличие активной позиции я решил вопрос с переносом сигналов входа на другой день. Для реальной торговли это отличное решение, а для тестов скорость расчета не важна и все мувинги считаются внутри скриптов.

Наверх


Moderator:  ViL, sar