Заработай до
50000$
на приглашении друзей
получить StartUp Bonus
от ИнстаФорекс
Вложений не требуется!
Начни торговлю
без вложений и риска
С новым STARTUP бонусом 1000$
Получи бонус
55%
от ИнстаФорекс
на каждое пополнение
Ответить в теме
Страница 1 из 2
1 Последняя ◄╝

Показаны сообщения: с 1 по 20 из 27

Тема: Функция расчета просадки по закрытой сделке. Есть ли что-то готовое?

 Перейти в классический вид темы
     
  1. ТОП сообщений
    2019-07-01   00:10
    Лучший ответ #1
    Накопленные выплаты 155746 RUB

    Готового не помню, но если ориентировочно, без учета спреда, то примерно так. Набросал по быстряку, на коленке... int GetDrawdownPips(int Type, double OpenPrice, datetime OpenTime, datetime CloseTime) { int Result = 0; double MaxDrawdownPrice = 0.0; int StartBar = iBarShift(NULL, 0, CloseTime); int StopBar = iBarShift(NULL, 0, OpenTime); switch(Type) { case OP_BUY: MaxDrawdownPrice = iLow(NULL, PERIOD_CURRENT, iLowest(NULL, PERIOD_CURRENT, MODE_LOW, StopBar - StartBar, StartBar)); Result = int(NormalizeDouble(OpenPrice - MaxDrawdownPrice, Digits) / Point); break; case OP_SELL: MaxDrawdownPrice = iHigh(NULL, PERIOD_CURRENT, iHighest(NULL, PERIOD_CURRENT, MODE_HIGH, StopBar - StartBar, StartBar)); Result = int(NormalizeDouble(MaxDrawdownPrice - OpenPrice, Digits) / Point); break; } return(Result); }

    2019-07-01   18:31
    Лучший ответ #2
    Накопленные выплаты 155746 RUB

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

    2019-07-03   13:34
    Лучший ответ #3
    Накопленные выплаты 155746 RUB

    Лучшее "готовое" - это когда сделаешь это "готовое" самостоятельно. Оно и для лучшего понимания предмета пользительно будет... Или, как вариант, поройтесь на форуме mql4.com. Однако там вам тоже придется собирать свою хотелку из разрозненных и не всегда универсальных кусочков кода. Хотя, если включить соображалку, то все это можно написать за пару часов с кофе и тестами.

    2019-07-02   13:29
    Лучший ответ #4
    Накопленные выплаты 44887 RUB

    Эта часть в зависимости от подготовки , времени и средств, вариантов много. В том числе и со своим серваком базами данных и т.д. и т.п. Ты сам понимаешь, за что взялся? Те не проконтролировали, те не успели, а кто виноват? В случае пролёта, все дохлые собаки твои будут. Из такого плана работы системы, людей надо полностью исключать, иначе гаплык. Ладно успехов.

    2019-06-30   21:21
    Лучший ответ #5
    Накопленные выплаты 0 RUB

    Добрый! Необходимо взять данные по максимальной просадке по закрытой сделке. Я думаю в пунктах. Промежуточное решение. Есть ли функция отдающая максимумы\минимумы за запрошенный период? Вопрос наверное к старичкам форума, есть ли что-то готовое в этом направлении?

    2019-07-01   15:50
    Лучший ответ #6
    Накопленные выплаты 0 RUB

    Я благодарю Вас за ответ. Спасибо большое! Но к сожалению, ваша функция учитывает лишь время, таким образом это подойдет лишь для внутридневного трейдера. У нас трейдеры могут удерживать сделку 2 - 4 дня. Кроме того, вы берете текущий таймфрейм. Получается, если трейдер торгует на 4 часовом таймфрейме и закрыл в первые минуты нового бара - расчет просадки будет по закрытому бару и автоматом добавит 3 часа торговли, несмотря на закрытую сделку. Это может существенно исказить данные по просадке. Появились несколько вопросов по задаче: 1) если трейдер не открывает в своем терминале менее чем 4 часовые бары, данные по барам 15 минуткам например вообще отсутствуют в терминале и их нельзя получить? 2) как получают данные по просадкам например ******** и другие подобные сервисы - там существует какая-то допустимая погрешность? Есть трейдеры которые замечали погрешность? 3) возможно есть сторонний сервис предоставляющий api для получения точного изменения цены за заданный период?

  2. Линк #1 Свернуть пост
    В начале пути
    AleksSerg стараюсь положительно себя зарекомендовать Аватар для AleksSerg
    Регистрация:
    30.06.2019
    Пол:
    Мужчина
    Сообщений:
    19
    Деньги за посты (Подробнее):
    0 RUB
    Поставил лайков:
    2
    Получено лайков:  0
    в 0 сообщениях
    0%
    Добрый!
    Необходимо взять данные по максимальной просадке по закрытой сделке. Я думаю в пунктах.

    Промежуточное решение. Есть ли функция отдающая максимумы\минимумы за запрошенный период?

    Вопрос наверное к старичкам форума, есть ли что-то готовое в этом направлении?


  3. post_thanks Получено лайков: 2

    Незарегистрированный (2 пользователя)

  4. Линк #2 Свернуть пост
    Специалист
    ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация Аватар для ir0407
    Регистрация:
    02.12.2010
    Сообщений:
    6,973
    Деньги за посты (Подробнее):
    155746 RUB
    Поставил(а) лайков:
    906
    Получено лайков:  7,116
    в 3,382 сообщениях
    102%
    Цитата Сообщение от AleksSerg Посмотреть сообщение
    Необходимо взять данные по максимальной просадке по закрытой сделке. Я думаю в пунктах.
    Если в пунктах, то это делается довольно тривиально...
    Цитата Сообщение от AleksSerg Посмотреть сообщение
    Промежуточное решение. Есть ли функция отдающая максимумы\минимумы за запрошенный период?
    Есть, называются iLowest() или iHighest().
    Цитата Сообщение от AleksSerg Посмотреть сообщение
    есть ли что-то готовое в этом направлении?
    Готового не помню, но если ориентировочно, без учета спреда, то примерно так. Набросал по быстряку, на коленке...
    MQL код:

    int GetDrawdownPips(int Type, double OpenPrice, datetime OpenTime, datetime CloseTime)
    {
    int Result = 0;
    double MaxDrawdownPrice = 0.0;
    int StartBar = iBarShift(NULL, 0, CloseTime);
    int StopBar = iBarShift(NULL, 0, OpenTime);

    switch(Type)
    {
    case OP_BUY:
    MaxDrawdownPrice = iLow(NULL, PERIOD_CURRENT, iLowest(NULL, PERIOD_CURRENT, MODE_LOW, StopBar - StartBar, StartBar));
    Result = int(NormalizeDouble(OpenPrice - MaxDrawdownPrice, Digits) / Point);
    break;
    case OP_SELL:
    MaxDrawdownPrice = iHigh(NULL, PERIOD_CURRENT, iHighest(NULL, PERIOD_CURRENT, MODE_HIGH, StopBar - StartBar, StartBar));
    Result = int(NormalizeDouble(MaxDrawdownPrice - OpenPrice, Digits) / Point);
    break;
    }
    return(Result);
    }

    Последний раз редактировалось Gold; 01.07.2019 в 00:35. Причина: Тег

  5. post_thanks Получено лайков: 2

    shk1per (01.07.2019), Незарегистрированный (1 пользователь)

  6. Линк #3 Свернуть пост
    В начале пути
    AleksSerg стараюсь положительно себя зарекомендовать Аватар для AleksSerg
    Регистрация:
    30.06.2019
    Пол:
    Мужчина
    Сообщений:
    19
    Деньги за посты (Подробнее):
    0 RUB
    Поставил лайков:
    2
    Получено лайков:  0
    в 0 сообщениях
    0%
    Я благодарю Вас за ответ.
    Цитата Сообщение от ir0407 Посмотреть сообщение
    Промежуточное решение. Есть ли функция отдающая максимумы\минимумы за запрошенный период?

    Есть, называются iLowest() или iHighest().
    Насколько я понял из документации, эта функция возвращает относительно последнего бара. То есть не заданный период начало\конец, а лишь с одним параметром.

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

    Цитата Сообщение от ir0407 Посмотреть сообщение

    Спасибо большое!
    Но к сожалению, ваша функция учитывает лишь время, таким образом это подойдет лишь для внутридневного трейдера. У нас трейдеры могут удерживать сделку 2 - 4 дня.
    Кроме того, вы берете текущий таймфрейм. Получается, если трейдер торгует на 4 часовом таймфрейме и закрыл в первые минуты нового бара - расчет просадки будет по закрытому бару и автоматом добавит 3 часа торговли, несмотря на закрытую сделку. Это может существенно исказить данные по просадке.

    Появились несколько вопросов по задаче:
    1) если трейдер не открывает в своем терминале менее чем 4 часовые бары, данные по барам 15 минуткам например вообще отсутствуют в терминале и их нельзя получить?
    2) как получают данные по просадкам например ******** и другие подобные сервисы - там существует какая-то допустимая погрешность? Есть трейдеры которые замечали погрешность?
    3) возможно есть сторонний сервис предоставляющий api для получения точного изменения цены за заданный период?


  7. post_thanks Получено лайков: 2

    Незарегистрированный (2 пользователя)

  8. Линк #4 Свернуть пост
    Специалист
    ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация Аватар для ir0407
    Регистрация:
    02.12.2010
    Сообщений:
    6,973
    Деньги за посты (Подробнее):
    155746 RUB
    Поставил(а) лайков:
    906
    Получено лайков:  7,116
    в 3,382 сообщениях
    102%
    Цитата Сообщение от AleksSerg Посмотреть сообщение
    Насколько я понял из документации, эта функция возвращает относительно последнего бара. То есть не заданный период начало\конец, а лишь с одним параметром.
    Вы неправильно поняли. Внимательно читайте документацию.
    Цитата Сообщение от AleksSerg Посмотреть сообщение
    Но к сожалению, ваша функция учитывает лишь время, таким образом это подойдет лишь для внутридневного трейдера. У нас трейдеры могут удерживать сделку 2 - 4 дня.
    Да хоть 2-4 года... Ей пофигу... Чем дольше сделка будет в рынке тем меньше будет погрешность в результате.
    Цитата Сообщение от AleksSerg Посмотреть сообщение
    Кроме того, вы берете текущий таймфрейм. Получается, если трейдер торгует на 4 часовом таймфрейме и закрыл в первые минуты нового бара - расчет просадки будет по закрытому бару и автоматом добавит 3 часа торговли, несмотря на закрытую сделку. Это может существенно исказить данные по просадке.
    Я ничего не беру... Я просто набросал вам базовый вариант, который вы уже сами можете адаптировать под конкретные ваши нужды. Это делается, "как два байта переслать".

    Цитата Сообщение от AleksSerg Посмотреть сообщение
    1) если трейдер не открывает в своем терминале менее чем 4 часовые бары, данные по барам 15 минуткам например вообще отсутствуют в терминале и их нельзя получить?
    Данные любого ТФ всегда к вашим услугам, но возможно с некоторыми нюансами.
    Цитата Сообщение от AleksSerg Посмотреть сообщение
    2) как получают данные по просадкам например ******** и другие подобные сервисы - там существует какая-то допустимая погрешность? Есть трейдеры которые замечали погрешность?
    Погрешность есть всегда и везде. Если на счетах с жестким спредом погрешность будет минимальная и ее еще можно как-то учесть, то на счетах с плавающим спредом это практически невозможно, т.к. в исторических данных отсутствует достоверная информация о спреде в каждый конкретный момент времени. Поэтому расчет просадки по историческим данным для разных ДЦ и для разных типов счетов будет всегда разным и совсем не факт, что он будет 100% достоверным.

    Цитата Сообщение от AleksSerg Посмотреть сообщение
    3) возможно есть сторонний сервис предоставляющий api для получения точного изменения цены за заданный период?
    Ввиду вышеизложенного такого сервиса нет и быть не может. Потому что сколько ДЦ и сколько в каждом ДЦ типов счетов, столько будет и разных результатов. Плюс у каждого ДЦ свой поставщик котировок. И в каждом ДЦ для каждого типа счета стоят собственные фильтры котировок, которые актуальны только для этого ДЦ и ни для кого более.


  9. post_thanks Получено лайков: 2

    Незарегистрированный (2 пользователя)

  10. Линк #5 Свернуть пост
    В начале пути
    Шумайлов Михаил стараюсь положительно себя зарекомендовать Аватар для Шумайлов Михаил
    Регистрация:
    23.01.2019
    Пол:
    Мужчина
    Сообщений:
    23
    Деньги за посты (Подробнее):
    795 RUB
    Поставил лайков:
    3
    Получено лайков:  19
    в 15 сообщениях
    83%
    Цитата Сообщение от AleksSerg Посмотреть сообщение
    Добрый!
    Необходимо взять данные по максимальной просадке по закрытой сделке. Я думаю в пунктах.
    Промежуточное решение. Есть ли функция отдающая максимумы\минимумы за запрошенный период?
    Вопрос наверное к старичкам форума, есть ли что-то готовое в этом направлении?
    Есть такой индикатор, i-baleq. Может он подойдет... https://www.mql5.com/ru/code/9702


  11. post_thanks Получено лайков: 1

    Незарегистрированный (1 пользователь)

  12. Линк #6 Свернуть пост
    Кандидат форумных наук
    MonyaMaker хорошая репутация MonyaMaker хорошая репутация MonyaMaker хорошая репутация MonyaMaker хорошая репутация MonyaMaker хорошая репутация MonyaMaker хорошая репутация Аватар для MonyaMaker
    Регистрация:
    03.04.2017
    Пол:
    Мужчина
    Сообщений:
    1,448
    Деньги за посты (Подробнее):
    44887 RUB
    Поставил лайков:
    262
    Получено лайков:  531
    в 483 сообщениях
    37%
    Цитата Сообщение от AleksSerg Посмотреть сообщение
    Добрый!
    Необходимо взять данные по максимальной просадке по закрытой сделке. Я думаю в пунктах.

    Промежуточное решение. Есть ли функция отдающая максимумы\минимумы за запрошенный период?

    Вопрос наверное к старичкам форума, есть ли что-то готовое в этом направлении?
    А что изменилось в вашей торговой методике, что Вы задумались о функции для расчета просадки?
    Увеличилось количество ордеров, как следствие риски? Вы стали торговать программно, а до этого торговали руками и вспомогательными средствами?
    Раньше с помощью измерителя вы смотрели просадку непосредственно на графике, а теперь захотелось, чтобы цифры оставались?
    В таком случае замониторте счет на май ф икс буке, там много разных параметров торговли посмотреть можно.


  13. post_thanks Получено лайков: 1

    Незарегистрированный (1 пользователь)

  14. Линк #7 Свернуть пост
    В начале пути
    AleksSerg стараюсь положительно себя зарекомендовать Аватар для AleksSerg
    Регистрация:
    30.06.2019
    Пол:
    Мужчина
    Сообщений:
    19
    Деньги за посты (Подробнее):
    0 RUB
    Поставил лайков:
    2
    Получено лайков:  0
    в 0 сообщениях
    0%
    Цитата Сообщение от ir0407 Посмотреть сообщение
    Да хоть 2-4 года... Ей пофигу... Чем дольше сделка будет в рынке тем меньше будет погрешность в результате.
    Мои извинения. Смутило название переменных openTIME и closeTIME. Но там действительно DateTime.
    Да, все работает. В расчет берете цену открытия, таким образом спред учитывается.

    Цитата Сообщение от ir0407 Посмотреть сообщение
    Погрешность есть всегда и везде. Если на счетах с жестким спредом погрешность будет минимальная и ее еще можно как-то учесть, то на счетах с плавающим спредом это практически невозможно, т.к. в исторических данных отсутствует достоверная информация о спреде в каждый конкретный момент времени. Поэтому расчет просадки по историческим данным для разных ДЦ и для разных типов счетов будет всегда разным и совсем не факт, что он будет 100% достоверным.
    Да конечно. Но хотелось бы погрешность свести к минимуму.


  15. post_thanks Получено лайков: 2

    Незарегистрированный (2 пользователя)

  16. Линк #8 Свернуть пост
    В начале пути
    AleksSerg стараюсь положительно себя зарекомендовать Аватар для AleksSerg
    Регистрация:
    30.06.2019
    Пол:
    Мужчина
    Сообщений:
    19
    Деньги за посты (Подробнее):
    0 RUB
    Поставил лайков:
    2
    Получено лайков:  0
    в 0 сообщениях
    0%
    Цитата Сообщение от Шумайлов Михаил Посмотреть сообщение
    Есть такой индикатор, i-baleq. Может он подойдет... https://www.mql5.com/ru/code/9702
    Спасибо большое!
    На графике рисуется эквити от баланса. Вероятно возьму за фундамент после тестирования.


  17. Линк #9 Свернуть пост
    В начале пути
    AleksSerg стараюсь положительно себя зарекомендовать Аватар для AleksSerg
    Регистрация:
    30.06.2019
    Пол:
    Мужчина
    Сообщений:
    19
    Деньги за посты (Подробнее):
    0 RUB
    Поставил лайков:
    2
    Получено лайков:  0
    в 0 сообщениях
    0%
    Цитата Сообщение от MonyaMaker Посмотреть сообщение
    А что изменилось в вашей торговой методике, что Вы задумались о функции для расчета просадки?
    Здравствуйте!
    Я разработчик. Есть заказ на разработку данного функционала. Я не программировал на mql раньше.
    У клиента несколько десятков трейдеров. Необходимо нарисовать график их доходности и соблюдения манимеджмента.

    Цитата Сообщение от MonyaMaker Посмотреть сообщение
    Увеличилось количество ордеров, как следствие риски? Вы стали торговать программно, а до этого торговали руками и вспомогательными средствами?
    У трейдеров уже накопилось сделок. Чем и как торгуют я не интересовался, для моей задаче это не имеет значения.

    Заметил сегодня что у одного трейдера удалились сделки из истории терминала. Не пойму почему, это настройка терминала такая, или трейдер может удалять историю? Мне говорили они не удаляются.

    Цитата Сообщение от MonyaMaker Посмотреть сообщение
    Раньше с помощью измерителя вы смотрели просадку непосредственно на графике, а теперь захотелось, чтобы цифры оставались?
    Для руководителя компании нужен удобный функционал контроля надо доходностью группы трейдеров.

    Цитата Сообщение от MonyaMaker Посмотреть сообщение
    В таком случае замониторте счет на май ф икс буке, там много разных параметров торговли посмотреть можно.
    Рассматривался такой вариант. Но в личном кабинете планируется существенно расширить возможности в измерениях.
    Я даже думал изначально забирать данные из myfx book или аналогичного сервиса, но не нашел кто бы их отдавал. в частности fx book не отдает просадку через Api.
    Возможно даже это к лучшему. Не будет зависимости от сторонних сервисов, практика показывает усложнение системы приводит к частым ошибкам.


  18. post_thanks Получено лайков: 2

    Незарегистрированный (2 пользователя)

  19. Линк #10 Свернуть пост
    Кандидат форумных наук
    MonyaMaker хорошая репутация MonyaMaker хорошая репутация MonyaMaker хорошая репутация MonyaMaker хорошая репутация MonyaMaker хорошая репутация MonyaMaker хорошая репутация Аватар для MonyaMaker
    Регистрация:
    03.04.2017
    Пол:
    Мужчина
    Сообщений:
    1,448
    Деньги за посты (Подробнее):
    44887 RUB
    Поставил лайков:
    262
    Получено лайков:  531
    в 483 сообщениях
    37%
    Цитата Сообщение от AleksSerg Посмотреть сообщение
    Здравствуйте!
    Я разработчик. Есть заказ на разработку данного функционала. Я не программировал на mql раньше.
    У клиента несколько десятков трейдеров. Необходимо нарисовать график их доходности и соблюдения манимеджмента.
    ... и риск менеджмента.
    Плохо, когда разработчик не разбирается в прикладной области и не имеет опыта.
    Но, все когда то начинали.
    Заказчик то хоть в курсе, или тоже начинающий?

    График он и в Африке график, с этим проблем быть не должно.

    У трейдеров уже накопилось сделок.
    Подозреваю, что тебе это надо ещё позавчера было написать?
    Один счет - один трейдер, или они в куче тогруют, несколько, на одном счете?

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

    Заметил сегодня что у одного трейдера удалились сделки из истории терминала. Не пойму почему, это настройка терминала такая, или трейдер может удалять историю? Мне говорили они не удаляются.
    Из истории счета.
    Журналирование надо делать однозначно, при нарушении регламента торговли, ДЦ может аннулировать сделки, правда сейчас это достаточно редко встречается.
    В ассортименте ещё много шуток-прибауток, и у каждого дц свой ассортимент.

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

    Рассматривался такой вариант. Но в личном кабинете планируется существенно расширить возможности в измерениях.
    Я даже думал изначально забирать данные из myfx book или аналогичного сервиса, но не нашел кто бы их отдавал. в частности fx book не отдает просадку через Api.
    Возможно даже это к лучшему. Не будет зависимости от сторонних сервисов, практика показывает усложнение системы приводит к частым ошибкам.
    Эта часть в зависимости от подготовки , времени и средств, вариантов много.
    В том числе и со своим серваком базами данных и т.д. и т.п.
    Ты сам понимаешь, за что взялся?

    Те не проконтролировали, те не успели, а кто виноват?
    В случае пролёта, все дохлые собаки твои будут.
    Из такого плана работы системы, людей надо полностью исключать, иначе гаплык.
    Ладно успехов.

    Последний раз редактировалось MonyaMaker; 02.07.2019 в 13:35.

  20. post_thanks Получено лайков: 2

    Незарегистрированный (2 пользователя)

  21. Линк #11 Свернуть пост
    В начале пути
    AleksSerg стараюсь положительно себя зарекомендовать Аватар для AleksSerg
    Регистрация:
    30.06.2019
    Пол:
    Мужчина
    Сообщений:
    19
    Деньги за посты (Подробнее):
    0 RUB
    Поставил лайков:
    2
    Получено лайков:  0
    в 0 сообщениях
    0%
    Цитата Сообщение от MonyaMaker Посмотреть сообщение
    Из такого плана работы системы, людей надо полностью исключать, иначе гаплык.
    Ладно успехов.
    Характер ваших комментариев не подразумевает ответа. Флуд никому не интересен.
    И вам успехов.


  22. Линк #12 Свернуть пост
    Кандидат форумных наук
    MonyaMaker хорошая репутация MonyaMaker хорошая репутация MonyaMaker хорошая репутация MonyaMaker хорошая репутация MonyaMaker хорошая репутация MonyaMaker хорошая репутация Аватар для MonyaMaker
    Регистрация:
    03.04.2017
    Пол:
    Мужчина
    Сообщений:
    1,448
    Деньги за посты (Подробнее):
    44887 RUB
    Поставил лайков:
    262
    Получено лайков:  531
    в 483 сообщениях
    37%
    Цитата Сообщение от AleksSerg Посмотреть сообщение
    Характер ваших комментариев не подразумевает ответа. Флуд никому не интересен.
    И вам успехов.
    Да не вопрос, флуд так флуд, ток в декабре 2019 отпишись, что у тебя всё путем, и ты реально поднялся, а не полный гемор получил.
    Бывай.


    p.s.
    К слову, я риск и просадку считаю в динамике, для типа позиции и инструмента, это часть кода, а дальше по усмотрению и целям мероприятия.

    Последний раз редактировалось MonyaMaker; 02.07.2019 в 15:46.

  23. Линк #13 Свернуть пост
    Специалист
    ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация Аватар для ir0407
    Регистрация:
    02.12.2010
    Сообщений:
    6,973
    Деньги за посты (Подробнее):
    155746 RUB
    Поставил(а) лайков:
    906
    Получено лайков:  7,116
    в 3,382 сообщениях
    102%
    Цитата Сообщение от AleksSerg Посмотреть сообщение
    В расчет берете цену открытия, таким образом спред учитывается.
    Нет, спред не учитывается. Как минимум для коротких поз. Как известно графики в терминале в основном Bid-овые. А в рынке присутствует две цены Ask и Bid. И если для длинных поз по таким графикам постоянный спред будет учитываться автоматом, то для коротких поз в результат нужно добавлять еще и размер спреда, потому что цена Ask при отрисовке графика не используется и как следствие никак не учитывается при получении исторических данных через функции iLow(), iLowest(), iHigh() и iHighest().


  24. post_thanks Получено лайков: 1

    Незарегистрированный (1 пользователь)

  25. Линк #14 Свернуть пост
    В начале пути
    AleksSerg стараюсь положительно себя зарекомендовать Аватар для AleksSerg
    Регистрация:
    30.06.2019
    Пол:
    Мужчина
    Сообщений:
    19
    Деньги за посты (Подробнее):
    0 RUB
    Поставил лайков:
    2
    Получено лайков:  0
    в 0 сообщениях
    0%
    Цитата Сообщение от ir0407 Посмотреть сообщение
    Нет, спред не учитывается. Как минимум для коротких поз. Как известно графики в терминале в основном Bid-овые. А в рынке присутствует две цены Ask и Bid. И если для длинных поз по таким графикам постоянный спред будет учитываться автоматом, то для коротких поз в результат нужно добавлять еще и размер спреда, потому что цена Ask при отрисовке графика не используется и как следствие никак не учитывается при получении исторических данных через функции iLow(), iLowest(), iHigh() и iHighest().
    Ясно, спасибо!
    Первая погрешность.


  26. post_thanks Получено лайков: 1

    Незарегистрированный (1 пользователь)

  27. Линк #15 Свернуть пост
    В начале пути
    AleksSerg стараюсь положительно себя зарекомендовать Аватар для AleksSerg
    Регистрация:
    30.06.2019
    Пол:
    Мужчина
    Сообщений:
    19
    Деньги за посты (Подробнее):
    0 RUB
    Поставил лайков:
    2
    Получено лайков:  0
    в 0 сообщениях
    0%
    Цитата Сообщение от ir0407 Посмотреть сообщение
    функция расчета просадки
    Усложняю вашу функцию. Исправил отрицательный вывод, иногда трейдеры входят идеально, без просадки, а функция возвращает отрицательное значение.

    Провел эксперимент с отсутствующими данными о котировках в терминале. Данные функция возвращает заоблачные. Из документации iBarShift не возвращает -1 или null если данных нет. Возможно ли заранее что данных по данному периоду нет в терминале?

    Необходимо перевести пункты в $. Формулу нашел. Но она индивидуальна для каждой пары получается. Может быть есть что-то готовое?


  28. post_thanks Получено лайков: 1

    Незарегистрированный (1 пользователь)

  29. Линк #16 Свернуть пост
    Специалист
    ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация Аватар для ir0407
    Регистрация:
    02.12.2010
    Сообщений:
    6,973
    Деньги за посты (Подробнее):
    155746 RUB
    Поставил(а) лайков:
    906
    Получено лайков:  7,116
    в 3,382 сообщениях
    102%
    Цитата Сообщение от AleksSerg Посмотреть сообщение
    Исправил отрицательный вывод, иногда трейдеры входят идеально, без просадки, а функция возвращает отрицательное значение.
    Вы путаетесь в мелочах.
    1. "Идеально" на форе войти в рынок не реально в принципе. В любом случае будет либо спред, либо комиссия, которые при постановке ордера сразу дают минусовый профит.
    2. Вы пытаетесь на исторических данных учесть какие-то сиюминутные гипотетические моменты реалтайма, которых там:
    а) может не быть в принципе.
    б) о кторых исторические данные ни сном ни духом.
    Тем самым вы вносите(или, как вариант, не вносите ) дополнительные погрешности в свои расчеты.
    Хотите минимальных погрешностей? Не вопрос... Стройте все свои расчеты на самом мелком ТФ и будет вам счастье.
    Цитата Сообщение от AleksSerg Посмотреть сообщение
    Из документации iBarShift не возвращает -1 или null если данных нет.
    Все она правильно возвращает. Внимательно читайте документацию по использованию этой функции.
    Цитата Сообщение от AleksSerg Посмотреть сообщение
    Возможно ли заранее что данных по данному периоду нет в терминале?
    Возможно. Именно это я имел ввиду, когда говорил о нюансах в этой фразе.
    Цитата Сообщение от ir0407 Посмотреть сообщение
    Данные любого ТФ всегда к вашим услугам, но возможно с некоторыми нюансами.
    В отличии от МТ5 в МТ4 исторические данные по каждому ТФ, благодаря оптимизации работы терминала с сервером, строятся независимо. Если вы долго не пользовались каким либо ТФ, то данных по нему за некоторые периоды, вероятнее всего, очень даже может и не быть в терминале в какой-то конкретный момент времени. Поэтому, при работе с историческими данными, всегда нужно обрабатывать ошибки функций возвращающих эти данные, чтобы:
    а) убедиться, что вы получаете действительно актуальные данные.
    б) если данные не актуальны(присутствует ошибка на выходе функции) дать терминалу время на подкачку недостающих данных.
    Цитата Сообщение от AleksSerg Посмотреть сообщение
    Необходимо перевести пункты в $.
    А разве валюта депозита может быть только в зеленых президентах?
    Цитата Сообщение от AleksSerg Посмотреть сообщение
    Формулу нашел. Но она индивидуальна для каждой пары получается.
    Ну... Не то чтобы совсем для каждой пары... Но для групп пар - это точно. Под группами я подразумеваю прямые пары, обратные и кроссы.

    Цитата Сообщение от AleksSerg Посмотреть сообщение
    Может быть есть что-то готовое?
    Лучшее "готовое" - это когда сделаешь это "готовое" самостоятельно. Оно и для лучшего понимания предмета пользительно будет... Или, как вариант, поройтесь на форуме mql4.com. Однако там вам тоже придется собирать свою хотелку из разрозненных и не всегда универсальных кусочков кода. Хотя, если включить соображалку, то все это можно написать за пару часов с кофе и тестами.


  30. post_thanks Получено лайков: 2

    Незарегистрированный (2 пользователя)

  31. Линк #17 Свернуть пост
    В начале пути
    AleksSerg стараюсь положительно себя зарекомендовать Аватар для AleksSerg
    Регистрация:
    30.06.2019
    Пол:
    Мужчина
    Сообщений:
    19
    Деньги за посты (Подробнее):
    0 RUB
    Поставил лайков:
    2
    Получено лайков:  0
    в 0 сообщениях
    0%
    Цитата Сообщение от ir0407 Посмотреть сообщение
    Вы путаетесь в мелочах.
    1. "Идеально" на форе войти в рынок не реально в принципе. В любом случае будет либо спред, либо комиссия, которые при постановке ордера сразу дают минусовый профит.
    2. Вы пытаетесь на исторических данных учесть какие-то сиюминутные гипотетические моменты реалтайма, которых там:
    а) может не быть в принципе.
    б) о кторых исторические данные ни сном ни духом.
    Тем самым вы вносите(или, как вариант, не вносите ) дополнительные погрешности в свои расчеты.
    Хотите минимальных погрешностей? Не вопрос... Стройте все свои расчеты на самом мелком ТФ и будет вам счастье.
    Вы зря так самоуверенно утверждаете. Входят в шорт на падающем рынке и цена продолжает падать. Согласно логики вашей функции она находит максимум цены из отрезка который ниже входа, в результате получаем математически отрицательное число.

    Название: prosadka.jpg
Просмотров: 32

Размер: 41.1 КБ


  32. post_thanks Получено лайков: 2

    Незарегистрированный (2 пользователя)

  33. Линк #18 Свернуть пост
    Специалист
    ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация Аватар для ir0407
    Регистрация:
    02.12.2010
    Сообщений:
    6,973
    Деньги за посты (Подробнее):
    155746 RUB
    Поставил(а) лайков:
    906
    Получено лайков:  7,116
    в 3,382 сообщениях
    102%
    Цитата Сообщение от AleksSerg Посмотреть сообщение
    Вы зря так самоуверенно утверждаете. Входят в шорт на падающем рынке и цена продолжает падать. Согласно логики вашей функции она находит максимум цены из отрезка который ниже входа, в результате получаем математически отрицательное число.
    Дык все правильно она считает... Отрицательные значения у нее на выходе говорят о том, что просадки небыло. И эти отрицательные значения можно купировать, как внутри функции, на выходе, так и за ее пределами. И это не ошибка. Я намеренно не обрезал ничего, потому что
    1. Это все таки базовый вариант, который нужно допиливать до своих нужд, и из кода функции ясно видно, что отсутствие просадки будет давать отрицательный результат.
    2. Я решил, что вы сами определитесь, как с этим поступить в необходимом вам случае.
    И кстати о птичках... Вернее о более точных результатах на мелких ТФ. Я набросал тестовый скриптик с этой функцией и на ТФ М1 результат более соответствует реальности чем на Н1. И в этом случае, если еще учесть в расчетах спред и/или комиссию, то просадка для приведенного случая все таки будет, на пару-тройку пунктов всего, но будет. Скрипт прилагаю...


    paperclip Вложения

    Последний раз редактировалось ir0407; 04.07.2019 в 14:18.