Обсуждение статьи "Как обезопасить себя и своего эксперта при торговле на Московской бирже" - страница 6

 
Vasiliy Sokolov #:

С файлом Вы все-таки зря. Постарайтесь использовать базу вместо файла. Мы действительно активно исопльзовали файлы в прошлом десятилетии, когда нативной возможности работы с базой не было. Сейчас все эти usage cases устарели.

Насчёт базы - в принципе, интересно. Но не SQLite, а PostgreSQL или MySQL.

 
Встроенная база имеет свои преимущества: нативная поддержка, торговый комплекс проще разворачивать на vps. Локальная это тоже плюс для небольших задач. По сути просто работаем с локальным файлом. Простота использвания. Большие полноценные базы безусловно тоже имеют место, но наверное для чего-то более сложного. Плюс придется писать свой драйвер для mql. Это то еще удовольствие.
 
Vasiliy Sokolov #:
Встроенная база имеет свои преимущества: нативная поддержка, торговый комплекс проще разворачивать на vps. Локальная это тоже плюс для небольших задач. По сути просто работаем с локальным файлом. Простота использвания. Большие полноценные базы безусловно тоже имеют место, но наверное для чего-то более сложного. Плюс придется писать свой драйвер для mql. Это то еще удовольствие.

Встроенная - если она маленькая.

А если роботов (включая тестовых) под 10000 и каждый хранит позу, ордера, статистику, текущий уровень стопа и т.п. - едва ли справится.

 
Vasiliy Sokolov #:

С файлом Вы все-таки зря. Постарайтесь использовать базу вместо файла. Мы действительно активно исопльзовали файлы в прошлом десятилетии, когда нативной возможности работы с базой не было. Сейчас все эти usage cases устарели.

Мне с файлом тоже не очень нравится, но по факту он нужен только для запоминания крайней точки от которой потом идет поиск по базе сделок в истории счета (чтобы не ковырять всю историю). Как руки дойдут - переделаю, просто с базами не работал через MQL - надо разбираться.

 

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

Обсуждение статьи "Как обезопасить себя и своего эксперта при торговле на Московской бирже"

Andrey Miguzov, 2022.06.29 12:24

В моменте - Вы правы. А так пример простой - надо купить за 1000. Стоит лимитка - рынок пошёл в Вашу сторону и Вам продали по 1000. А цена стала через 50 мс - 900 :) Купить за 900 лучше чем за 1000 же?

Лимитка стоит в спреде и с точки зрения ТС - 1000 это отличная цена. Но 900 ещё же лучше...

Всё по заветам коллег (спасибо им большое) - пишу в файл данные о последней позиции :) При старте эксперта при наличии расхождений с файлом - ковыряюсь в истории позиции (по сделкам индификатору и магику). Если позиции в данный момент нет - ковыряюсь в истории сделок (по магику).

На сколько я понимаю - это не единственный способ, но он мне понятнее всего.

Блин, об этом я пока не задумывался...

Ваш пример имеет место быть, безусловно, но, в таком случае мы представляем две разные вещи. Я говорю про широкий спред, крайне низкую ликвидность. Где должно пройти много секунд или даже минут, чтобы произошла ситуация, которую Вы описали. В Вашей ситуации, считаю, маркеты - лучшее решение.


ИМХО, не лучшее решение. Если финам (у разных брокеров по разному), то он, на мой взгляд, предоставляет все необходимое для расчета налету (парсинг сделок истории). А так приходится дополнительно сверяться с файлом, и не понятно зачем это нужно. Чтобы несколько экспертов одновременно не входили - GlobalVariableSetOnCondition().

 
JRandomTrader #:

Встроенная - если она маленькая.

А если роботов (включая тестовых) под 10000 и каждый хранит позу, ордера, статистику, текущий уровень стопа и т.п. - едва ли справится.

Если у Вас реально такое большое количество роботов, а не гипотетический пример, рекомендую перейти на систему консенсуса/голосования. При таком большом количестве систем на порядок будет проще работать.

 
Andrey Miguzov #:

В моменте - Вы правы. А так пример простой - надо купить за 1000. Стоит лимитка - рынок пошёл в Вашу сторону и Вам продали по 1000. А цена стала через 50 мс - 900 :) Купить за 900 лучше чем за 1000 же?

Лимитка стоит в спреде и с точки зрения ТС - 1000 это отличная цена. Но 900 ещё же лучше...

...

Скажу так, если Вы работаете лимиткой, то должны вставать против движения паравоза, зная, что он остановится. Т.е. если Вас исполнили по 1 000, а паравоз летит на 900, то Вы должны быть уверены что он скоро развернется в Вашу сторону. Если Вы этого не знаете, то возможно не стоит торговать лимитками вовсе, у Вас чисто трендовая стратегия, для которой важен момент "здесь и сейчас".

 
tapo #:
ИМХО, не лучшее решение. Если финам (у разных брокеров по разному), то он, на мой взгляд, предоставляет все необходимое для расчета налету (парсинг сделок истории). А так приходится дополнительно сверяться с файлом, и не понятно зачем это нужно. Чтобы несколько экспертов одновременно не входили - GlobalVariableSetOnCondition().

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

Можно, наверное, и через глобальные переменные реализовать. 

tapo #:
Ваш пример имеет место быть, безусловно, но, в таком случае мы представляем две разные вещи. Я говорю про широкий спред, крайне низкую ликвидность. Где должно пройти много секунд или даже минут, чтобы произошла ситуация, которую Вы описали. В Вашей ситуации, считаю, маркеты - лучшее решение.
Vasiliy Sokolov #:

Скажу так, если Вы работаете лимиткой, то должны вставать против движения паравоза, зная, что он остановится. Т.е. если Вас исполнили по 1 000, а паравоз летит на 900, то Вы должны быть уверены что он скоро развернется в Вашу сторону. Если Вы этого не знаете, то возможно не стоит торговать лимитками вовсе, у Вас чисто трендовая стратегия, для которой важен момент "здесь и сейчас".

Ну я же пример для понимания привел, он условный.

Ещё один пример - широкий спред, низкая ликвидность - стою в стакане на 1000 объемом 5. Прилетела встречная лимитка объемом 100. Меня снесла и стала в стакан на цену 900. А я смотрю на неё и думаю - зачем я потратил неделю на реализацию торговли через лимитники :)

Я не "топлю" за рыночные ордера. Нужно пользоваться и теми и теми - всё от ситуации/стратегии зависит.

Мой посыл, что отмена комиссии за лимитные ордера на МОЕКС - это ещё не значит, что надо всем обязательно на лимитники переходить - проверять всё нужно и считать.

 
Andrey Miguzov #:

Ещё один пример - широкий спред, низкая ликвидность - стою в стакане на 1000 объемом 5. Прилетела встречная лимитка объемом 100. Меня снесла и стала в стакан на цену 900. А я смотрю на неё и думаю - зачем я потратил неделю на реализацию торговли через лимитники :)

Я не "топлю" за рыночные ордера. Нужно пользоваться и теми и теми - всё от ситуации/стратегии зависит.

Мой посыл, что отмена комиссии за лимитные ордера на МОЕКС - это ещё не значит, что надо всем обязательно на лимитники переходить - проверять всё нужно и считать.

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

И, кроме этого:

1. Вряд ли такие ситуации будут очень частыми;

2. Вам никто не запрещает доливку маркетом по только что образовавшимся еще более хорошим ценам;

Как Вы правильно сказали, все зависит от ситуации. В идеале, нужно совмещать. 

 
Vasiliy Sokolov #:

Если у Вас реально такое большое количество роботов, а не гипотетический пример, рекомендую перейти на систему консенсуса/голосования. При таком большом количестве систем на порядок будет проще работать.

В основном, это тестовые. Реально торгующих не более 2-3-х десятков.

Но там есть разные стратегии, работа по тренду и против, на разных таймфреймах, с разными условиями трейла, от разных исходных уровней.

Т.е., например, трендовый робот держит позу на H4, а за это время контр-трендовый может успеть сработать и в ту, и в другую сторону на M15.

Это диверсификация для выравнивания графика - все в плюсе по итогам года, но в отдельные периоды кто-то может проседать.

Я не представляю, как это свести к консенсусу. А тем более, как при этом видеть вклад каждой отдельной стратегии.

Причина обращения: