Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ТЗ - построение макс просадки по средствам
- Задача: взять все сделки, построить график просадки, учитывая историю цен (а не только конечную цену), построить графики
- Берем данные с MQL-канала в CSV формате.
- Нас интересуют TIME_OPEN, TIME_CLOSE, SIZE, COMMISSION, SWAP, PROFIT
- OLD_SIZE = SIZE
- Делаем размер лота фиксированным. SIZE = 0.05
- Пересчитываем комиссию по формуле COMMISSION = SIZE * 7,53 (да, комиссию из CSV не учитываем совсем)
- Пересчитываем профит по формуле PROFIT = PROFIT * (SIZE / OLD_SIZE) + COMMISSION + SWAP
- N = 5
- Далее, мы берём самую раннюю дату из всех сделок, округляем её до N минут.
- И строим хэш-массив от ранней даты до текущей, ключом массива является время в секундах, с шагом N минут.
- То есть если дата/время было 2018-01-01 05:32:55, то начинаем мы с 2018-01-01 05:30:00, затем 2018-01-01 05:35:00 и тд
- Значением по этим ключам будет суммарный минус по всем сделкам на этот момент.
- Для этого мы берем каждый трейд, округляем дату, идём циклом с шагом N минут, смотрим в базе histdata цену на текущий момент, вычисляем плавающий профит прибавляем его к метки времени (не забывая про комиссию).
- В итоге данные выводим в виде графика.
- Отдельно текстом выводим минимум на этом графике.
- Нюансы:
- Скрипт будет выполняться довольно долго, поэтому для запуска через браузер нужно
- - установить max_execution_time в огромное значение,
- - сделать ob_implicit_flush(1);
- - построчно выводить каждый трейд после обработки, чтобы видеть ход выполнения и можно было оценить оставшееся время
- - полученные данные (для графика) записывать в кэш (в файловый), чтобы не повторять процедуру при перезапуске скрипта
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement