Обсуждение статьи "Как обезопасить себя и своего эксперта при торговле на Московской бирже" - страница 7
![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Файл нужен для старта системы. Представьте, что у Вас 2 робота - один открыл бай на 1 лот, второй открыл селл на 1 лот по тому же символу. При старте терминала на счете позиций нет, а их на самом деле аж 2 штуки (это очень простой пример для иллюстрации - на самом деле там всё сильно сложнее). Парсинг истории - очень дорогое по времени удовольствие, особенно если копать глубоко.
Можно, наверное, и через глобальные переменные реализовать.
Ну я же пример для понимания привел, он условный.
Ещё один пример - широкий спред, низкая ликвидность - стою в стакане на 1000 объемом 5. Прилетела встречная лимитка объемом 100. Меня снесла и стала в стакан на цену 900. А я смотрю на неё и думаю - зачем я потратил неделю на реализацию торговли через лимитники :)
Я не "топлю" за рыночные ордера. Нужно пользоваться и теми и теми - всё от ситуации/стратегии зависит.
Мой посыл, что отмена комиссии за лимитные ордера на МОЕКС - это ещё не значит, что надо всем обязательно на лимитники переходить - проверять всё нужно и считать.
Если стратегия подразумевает логику входа "по рынку " то не надо переделывать стратегию, т.е. становиться в стакан лимиткой и ждать.
Надо просто имитировать рыночные приказы лимитками - например, выставить Buy limit на 1 шаг ниже Ask. И перевыставлять его периодически (не очень часто) при изменении Ask.
(хотя тут надо посчитать "Сбор за неэффективные транзакции" биржи. Но при работе не минимальными лотами и не сильно большим числом изменения ордеров все равно выгоднее лимитами получается. Но я пока не проверял :-)))
(хотя тут надо посчитать "Сбор за неэффективные транзакции" биржи. Но при работе не минимальными лотами и не сильно большим числом изменения ордеров все равно выгоднее лимитами получается. Но я пока не проверял :-)))
Сбор отменили.
Надо просто имитировать рыночные приказы лимитками - например, выставить Buy limit на 1 шаг ниже Ask. И перевыставлять его периодически (не очень часто) при изменении Ask.
Убегает цена часто... Очень сильно от момента зависит конечно и от стратегии...
Если стратегия подразумевает логику входа "по рынку " то не надо переделывать стратегию, т.е. становиться в стакан лимиткой и ждать.
Надо просто имитировать рыночные приказы лимитками - например, выставить Buy limit на 1 шаг ниже Ask. И перевыставлять его периодически (не очень часто) при изменении Ask.
(хотя тут надо посчитать "Сбор за неэффективные транзакции" биржи. Но при работе не минимальными лотами и не сильно большим числом изменения ордеров все равно выгоднее лимитами получается. Но я пока не проверял :-)))
Отменили на фьючерсах.
Я не представляю, как это свести к консенсусу. А тем более, как при этом видеть вклад каждой отдельной стратегии.
Можно, если представить что каждая система это индикатор выдающий три значения: -1, 0, +1. Помножаем выданный знак системы на алоцированную ей часть средств и получаем количество лотов которое нужно держать на рынке. Сумма лотов систем равна нетто позиции на символе. Если это не так, делаем ребаланс нетто позиции что бы сравнять оба показателя. Паралельно держим таблицу с транслируемыми объемами позиций по каждоц стратегии (индикативно). Понимаем какие куда стоят и каким сайзом. Если нетто-позиция равна сумме индикативных объемов по каждой стратегии, то значит все так и есть, каждый торгует по своему сигналу.
Можно, если представить что каждая система это индикатор выдающий три значения: -1, 0, +1. Помножаем выданный знак системы на алоцированную ей часть средств и получаем количество лотов которое нужно держать на рынке. Сумма лотов систем равна нетто позиции на символе. Если это не так, делаем ребаланс нетто позиции что бы сравнять оба показателя. Паралельно держим таблицу с транслируемыми объемами позиций по каждоц стратегии (индикативно). Понимаем какие куда стоят и каким сайзом. Если нетто-позиция равна сумме индикативных объемов по каждой стратегии, то значит все так и есть, каждый торгует по своему сигналу.
Нужна ещё обратная связь - "индикатору" нужно сообщить, почём открыта его поза. Если поза по его сигналу не открыта, то позже её, вероятно, открывать и не надо. Т.е., сигнал не уровнем, а импульсом.
Виртуальная торговля + синхронизация нетто-позиции со счетом.
Но получится примерно то же, что хранить данные каждой системы в файле или БД.
Виртуальная торговля + синхронизация нетто-позиции со счетом.
Но получится примерно то же, что хранить данные каждой системы в файле или БД.
Здесь задача делать все, что бы не хранить данные о состоянии стратегии. Простой пример: торгуем пересечение двух машек. Можно хранить уровень входа и направление в момент пересечения двух машек, а можно смотреть индикатор и выдавать знак по типу if(FastSma > SlowSma) return 1 else return -1. Понятно что стратегии бывают и посложнее, но на самом деле например в те же индикаторы можно запаковать невероятно много полезных состояний. Выглядить они конечно будут странно, но зато будут надежно проделывать большой объем работы.
Здесь задача делать все, что бы не хранить данные о состоянии стратегии.
Если у нас половину стратегии составляет хитрый нелинейный трейл, без хранения хотя бы его состояния не обойтись. И это состояние должно подхватываться после перезагрузки советника, МТ5, компа.
Если у нас половину стратегии составляет хитрый нелинейный трейл, без хранения хотя бы его состояния не обойтись. И это состояние должно подхватываться после перезагрузки советника, МТ5, компа.