Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
На данный момент от СД получен такой ответ
Собственно тестер так и считает для соответствующих торговых инструментов (также как и терминал).
Просьба прокомментировать знающим людям.
На случай, если стакан полностью высох, возможности рассчитать Profit не будет. Но это форс-мажор, решение которого не должно было затрагивать логику.
Считать по ласту - нелогичное решение.
На случай, если стакан полностью высох, возможности рассчитать Profit не будет. Но это форс-мажор, решение которого не должно было затрагивать логику.
Считать по ласту - нелогичное решение.
Да,я указывал уже выше,к чему подобное решение приводит,когда считает ASK-LAST,если LAST>ASK,мы получаем отрицательный спред,т.е. позиция сразу после открытия у нас плюсовая выходит.
Дальше,мы получаем "несуществующий" убыток,которого не было (см. пример,когда профит=-640$). Поскольку в ответе СД так же был упомянут терминал,помимо тестера, то есть соответствующая тема и заявка в СД,когда открытие и закрытие по ценам LAST приводит к тому,что итоговый профит равен 0,т.е. спред не был учтен вообще никак.
Потому хотелось бы услышать еще мнения людей,который знакомы не по-наслышке,как ведется учет профита в других биржевых терминалах,либо пруф линк,где об этом расписано.
Пришлось проверить, скрины из терминала TWS
Средняя цена открытия 11593.6
P&L = -64
11593.6 - 11591 = 2.5 или 5 тиков, 5*12.5~64$
Средняя цена открытия 11593.6
P&L = 86
11593.6 - 11597 = 3.5 или 7 тиков, 7*12.5~86$
Последняя цена (LAST=11610 на первом скрине и 11596 на втором) никак не участвует в расчете профита.
Замечания принимаются!
Некорректно считает AccountInfoDouble(ACCOUNT_PROFIT) ?
При расчете прибыли AccountInfoDouble(ACCOUNT_PROFIT) выводит значение как (в примере ниже) ASK_OPEN - LAST_CLOSE.
При закрытии позиции же итоговая прибыль считает корректно,как ASK_OPEN - BID_CLOSE.
Соответственно если ведется суммарный учет профита по нескольким инструментам и закрытие по ним производится по целевому значению профита, то это ломает всю логику.
Приведу пример,чтобы было понятно.
Условие для закрытия является достижение профита в 100, т.к. при этом мы ориентируемся на значение AccountInfoDouble(ACCOUNT_PROFIT), то как только он нам выдаст заданное значение ,мы закроем позу. Однако на самом деле расчет будет вестись не по LAST цене, и в итоге в прибыль пойдет другое значение. Особенно ярко это будет видно на малоликвидных иснтрументах, когда сделки происходят редко , и значит цена LAST долгое время стоит на месте, а цены ASK/BID давно уже сместились на другие уровни.
2017.03.04 13:06:16.706 Core 1 2017.03.02 20:19:03 ASK открытия = 12085.0
2017.03.04 13:06:16.706 Core 1 2017.03.02 20:19:03 LAST открытия = 0.0
2017.03.04 13:06:16.710 Core 1 2017.03.02 20:59:47 BID закрытия= 12077.5
2017.03.04 13:06:16.710 Core 1 2017.03.02 20:59:47 ASK закрытия = 12079.0
2017.03.04 13:06:16.710 Core 1 2017.03.02 20:59:47 LAST закрытия = 12070.0
2017.03.04 13:06:16.711 Core 1 2017.03.02 20:59:47 Стоимость тика = 12.5
2017.03.04 13:06:16.711 Core 1 2017.03.02 20:59:47 Профит должен быть = 197.008125 - КОРРЕКТНЫЙ расчет профита ,как ASK_OPEN - BID_CLOSE
2017.03.04 13:06:16.711 Core 1 2017.03.02 20:59:47 Профит фактический = 394.01625 - расчет профита, как ASK_OPEN - LAST_CLOSE
и ниже результаты тестирования со штатной функцией AccountInfoDouble(ACCOUNT_PROFIT)
и самописной функцией подсчета профита так,как он и должен считаться.
очевидно,что вся граальность пропадает. как можно говорить о точности тестера и о том,что МТ5 супер-пупер современная платформа,если тут такая примитивная ошибка.
интересно, сколько человек и депозитов погибло по вине разрабов. вот так натестируешь себе грааль,а потом мозг сломаешь -почему на реале все иначе.