Блог им. Dmi3

MT5 Тестирование: Финам vs. Открытие, WTF!?

В связи с вынужденным переходом из Открытия в Финам потихоньку пытаюсь перевести все процессы на рельсы Финама.

Медленные системы не перетестировал, они могут пол-годика или год подождать без потери качества.
С быстрыми системами приходится тестировать чаще и, так как медленную модель в Финаме уже развернул, и появилось время, закинул первый блин на сковороду.

Блин получился комом, все по классике.

Привожу тест системы при всех идентичных параметрах в Финаме и Открытии.
Тест на 1 лот, без учета расходов.
WTF!?

Открытие
screenshot

screenshot

MT5 Тестирование: Финам vs. Открытие, WTF!?
Финам
screenshot

screenshot

MT5 Тестирование: Финам vs. Открытие, WTF!?
Не совпадает ничего!

Я всегда достаточно скептично относился к тестам и соответствии тестов реальным торгам, но это конечно ни в какие ворота, даже мне больно.

Продолжение экспериментов в следующей серии.
41 комментарий
VictorGromov, 
если бы это было платно, то было бы ЕЩЕ хуже, уверен!
VictorGromov, 
в МТ5 данные предоставленные брокерами. То есть в одном случае Открытием, в другом Финамом. Финам своими данными с сайта БЕСПЛАТНО снабжает 99% алго. Про Открытие теперь или хорошо или ничего.
Понятно, что и там и там данные по факту кривые.
В следующей серии запихну данные от одного брокера в терминал другого, покажу что получится по итогам.
В Финаме тиков на 6% меньше. Как так?)) 
avatar
bascomo, 
значит где-то есть дыры. надо разбираться, возможно с микроскопом.
Дмитрий Овчинников, Для начала по свечам сравнить. Например, у Финама есть свечи во внеторговое время :)
avatar
bascomo, 
это тиковый алгоритм, ему свечи без разницы, есть или нет. 
Но начну со свечей, разумеется.
Дмитрий Овчинников, Да можно и с дней 🤣🤣🤣 Я вспомнил, как давным-давно участвовал в тренинге. Там поделили коллектив на две команды, и они начали друг с другом соревноваться, только они не знали, что их цели и вводные данные не совпадают. Вот алго трейдеры мне напомнили ту ситуацию. Берут данные от брокера, строят торговые системы, которые на данных другого брокера не будут работать по понятным причинам :) Но об этом не думают, потому что с пеной у рта доказывают, почему что-то не будет работать :) А, между тем, получается, что правды - одной на всех - просто нет. У каждого своя :)
avatar
bascomo, 
которые на данных другого брокера не будут работать
а на каком из тестов не работает?

Дмитрий Овчинников, вопрос терминологии. Что значит «работает» и «не работает»? Если «работает» — генерит прибыль, а «не работает» — не генерит, это одно.
А если «не работает» это «не работает так же, как и на другом брокере» — то другое. Я имею ввиду второй вариант. Повторяемость результата отсутствует.
avatar
bascomo, 
а я написал об этом в самой статье. мне не принципиальна повторяемость или соответствие тестов реальной торговле, просто потому, что его в идеале, скорее всего, будет очень сложно достичь. цели тестирования для меня лежат немного в иной плоскости.
VictorGromov, 
бесплатная работа омерзительна, а бесплатный труд, как минимум, содержит результат.
Василий Федорович, 
это хороший вопрос, но не ко мне, а к разрабам МТ5. Почему у них на картинке загрузки депозита 1 лот Si при стартовом балансе 10 000 000 отображается так лихо.
Василий Федорович, 
я не знаю что такое советник, извините.
Василий Федорович, 
алгоритм, написанный мной и используемый в течении 2023 года в Открытии. И, поверьте, если я пишу, что там 1 лот, значит там 1 лот.
Василий Федорович, 
это у них, у рукожопов в MQ, такая структура каталога. Я уже давно перестал обращать внимания на такие вещи, еще со времен появления баннеров в браузерах. 
Слэнг форекса как-то не приживается.
Василий Федорович, 
вы намеренно пытаетесь увести дискуссию в сектор «сам дурак»? Я вас забаню, предупреждаю.
Я конечно не настоящий сварщик, да и вижу плохо на картинках меньше 2000 пикселов, но создается впечатление что надо для начала как-то сравнить входящую маркет дату, чтобы понять похожи ли настройки серверов у брокеров или есть ещё подводные грабли.
avatar
Sprite, 
правой кнопкой мыши- открыть картинку в новой вкладке. становится видно намного лучше :)
Дмитрий Овчинников, ух ты, спасибо. Юзер френдли веб-сайт.
avatar
VictorGromov, может, на криптобиржах бесплатно
avatar
А почему в Финам? В БКС комиссии намного дешевле предлагают при индивидуальном разговоре, тогда как Финам по акциям не ведется и за плечи дерет по 23 годовых за перенос на Срочке!
avatar
истинный миллион, как на срочке может быть 23% годовых за перенос? Типа вместо маржин-кола дают в долг, чтобы те ушел в минус
avatar
Beach Bunny, если бы вместо маржин кола. А вот так сделали, как на акциям почти. Стоимость контрактов больше,  чем денег — плати за плечи, которые встроенные были. Сам в шоке, никогда не думал что так могут, в ВТБ так не делали, а в Финаме пжста. 21 на срочеё. По акциям 23 Сейчас. ЦБ+ 8
avatar
истинный миллион,  у них есть такая фишка, что на текущую сессию могут(не помню точно как называется) дают типа Повышенный Уровень риска до конца дня, то есть обычно ты можешь купить мах 5контрактов на все деньги, НО если только до конца дня то можешь купить на те же деньги 10контрактов, может такая позиция с превышением не было закрыта, поэтому и взяли 23%
avatar
истинный миллион, при индивидуальном разговоре тарифы какие-то другие предлагают? Какие суммы должны быть при индивидуальных условий? Не первый раз уже слышу, что в финаме дороже, но почему-то в моем случае обратное. В бкс и открытии дороже чем в финаме
avatar

А если были потери данных И загрузилось коряво? Этим ж страдает мт 
а по сути вы ж не по истории торгуете все ж 

avatar
sashka, в Открытии МТ5 не страдал ничем
avatar
Нашел решение этой ситуации на форуме MQL5.
avatar
Redline, 
очевидно решение здесь это создание кастом символов и постоянный экспорт их в «мертвый» терминал Открытия. Но это такой себе костыль. Я, правда, с MQ уже 8-ой дан по костылестроению, не привыкать, но хочется же сделать НОРМАЛЬНО!
Дмитрий Овчинников,
очень понимаю.
Мысли такие же.

Нормальный вариант вижу только такой.
Пишем MQL сервис, который сгружает тики и бары в наши собственные форматы(бд или файлы, не важно).
Потом делаем свой тестер на базе этих тиков. Со стаканом и всё вот это.

Но предложенный костыль видится мне чуть более простым решением.
avatar
Redline, 
я буду, как обычно, пинать с двух ног Финам, чтобы сделали нормально в своем терминале МТ5. А параллельно костылировать.
Дмитрий Овчинников,
только на это и надежды :)

Думаю что не в терминале дело. Когда открытие работало, я терминалом открытия подключался и видел такие же кривые графики как у вас. Переключался обратно и все работало. Похоже что на их бэке как-то по-другому настроено. Флаги какие-то. Не зря в открытии модель исполнения была Forts futures, а тут Exchange futures.
Но тики у Финам нормальные. У меня совпадение по сделкам Splice и кастом AllFut символа 100%е.
avatar
Redline, 
Не зря в открытии модель исполнения была Forts futures, а тут Exchange futures.
Именно в этом и дело. В Открытии у меня был ИИС на терминале МТ5, подключенный к фондовому рынку, там также возвращало
AccountInfoInteger(ACCOUNT_MARGIN_MODE) значение ACCOUNT_MARGIN_MODE_EXCHANGE.
Так вот там была при тестировании одна зеленая линия, как и в Финаме, но она не была «гармошкой».
Дмитрий Овчинников, эта гармошка меня с самого начала смущала. Оказалось, что это связано с настройками фьюча.
avatar
Дмитрий Овчинников, хочешь нормально — сделай сам :)
avatar
bascomo, 
каждый должен заниматься своим делом.
точнее сказать: хочешь достижений- специализируйся! поэтому пусть терминалы пишут рукожопы, типа лехивана или команды MQ, а я буду заниматься алго.

Дмитрий Овчинников, переходите на плазу.
Смотрите сколько плюсов:
1. Реальные данные(без эмуляции тиков и т.п.)
2. Отсутствие ГУЯ сравнивал десктоп версию убунту с low-latency ядром и серверную с обычным ядром так вот в серверной просто после установки результаты такие же как в этой статье после долгих мучений с оптимизациями и т.п. xakep.ru/2007/12/13/41530/
3. Можете выкинуть всё что не используете уменьшив нагрузку на приложение
4. Можете получить полный ордер лог и сделать стакан любой глубины с любым шагом
5. Если используете полный лог можете нормально посчитать проскальзывание, сколько объёма до/после Вас, очередь ордеров до/после Вас(т.е какое у Вас место в очереди на конкретном уровне цены), сколько отменилось, сколько встало в стакан и не пора ли свалить с уровня
6. Можете использовать колокейшн, быструю ветку
7. Если не хотите колокейшн то можете на виртуалке из облака(задержка до 15 мс)
Так что если надумаете маякните скину в личку пример(знатно подчищеный от своего кода) который без доработок пройдёт сертификацию на бирже. И вот Вы уже получаете данные напрямую от биржи не ругаясь на бедолаг из техподдержки. Я когда пытался в Открытии заказать логин для доступа мне пришлось минут 10 доказывать и объяснять что у них есть прямой доступ на биржу(давать ссылки на их же сайт где про это написано). В Финаме всё намного лучше в этом плане.

avatar
__rtx, 
1. Реальные данные(без эмуляции тиков и т.п.)
— их и сейчас нет, вы наверное прочитали в детстве про мт4?
2. Отсутствие ГУЯ
— это да, моя боль. много лет прошу MQ убрать все это дерьмо и выпустить про-версию для алго без тюнинга
3. Пофик
4. Не надо
5. Не надо
6. Это да, но пока не является эффективным с точки зрения затраты/прибыль
7. сейчас 2-5 мс

Возможно придется когда-то выйти из МТ5, но я не программист, поэтому подожду какой-нибудь из реализаций, в которую будет не страшно вписываться.
Дмитрий Овчинников, ну если 2-5 мс тогда норм. главное чтобы замеры были верными. Можете описать как замеряли?
avatar
__rtx, 
давно уже не гнался за этими цифрами, так как миллисекунды в принципе неконкурентоспособны в hft, а разницы для моих алгоритмов в 2-10-20 мс особо не видно, тем более, что по факту, как уже отвечал выше, задержки получаются очень сильно плавающими, то есть воспроизводимости результатов в этом аспекте ожидать, как минимум глупо.
Если бы замерял сейчас, то сделал бы цикл в сотню (тысячу) синхронных установок/удалений ордера далеко от спреда и замерил время начала и окончания цикла. среднее время цикла/4 и будет временем, о котором обычно говорят алго, стремящиеся показать скорость.
Ну да согласен даже <0.1 мс особой роли не играет так как важно ты или первый или не успел потому что с пацанами на верилогах с отрицательными задержками тягаться смысла нет они раз в 500 быстрей самого оптимизированного с++ кода на колокейшене если надо будет.
PS. Заказал себе плату буду учиться)
avatar

теги блога Дмитрий Овчинников

....все тэги



UPDONW
Новый дизайн