Блог им. baberbabrob

mt5 тестер - рисует жизнь даже краше чем она есть!

Время летит… и недавно я вдруг осознал что mt5 доступен уже почти как 10 лет… за которые по идее можно при должной компетенции уже 10 раз спилить хоть напильником все косяки и отполировать всё до блеска. А в технической компетенции метаков у меня есть некоторая уверенность, основанная на качестве работы mt4… ОСОБЕННО после ознакомления с альтернативными платформами для торговли [на бирже]. Решил попробовать, как оно для роботорговли.

Чтобы не размазывать по древу, сразу результатирую: Впечатления смешанные.

ЕСТЬ ПОЗИТИВ
Два несомненных плюса — надежность платформы (относительтная конкурентов) и детальный низкоуровненый API с помощью которого, если очень-очень-очень сильно захотеть, можно реализовать почти все свои фантазии. Особым плюсом считаю то что разрабы(насколько я могу судить) не «опустились» до использования .Net.

НО НА САМОМ ДЕЛЕ...
Вооот…  Собственно, специально решил упомянуть в начале позитивные моменты, чтобы мой пост не смотрелся тупым высером брыжжущего желчью... начать хочется всё с того же API. Итак,

Про API
да, API получился функциональный, но… после mt4… как бы передать общее впечатление… Представьте что вы пишете на C, и тут приходит [обстоятельство непреодолимой силы] и говорит, что отныне мы переходим на ASM. почему? потому что ассемблер быстрее выполняется и у него гораздо больше возможностей которыми при желании может воспользоваться особо-изощеренный ум. Да и это не просто не просто ассемблер, а с ООП! Что? Если у тебя ум неособо-изощеренный и тебе больше нравится C, значит ты и не программист вовсе, а просто притворялся! Но выход очевиден — пойди и просто найди программиста! Тысячи их, настоящих программистов вдоль и поперек знающих наш ASM c объектами! Что? показать хотя бы одного? Ну вон же они везде в интернетах пишут...
На замечание о том что документация на новый ASM весьма херова (перечисляет все инструкции, типа ADD складывает, MULT умножает… но лишь изредка и невпопад упоминает о упоминает о том что эти инструкции могут выставлять у процессора каки-то флаги, влияющие на его дальнейшую работу) приводят гиганский список статей различных самоделкиных, которые наткнувшись на ту или иную недокументированную особенность работы ASM описывают свой боевой опыт. ЗАЕБИСЬ!

забавно, что усложнение API и исчезновение многих приятных ништяков(типа отдельно-живущих mt4-ордеров) нам объясняют тем, что теперь у нас настоящий биржевой терминал. но это… — ДВАЖДЫ пиздежь!
Во-первых, потому что реальный учет позиций это одно, а их представление в терминале это совсем другое! Пусть клиент, если хочет, считает что у него открыта «захеджированная нулевая позиция» из двух разнонаправленных ордеров. Это же не помешает на клиринге клиринге понять, что реально позиции у клиента нет! Так нет же… сделали всем назло, — один инструмент — одна позиция… Самое смешное, что не прошло и 10 лет как с гордостью выпустили костыли, позволяющие иметь для каждого меджика свою позицию… но ТОЛЬКО ДЛЯ ФОРЕКСА!!! ХА-Ха-ХА!

Во-вторых, из-за того как реализованы лимитные ордера. Думаю, на любой бирже понятие лимитного ордера свято и не рушимо. Ты выставляешь ордер на биржу, и висит там, пока не найдутся контрагенты пожелавшие исполнить его по цене НЕ ХУЖЕ заявленной. В MT5 у ордера можно задать tp. казалось бы, ТП и ТП… но хрен вы где в документации сыщете как он работает. а работает он так — при поялвении в тикере цены указанной в tp ордера, генерируется закрывающий позицию market-ордер. Сюрприз, ребята!

Еще меня в API взволновало, что при помощи API я не могу просто выбрать ордер и работать с ним. Есть отдельные, почти дублирующиеся наборы функций для работы с ордерами исполенными и ордерами текущими. забавно, что при этом нет способа по идентификатору ордера сразу понять, какими функциями с ним работать. нужно ПОПРОБОВАТЬ работать сначала одними функциями, проверить, не привело ли это к ошибке, и если привело попробовать работать другими. П****Ц.

Ну, о слабой документированности я уже упоминал… причем… вроде все функции задокументированны, но многих деталей которые хотелось бы знать не хватает.  Подозреваю, сказалось то, что писалась и правилась документация изначально для работы на форексе))


РАБОТА ТЕРМИНАЛА
за несколько месяцев работы в открытии заметил всего пару косяков в работе терминала. что в целом считаю весьма достойно.
1. в майские праздники, когда были увеличены залоги по фьючам, у моей совы возникала ошибка при выставлении лимитного ордера. якобы ордер был слишком большой. и это при том что непосредственно перед выставлением ордера я запрашивал для счета максимальный размер ордера, который можно на нем выставить по инструменту, и ограничивал размер ордера сверху этим числом.
2. в день или за день до экспирации я не мог ручками передвинуть лимитник по экрану. возникала ошибка. я подозреваю при ручном передвижении ордера генерируется вызов API в окторый передается время экспирации ордера — типа 19.00 сегодняшнего дня. учитывая что фьюч к тому времени уже эксперировался, система такой вызов переварить не могла.


ТЕСТЕР!!!
теперь собственно о том, что спровоцировало данный пост.
ребята, ну так нельзя. Я тут пару раз натыкался на реплики из народа о том что что тестер то в mt5 херовый, что в нем нет спреда и еще чего-то нет, чего есть в mt4… а метаки в ответ в грудь себя бьют, что он весь такой заебатый-призаебатый, с поддержкой распределенного тестирования, тики в нем есть и и т.д. и т.п...
Я до недавних пор не имел возможности тестер этот погонять, по причине того, что чтобы там написать простенькую сову(простенькую на mt4), мне нужно было написать просто дохера всякой вспомогательной лабуды!!! Да, ее можно написать! API позволяет! Но писать нужно дофига! и отлаживать нужно тоже долго, чтоб понять что и как у вас на самом деле там работает, и сделать нормальный аналог с человеческим лицом, работающий как нужно. кхм...

Собственно тестер mt5. Он рисует жизнь краше, чем она есть. Такого западла я от него просто не ожидал.
Все знают что в mt4 есть тестерные граали, основанные на особенностях алгоритма интерполяции тиков по бару. При этом тесты алгоритмов, работающих на открытии баров считаются весьма надежными.
В общем, я переписал под mt5 сову, открытие и закрытие в которой происходит лимитниками, выставляемым на открытии нового бара. Протестировал на нефти(ранее на ней не тестил) по открытиям баров и офигел — сова пёрла в гору как сумасшедшая. при тестировании по OHLC 1m баров она тоже перла но уже не так резво. при тестировании по тикам пёрла еще менее резво. в результате оказалось, что в тестере выставленный лимитник исполняется не по цене лимитника, а по цене, ЛУЧШЕ заявленной. то есть видать в тестере лимитники исполняются по форексному — при появлении тика прошибающего лимитник, ордер вбрасывается по рынку и исполняется по цене этого тика.

ИТОГО
Иными словами, в тестере лимитники исполняются по цене лучше заданной. а в реале TP исполняются по маркету, то есть по цене хуже заявленной.
не думаю что это сделано специально, с целью заманивая на рынок и последующего слива невинных душ, увидавших в тестере экспоненциальной рост какойнить совы, но по факту...
Если mt4 давал брокеру(ДЦ) решать — работать с клиентом честно, либо наебывать его...
То биржевой mt5 брокеру такой возможности уже не дает — зато оснащен массой новых возможностей для наёба неосторожных людей этим… как его… модное слово…  биржей комьюнити!))

с уважением)

★7
83 комментария
Mt4 и mt5 писали разные люди. Команда одна но мозг разный. Мт4 это старая школа, мт5 это новомодные манагеры от программирования. Те же кто выносит мозг владельцу отличного ресурса " ты отстал от жизни, ща мы тебе напишем новый движок более модный"
Брахман Пилорама, это вы выдумали про разных людей.

Писали и пишут одни и те же люди.
MetaQuotes Software, я рассуждаю. Очень разное все.
Ну тестируй теперь руками, что ли.
спасибо, я знал что всё криво и сложно, но некоторых моментов не знал.  
И ещё — там по прежнему нельзя подгружать свой источник данных и нужно использовать только кухонную историю?  Чем они аргументируют такое?   
avatar
Artemunak, обещают скоро сделать.
Вообще, тестер немного поправили в последнем обновлении. www.metatrader5.com/ru/releasenotes
Чёрный кот, ого… то есть судя по написанному, они этот косяк с лимитниками в тестер специально чтоле в последнем обновлении добавили? xD
А вообще, меня пугают эти люди, которые в одну кучу пихают исполнение SL и TP ордеров… нельзя же так, в лоб… да еще и с такой реализацией для тестирования по барам где на весь бар один-два тика
>>Тест на OHLC..
>>Лимитниками..
>> На открытии бара..

Ты сфейлился уже в самом подходе к тестированию. У меня, например все исполняется нормально. Нормально тестирую тиковые страты и ору с успешных парней, пихающих лимитки в OHLC режиме.
avatar
Adept, в чём сфейлился? пруф или балабол.

Бабёр-Енот, Ты сам и привел пруфы:

1) твой багор из за штатной реализации тп и сл  в виртуальном виде. Абсолютно также оно бывает и в других платформах(Алор-фаст, например). Хочешь реальные лимитники — Напиши пару строк кода и поставь их.

2) Установка лимитников в ОHLC режиме. В реале необходимо поставить режим «Каждый тик на основе реальных тиков».
avatar
Adept, 
1. ну дык и где в документации написано что они виртуальные? и почему выставляются по маркету? По моему термин TP однозначно подразумевает наличие Limit ордера если нигде не указано обратное. Как чего в других платформах — это дело других платформ.

2. Не, серьезно? а нафига? в реале ведь чтобы понять(с некоей весьма хорошей вероятностью), исполнился бы лимитник в баре достаточно знать High и Close  бара. И реальные тики эту вероятность не увеличат.  Так что никакой «реальной необходимостью» тут не пахнет — по идиотски сделан тестер.
Бабёр-Енот, Ну не знаю) Вообще там что-то хотят пофиксить в след билде, может это как раз по описаной проблеме…
avatar
Бабёр-Енот, вы просто не осознали глубины решаемых задач тестером.

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

Вы взяли не подходящий вам грубый метод моделирования, не обращаете внимания на объяснения и продолжаете делать заявления на уровне «по идиотски сделан».
MetaQuotes Software, как реализовать стратегию на нескольких инструментах, чтобы одновременно получать тики со всех и как это тестировать? время вешать советники на графики еще не прошло? в чем соль такого подхода?
avatar
D.G., это делается элементарно.

Пишите эксперта, который подписывается через MarketBookAdd (https://www.mql5.com/ru/docs/marketinformation/marketbookadd) на нужные символы и получаете тики в OnBookEvent. Далее через MarketBookGet или CopyTicks получаете данные и анализируете их. Из того же эксперта можете торговать на любых доступных символах.

При тестировании стакан не моделируется, но все тики доступны. В тестере тоже можно протестировать мультивалютного робота, включая режим визуализации.
MetaQuotes Software, +1 в карму MT5, попробуем. А с чем связана необходимость навешивать советники на графики? не лучше ли иметь отдельный список для этого? Графики открываются, и закрываются, хочется поменять таймфрейм, и это все отражается на советниках. ИМХО решение робот-график спорное
avatar
D.G., с другой стороны — это очень удобное решение.

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

Обычно те, кто совмещает активную аналитическую работу с постоянно работающими экспертами, ставят отдельную копию терминала только с роботами, а сами работают в другой копии, чтобы ненароком не испортить настройки.
MetaQuotes Software, это вы заблуждаетесь.
ТИковый тестер предназначен для тестирования внутрибарных стратегий(хотя если у вас идут просто тики, а не ордерлог я бы результатам тестов его не стал очень сильно доверять).

«Примитивный побарный тестер» предназначен для тестирования стратегий которые принимают торговые решения при открытии нового бара. И то что вы не можете правильно реализовать «примитивный побарный тестер» и не имеете понятия о классе стратегий для тестирования которых он предназначен, ничего хорошего о вас не говорит.

я с печалью слушаю ваши объяснения, ибо получается что вы добавили в mt5 метод моделировани по барам тупо для галочки, сами не понимаю зачем и кому он реально нужен. а поскольку не понимаете, то и реализован он у вас не некорректно. это я и называю вкратце «сделан по идиотски», то есть непонятно как, непонятно зачем и непонятно для кого.
Бабёр-Енот, боюсь, мы на разных уровнях понимания находимся.

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

Не нужно придумывать «про галочки». Вы не разобрались в теме, кликнули первый попавшийся режим и пошли писать разгромный пост. Но не получилось.
Бабёр-Енот, SL и TP между HIGH и LOW - важен порядок исполнения, а не просто факт. 

Покажите нормальную страту для тестера OHLC
avatar
chegeware, если есть SL и TP, то важен. А если и открытие и закрытие происходит лимитными ордерами, то нет.

Joker EA например.
Бабёр-Енот, @если есть SL и TP, то важен. А если и открытие и закрытие происходит лимитными ордерами, то нет.@

@Накрылась связь и боты встали и уже не нормально не закрыться, не отмениться.
Это штука должна работать на сервере брокера, а не у клиента.@


Лимитники еще до открытия бара выставляются? Чем тогда они от SL TP отличаются? 
Если нет, то что они делают в побаровом тестере?
avatar
chegeware, на чьем сервере запустят, на том и должна работать. форсмажоры это отдельная песня. тут дай бог в нормальных условиях бы чтобы работало для начала.

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

и это… лимитные ордера к SL не имеют никакого отношения. SL это по определению стоп-ордер. а я в данном случае говорю только про лимитные ордера.
Бабёр-Енот, «лимитники выставляются в момент когда старый бар уже закрыт, а новый еще не открыт. или в момент открытия бара» 

Это между тиками биржи шоле? Круто, к ядру подключаетесь? 
Снимаю шляпу!
avatar
chegeware, конечно между тиками… а вы знаете кого-то кто может успеть что-то сделать на бирже ОДНОВРЕМЕННО с пришедшим тиком? xD
Бабёр-Енот,
Пока серьёзные люди заняты политикой, предлагаю немного пофлудить. 
 Каждый тик приходит с интервалом 100 тактов биржевой железяки. 
Время передачи тика потребителю (ближайшему внешнему у-ву относительно ядра) — один такт.
Приём заявок, сведение ордеров, подготовка результатов влезают в оставшиеся 99 тактов. 

Тик — это интервал 100 тактов, а не время выдачи пакета.

Любое время работы биржи можно отнести к соответствующему тику.



avatar
chegeware, спасибо, будем знать хД

у нас с вами масштаб разговора изначально «немного» разошелся — вы о тиках и тактах(биржи) — я о тестировании по открытию закрытию баров xD (и о тиках-сделках)

могу за себя сказать что я имел в виду не тики биржи, а тики-сделки которые приходят в mt5. на многих инструментах тики происходят не каждую секунду, поэтому получив тик на 59-й секунде, вы прождете еще две, а тиков нет — значит можно сказать что «старый бар кончился а новый еще не начался» 

понятное дело, что в реальной торговле поймать момент открытия бара не получится — на него можно только среагировать (в mt5 c запозданием может в секунду, хз). Но по сравнению с продолжительностью бара это время пренебрежительно мало(и вероятность того что лимитник рельно мог быть исполнен именно в эту секунду тоже соответственно невелика) и поэтому им можно пренебречь(по крайней мере, я себе позволяю)…
Бабёр-Енот, "тиках-сделках" — тик это тик. Сделка это сделка. Да, если движения нет то он действительно может состоять из одной сделки. 

«а тиков нет — значит можно сказать что «старый бар кончился а новый еще не начался» »  - Т.е. можно сказать что на выходных идут «бары без сделок», ну типа они никак не начнутся? ;)

«поймать момент открытия бара не получится — на него можно только среагировать» — не совсем понимаю значения которые вы вкладываете в «поймать» и «среагировать». 

ПС: ТС Джокер неудачный пример. В плане прибыльности. Нет ли получше примера для OHLC тестера?
avatar
chegeware, хз… я как-то привык, что тик — это сделка. или цена в принте. как-то не разделял эти понятия.

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

поймать — имеется в виду сделать что-то сразу же — то есть открыться например по цене открытия бара. среагировать — ну значит через какое-то время попытаться сделать то же самое, хотя цена(по которой в идеале мы бы могли/доолжны были исполниться) возможно уже ушла. 

ППС: в плане прибыльности могу порекомендовать почитать ченить про алгоримы маркетмейкера.
Бабёр-Енот, «тик — это сделка. или цена в принте.» — часто так и будет, если лента агрегированная.

«никаких выходных у нас попросту нет, поскольку торги проводятся только по будням» — для этого к роботу надо подключать дополнительные источники данных? Типа: расписание работы, красные дни, выходные. А как быть с критическими днями, когда биржа глюканула? :) И зачем всё это усложнение? Что-бы сбить формирование индикаторов, и обычное SMA(20) было непохоже на общепринятое? Понятно, что это надо обязательно попробовать (а вдруг?), но... 


«один бар закрвается в пятницу, а следующий бар открывается следующим тиком» — отличная формулировка, бар открывается с первым тиком.

«поймать — имеется в виду сделать что-то сразу же — то есть открыться например по цене открытия бара. среагировать — ну значит через какое-то время попытаться сделать то же самое, хотя цена(по которой в идеале мы бы могли/доолжны были исполниться) возможно уже ушла. » Честно говоря, не очень понятно. Предположу что «поймать» — это «спрогнозировать график и поставить лимитник», а «среагировать»- это «торговля по уже имеющимся данным, без заглядывания в будущее». 
Я правильно предполагаю?

ППС: сылочкой не поделитесь? Из того что я читал, в основном общие слова, типа:  doc.research-and-analytics.csfb.com/docView?sourceid=em&document_id=x569866&serialid=lZPbU6l0cgAqB%2B1gg4uZFLk14dBwhfSb9lZ3%2BdmPHV4%3D.
Хотя бывают крупицы, но обычно жадничают выкладывать https://www.youtube.com/watch?v=z1e0XLQnSEA
avatar
-при поялвении в тикере цены указанной в tp ордера, генерируется закрывающий позицию market-ордер.
Это серьезно или фейл? Мне интересно :)
avatar
Александр, ответ есть ниже в большом описании.

Если хотите интегрированный в позицию TP, которые не тратит ГО, то используйте его. Если хотите железный стоп в стакане, то ставьте лимитный Buy Limit/Sell Limit и резервируйте маржу под этот ордер.

Все очень гибко:
  — интегрированный TP/SL без маржи, но с маркет исполнением
  — обычный TP/SL в стакане, но с резервом ГО
MetaQuotes Software, Мне надо связный стоп-ордер с тейк-профитом, при котором если стоп-ордер исполнился, тейк-профит отменился, ну и на оборот, при этом тейк-профит исполнялся по цене ордера, т. е. был лимитником на рынке.
На ГО мне всеравно.
avatar
Александр, несколько вариантов:
  — используйте встроенный TP/SL, если сработает один из них, второй отменится
  — напишите своего робота ведения позиций
  — закажите на MQL5 фрилансе написание такого робота
MetaQuotes Software, встроенный TP/SL, тейк-профит исполняется по рынку.
--------------
— напишите своего робота ведения позиций
— закажите на MQL5 фрилансе написание такого робота
--------------
Вы издеваетесь что ли?
Приходит к вам клиент с таким-то запросом, а вы ему говорите, нет но сядьте и напишите. Это что за публичный терминал.
Вы вот квик критикуете, а там оно есть и работает хорошо.
В mt4 на форексе тейк-профиты исполняются по лимитным ценам, а в mt5 по рыночным.
avatar
Александр, вот именно об этом я и говорю))
Александр, я не издеваюсь, а даю полный набор решений.

Под пунктом 1 идет штатный метод — используйте интегрированные TP/SL.
MetaQuotes Software, Вам пришли сказали о проблеме, вы говорите, пишите. По-моему вы должны сами писать, чтобы улучшить терминал и дать большее кол-во возможностей.
Ладно бы вы дали полный доступ к терминалу (к менюхам, арлертам, графикам, созданию дополнительных инструментов и т. д.), а так нет доступа, не возможно удобно это написать, приходится дрочить — придумывать всякие костыли скрипты.
Помню писал нормальный скрипт для арлертов для любых инструметов, пришлось каждый раз лезть и изменять в описании к инструменту — вызывать арлерт для этого инструмента или нет. Ну идиотизм :)
И каждый скрипт — это костыль, который делает работу малоприятным занятием.
avatar
Александр, о какой именно проблеме вы говорите?
MetaQuotes Software, а вы почитайте еще раз внимательно.
SL и ТP — при этом TP должен исполняться по лимитной цене и быть выставленным на рынке, а не по рыночной.
avatar
Александр, OCO ордера мы не поддерживаем. Вместо этого даем другие возможности.
MetaQuotes Software, Ну так сделайте, в чем проблема?

avatar
Александр, мы это не планируем.
Александр, сам допиши, в чем проблема? 

www.mql5.com/ru/articles/1582
Чёрный кот, прочитайте дискуссию выше. Заниматься идиотизмом у меня желания нет. Накрылась связь и боты встали и уже не нормально не закрыться, не отмениться.
Это штука должна работать на сервере брокера, а не у клиента.

avatar
Александр, Поддерживаю. 
Если у вас такие серъезные требования — переходите на FIX и работу с более серьезными компаниями чем 90% клиентов Метатрейдера
avatar

Давайте разберем по частям.

MQL4 и MQL5 — это одного класса и рода языки, имеющие один компилятор на двоих. Различаются языки только тем, что у MQL5 сильно больше возможностей типа асинхронных операций, OpenCL, да и компилятор с новыми методами оптимизаций.

Ни о каком ASM речи не может быть. Автор вводит в заблуждение разговорами про ADD/MULT.

Так как мы серьезно подходим к технологиям, мы обеспечиваем огромный объем документации на 10 языках, а также ведем большой сайт на 7 языках.

Удивительно, как наличие массивной документации кто-то пытается представить как недостаток.

Отдельно живущие hedged счета в MetaTrader 5 мы включили пару билдов назад. Так что трейдеры могут выбирать самостоятельно, какую модель ведения счетов использовать: неттинговую или хеджевую с локами.

Неттинговая модель используется при биржевой торговле и полностью обоснована. Для форекса трейдеры предпочитают хеджевую модель с локами и это доступно в MetaTrader 5.


Лимитные ордера Buy Limit и Sell Limit при биржевом/шлюзовом(на провайдеров ликвидности) исполнении попадают напрямую в стакан. Это легко видят все трейдеры, кто торгует на MOEX через Метатрейдер.

Тейкпрофиты/стоплоссы, интегрированные внутрь (не сторонние Buy Limit/Sell Limit, а именно интегрированные в открытую позицию) открытой позиции и синтетические ордеры Buy Stop/Sell Stop на самом деле срабатывают как рыночные при достижении ценового уровня. Это очень удобные приказы, которые не блокируют ГО/маржу. Если нужны жесткие лимитные ордера в стакане, то нужно использовать Buy Limit и Sell Limit.

В документации работа с ордерами и позициями описана очень детально (https://www.mql5.com/ru/docs/trading), а для пользователей есть детальные руководства с массой картинок (http://www.metatrader5.com/ru/terminal/help/trading).

Слова автора что «при помощи API я не могу просто выбрать ордер и работать с ним» абсолютно ошибочны. Наоборот, объем и детализация операций потрясающие. Кроме того, в стандартной библиотеке функций есть специальный набор классов, которые скрывают внутренности торговых данных и дают простые интерфейсы управления (https://www.mql5.com/ru/docs/standardlibrary).

Автор заявил о «слабой документированности», хотя все в точности наоборот. Есть родная документация на русском языке, есть сотни статей, есть тысячи программ в исходниках, есть русскоязычный форум и мощная поисковая система (даже из редактора по месту).

Про залоги — их полностью определяет биржа и никогда нельзя быть уверенным, что денег хватит, когда пытаешься выставить ордер до последней копейки. Достаточно иметь небольшой запас по марже.

Перед экспирацией надо смотреть логи — в них все детально пишется. Кроме того, странно при этом говорить, что «учитывая что фьюч к тому времени уже эксперировался».

Про тестеру нужно читать штатную документацию. Методы «по открытиям бара, по OHLC» предназначены исключительно для БЫСТРОЙ ОЦЕНКИ стратегии, когда автор понимает, что он делает и хочет быстро проверить идеи за счет грубого моделирования 1-4 тиков на бар.

Конечно в чистовую надо тестировать по тикам и лучше по реальным тикам, что и доступно в тестере.

MetaQuotes Software, 
>Ни о каком ASM речи не может быть. Автор вводит в заблуждение разговорами про ADD/MULT.
это лишь аналогия. и я не ввожу в заблуждение, а провожу конкретную аналогию( состояний регистров процессора и состояний заказа, если вы пропустили. не более того).

Удивительно, как наличие массивной документации кто-то пытается представить как недостаток.
Действительно. Не знаю о ком вы, но я открыто говорю о том что имеющаяся документация недостаточна и содержит множество пробелов.
трейдеры могут выбирать самостоятельно, какую модель ведения счетов использовать: неттинговую или хеджевую с локами.
ну врете ведь наверняка… трейдеры ведь не могут этого выбрать самостоятельно. всё определяется тем какой сервер, неттинговый или хеджевый выбрал брокер.
Слова автора что «при помощи API я не могу просто выбрать ордер и работать с ним» абсолютно ошибочны.
они не ошибочны, они выдраны вами из контекста. я говорю о том что нет функции которая бы позволила определить относится ордер к истории или это текущий ордер… или это вообще не ордер.  также отстутствуют функции которые позволяют единым образом работать с историческими и текущими ордерами. например узнать их дату выставления.  класса который бы это делал тоже нету.
Методы «по открытиям бара, по OHLC» предназначены исключительно для БЫСТРОЙ ОЦЕНКИ стратегии, когда автор понимает, что он делает и хочет быстро проверить идеи за счет грубого моделирования 1-4 тиков на бар.
да, я только не понимаю зачем эту оценку преднамеренно ухудшить?  есл ипонятно что лимитник не может исполнится по лучшей цене чем в нем указано, но в текущем баре он исполняется, почему он исполняется не по той цене которая в нем указана, а по «лучшей» цене? 
И наличие реальных тиков вам никакой новой информации не дает. более менее-достоверно узнать исполнился бы лимитник или нет можно только если сунуть в тестер order-log. можно у вас его подрубить? нет...
а при тестировании по тикам, кстати, я также наблюдал исполнение по лучшей цене чем указано в лимитнике. Так что ВАША методика быстрой оценки полностью НЕАДЕКВАТНА. (и это при том что методика используемая при тестировании по открытиям баров в mt4 в данном случае является вполне адекватной).
Бабёр-Енот, когда увод не получился, переходим к запасному варианту «это была аналогия». Не было это аналогией — вы два одинаковых языка разнесли на разные планеты. Не поленились огромный кусок текста написать вокруг ASM.

Про любую документацию можно так сказать, если ее не читать. Вы ведь ее не читали.

Трейдеры могут выбрать хеджевые/неттинговые счета, когда брокер их разрешает. Один сервер может держать оба типа счетов:


Все возможности по доступу и определению ордеров есть. Вы просто не смотрели документацию. Причем даже приведенную мною ссылку (https://www.mql5.com/ru/docs/trading) не проверили. Там только для доступа к истории через HistoryXXX 14 функций.

Чтобы критиковать тестер, вам нужно поглубже его узнать. На уровне банальной эрудиции и наскоком «зачем это, зачем то?» дела не делаются.
MetaQuotes Software, ну дык я и говорю — «когда брокер их разрешает». и не все брокеры позволяют клиенту открыть реальный счет самому через это окошко. а сам клиент я так понимаю, поменять эту штуку не может.

я не два одинаковых языка разнес — а объем кода который нужен чтобы сделать в них одно простое действо. например простому High[0] соответствует текст на треть экрана в mql5. так что считаю аналогия уместна.

Если что, я эту документацию, конкретно по функциям https://www.mql5.com/ru/docs/trading  читал вдоль и поперек и не 1 раз. я в курсе что там куча функций для хистори. и такая же не для хистори. но нету функции которая бы по тиккету позволяла понять хистори это ордер или нет. или позволяли бы единым образом в некоторых пределах работать с хистори и нехистори ордерами. я не говорю что это невозможно сделать — я лишь говорю что очень неудобно. и классы ваши нового функционала не дают, а являются лишь простыми обертками над этими функциями.

и мне нафиг не сдалось разбираться в тестере, если я вижу что он в конкретном режиме работает неадекватно. причем ошибка у него не погрешностная равномерно распределенная, а систематическая, в одну сторону. причем настолько тупая и бросающаяся в глаза что слов нет.
Бабёр-Енот, я понимаю, что теперь вам остается и дальше придумывать.

Но вот «мне нафиг не сдалось разбираться» все происходящее объясняет очень хорошо.
ага, отлично объясняет...
я вам — смотрите у вас конкретно этот режим не работает. 
вы мне — да тот режим вообще и не работал никогда, и вообще у нас другой есть, но вы похоже не в курсе, — видимо не прошли 7 кругов ада нашей документации.
SciFi, используйте потиковое исполнение на реальных тиках, пожалуйста.

Методы тестирования по барам только для скоростной оценки(так как работает во много раз быстрее потикового) стратегии и там нельзя получить точного исполнения.
MetaQuotes Software, да, я понял, когда прочитал предыдущий ответ, и удалил свой пост. Спасибо. 
avatar
MetaQuotes Software, ну согласитесь — результат работы стратегии, которая ваыставляет и снимает лимитники на открытии баров, можно по OHLC баров оценить с такой же точностью как и по тикам. 
Бабёр-Енот, не соглашусь.

Не надо упрощать. Ибо за углом стоят сотни других трейдеров, которые хотят совершенно противоположного.
MetaQuotes Software, в очередной раз вижу как в метаквотес ничего не понимают в том что хотят сотни других трейдеров и гонят какую-то свою дичь, с позиции что все юзеры олени а метаквоты Боги и всё у них лучше всех.

Человек написал что тестирование по OHLC работает криво. Написал понятно и конкретно в чём. Вы же пытаетесь доказать что он верблюд и увести разговор в другое русло. Тики тут вообще не причём.
avatar
Artemunak, дело в том, что автор вообще не привел ни единого воспроизводимого доказательства.

Если бы были доказательства, а не сплошные набросы (посмотрите исходный текст, пожалуйста), то и разбор ситуации был бы совсем другой.
MetaQuotes Software, но вы ведь не указали ему что он ошибся? (а я читал внимательно, и не увидел в чём)  а  вы написали что чтобы нормально тестировать по OHLC то нужны ещё и тики, что для меня является дичью.
avatar
Artemunak, прочтите мои сообщения, пожалуйста.

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

Не надо тестироваться ни на открытии баров, ни на OHLC. Эти методы только для оценки и быстрой отладки.
MetaQuotes Software, вот почему вы считаете что автор не разбирается в теме?
В чём-то формулировки спорные есть, но имхо стоит к нему прислушаться и отдельные пункты исправить.  Мой опыт знакомства с вашим софтом схож с опытом автора — я считаю что многое сделано криво и неудобно, и с неуважением к конечному пользователю.
Но интерес к софту ещё есть, поэтому немного слежу за дискуссиями не только на этом сайте, и жаль что всё время критика воспринимается вот как-то так…
avatar
MetaQuotes Software, что такое наброс?
Не, ну в чем можно разбираться то с вами? С вами уже понятно всё давно — вы поделили всех на неучей, которые не способны в силу лени бездарности или иных причин полностью проникнуться гениальностью вашего софта (и потому клевещут на ваш софт и почемуто не хотят слушать что он во всём гениален и всё зашибись) и…  тех кто еще этой гениальности на своей шкуре не осознал))

Когда вам говоришь что у вас дыры в документации по событиям и статусам ордеров, вы отвечаете что у вас стоко дохрена документации что но погчемуто не читают ее неучи...

Ну о чем с вами разговаривать то? Вам можно только жаловаться в надежде что до вас может дойдет чегонибудть наконец… а разговаривать с вами бесполезно.
MT5 рулит! У Открывашки на запрос получения котировок с трех секций под одним логином предлагают поставить три терминала.
WTF??? o_O
avatar
D.G., к сожалению, это биржа разделила свои секции и не дает единый торговый счет.
MetaQuotes Software, спасибо я знаю, мне нужны данные для чтения со всех секций, а торговать я буду по одной. Не вижу проблем, знаю что это сделано искусственно на стороне брокера, видимо, чтобы упростить себе жизнь. В QUIK такого ограничения нет, можно получать маркет дата с любой секции. Как подействовать на брокера?
avatar
D.G., попросите брокера для разных счетов открыть другие секции в режиме чтения. Это делается администратором за несколько секунд.

Тем самым можно будет легко анализировать другие секции, торгуя на одной.
MetaQuotes Software, попросил, переваривают… надеюсь срастется, иначе буду смотреть в сторону квика и S#, не хочу я ставить себе 3 копии MT5) А может и брокера поменяю, благо QUIK есть у всех =)
avatar
D.G., возможно, что не хотят включать другие секции в режиме чтения из-за того, что котировки других секций платные.
как всё знакомо:
пользователь: уважаемые, предлагаю крутую функцию!
метаки: вы неправы, все трейдеры хотят другого
другие: крутая фунция, мы тоже хотим. внедряйте быстрее в МТ
метаки: вы не вникаете, мы лучше знаем. у нас большой форум, куча пользователей, мы лидеры а значит знаем что надо трейдерам лучше всех
пользователь: да не, при чем здесь форум, ведь нужно всего ничего и будет круто и удобно
все: да, да! мы тоже согласны
метаки: пользователь забанен за троллинг. у нас новая вкладка в магазине и куча пользователей, а значит мы знаем что лучше
все: уууууу
… прошло несколько лет...
метаки: в новом обновлении у нас новая крутая функция!
пользователь: мля....


avatar
badand, Все правильно — разработчик сам решает что и когда ему внедрять, потому что всем никогда не угодить. Пользователю осталось решить — будет ли он этим пользоваться или нет. Просто ЧСВ у людей опухло настолько, что они думают что вот именно им все все должны делать по первому требованию.
avatar
Adept, я даже спорить не буду, всё правильно сказали. Разработчик решает, а рынок в итоге разруливает кто прав, а кто нет. Пока что метаки правы. Но разве я про это писал? Я пишу всего лишь об отношении метаков к пользователям. Поддержка вроде и есть, но по факту такая, что лучше б ее не было вовсе. 
avatar
badand, отличная поддержка. Тут кто то не мог стоп лимитки поставить — ему только лишь код за него не написали. Новые вещи добавляются со временем. Тиковая история, лента сделок, собственные датафиды скоро выйдут. А набросы типа «ололо я вот не смог написать за 15 минут код для постановки лимитников к позиции, но нашел полтора часа на гневный пост на смартлабе» действительно стоит игнорировать.
avatar
Adept, основная идея поста, если вы не поняли, в том, что тестер mt5 выдает систематическую ошибку, которая автоматом делает(в нём) почти все страты торгующие лимитниками — граалями.
При этом представитель компании внаглую заявляет что это ок.
PS: и если вы развесили уши лопухами, и вуместе с метаквотсом считаете, что тестирование по всем тикам данную проблему решает — то вы сильно ошибаетесь))
Бабёр-Енот, тестирование по тикам проблему решает.

Но в любом случае спасибо за замечания. Обновитесь до 1352 билда через MetaQuotes-Demo и повторите тесты на открытии бара и OHLC, пожалуйста.

Там и лента сделок в стакане есть. Вторая кнопочка слева вверху стакана.


badand, к счастью, вы не правы про отношение.

Мы последовательно с 2001 года ведем публичные форумы на разных языках, где после войн, холиваров и обсуждений вводятся новые функции.

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

Поддержку мы оказываем трейдерам со всего мира и поток обращений такой, что можно застрелиться. Удовлетворения ни на 100%, ни даже на 80% в принципе нельзя достичь на массовом сервисе, где в центре стоит экстремально вариабельный и программируемый инструмент/платформа.

Это не пирожок с одной функцией «купил и съел», а генератор бесконечного количества вопросов и проблем.
2MetaQuotes Software это бесполезно, вас тролить будут бесконечно.
Zek_Sinica, так и мы закаленные давно.

Хорошая драка за технические вопросы очень помогает оценить и осознать проблемы обоим сторонам.
MetaQuotes Software, Добрый день, присоединяйтесь к общению http://smart-lab.ru/blog/337760.php
avatar
D.G.,
avatar

теги блога Niktesla (бывш. Бабёр-Енот)

....все тэги



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