Как собрать часовые свечи из тиковых данных?

Или как правильно считать тени свечей?

  1. mrmvd

    Регистрация:
    19.03.20
    Сообщения:
    92
    Был на сайте:
    22.09.20

    При тестировании бота EnvelopeTrend, наткнулся на неприятную особенность тестера / оптимизатора: он считает тень свечи - законченной фигурой с одним проходом, хотя я бы на месте разработчика сделал бы так, чтобы тень свечи считалась двойным проходом по цене: сначала вверх, а потом вниз на лонге или сначала вниз, а потом вверх на шорте.

    Зачем?

    Чтобы короткие стопы уровня 0.1-0.5% обсчитывались верно. Сейчас если позиция открывается на тени свечи, то в тестере стоп срабатывает лишь на следующей свечке, а в реальной торговле - на той же самой свечке, где и открылось.

    Вот как видит открытие и закрытие по стопам тестер/оптимизатор:

    Открылись и закрылись на соседней.

    А вот как оно торгуется ботом:

    Мы видим срабатывание стопов в пределах свечи открытия.

    Вопрос 1:

    Соответственно, вопрос: каким образом можно собрать свечкной график из тиков или просто более мелкого таймфрейма и запустить этот сет в тестер или оптимизатор?

    Вопрос 2:

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

    mrmvd
    21.07.2020 13:02
    #1
  2. Алексей Ван Команда форума

    Регистрация:
    02.02.13
    Сообщения:
    1169
    Был на сайте:
    29.03.24
    Цитата: mrmvd

    При тестировании бота EnvelopeTrend, наткнулся на неприятную особенность тестера / оптимизатора: он считает тень свечи - законченной фигурой с одним проходом, хотя я бы на месте разработчика сделал бы так, чтобы тень свечи считалась двойным проходом по цене: сначала вверх, а потом вниз на лонге или сначала вниз, а потом вверх на шорте.

    Зачем?

    Чтобы короткие стопы уровня 0.1-0.5% обсчитывались верно. Сейчас если позиция открывается на тени свечи, то в тестере стоп срабатывает лишь на следующей свечке, а в реальной торговле - на той же самой свечке, где и открылось.

    Вот как видит открытие и закрытие по стопам тестер/оптимизатор:

    Открылись и закрылись на соседней.

    А вот как оно торгуется ботом:

    Мы видим срабатывание стопов в пределах свечи открытия.

    Вопрос 1:

    Соответственно, вопрос: каким образом можно собрать свечкной график из тиков или просто более мелкого таймфрейма и запустить этот сет в тестер или оптимизатор?

    Вопрос 2:

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

    Робот работает так как работает. И он работает не так как Вам охота. Я кажется пять раз уже это писал Вам. Хотите что-то поменять - учите программирование.

    1) В тестер можно запустить тиковые тесты. Это есть на канале и в мануалах. Когда робот на стопах как этот, нужно его тестировать на тиковых данных.

    2) Нет. Дело не в тени. А то что робот открывается через BuyAtStop. В тот момент когда происходит пробитие уровня линии энвелоп. 

    По поводу коротких стопов и того что Вам кажется что так быть не должно. Не ставьте короткие стопы - не будет быстрого срабатывания. 

    З.Ы. 

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

    Алексей Ван
    23.07.2020 08:03
    #2
  3. mrmvd

    Регистрация:
    19.03.20
    Сообщения:
    92
    Был на сайте:
    22.09.20
    Цитата: Алексей Ван
    Если хочешь чтобы в бесплатных роботах что-то под тебя менялось, нужно нанять программиста и сделать как тебе хочется либо отучиться самому. Других вариантов нет

    Всё, уговорил. Пошёл я изучать вашу премудрую науку. Написал бы ты в первом сообщении "у нас не программа - у нас фреймворк", я б тебя не мучал бы лишними вопросами.

    Цитата: Алексей Ван
    А то что робот открывается через BuyAtStop

    А я правильно понимаю, что BuyAtStop и SellAtStop - это ситуации, в которых робот выступает в роли тэйкера? Ведь если он при пересечении цены выставляет ордер, то скорее всего тот сразу и исполняется в стакане? Где-то вообще исполнение ордеров по типу "тейкер / мейкер" отслеживается?

    Я так пробежался по коду - я смотрю вообще проблема комиссии в программе не отражена, а значит никак не рассчитать ни затраты на долгосрочные плечи, и правильно не посчитать профит на сделку на биржах с динамической комиссией (от объёма).

    mrmvd
    29.07.2020 01:35
    #3
  4. Алексей Ван Команда форума

    Регистрация:
    02.02.13
    Сообщения:
    1169
    Был на сайте:
    29.03.24
    Цитата: mrmvd
    Цитата: Алексей Ван
    Если хочешь чтобы в бесплатных роботах что-то под тебя менялось, нужно нанять программиста и сделать как тебе хочется либо отучиться самому. Других вариантов нет

    Всё, уговорил. Пошёл я изучать вашу премудрую науку. Написал бы ты в первом сообщении "у нас не программа - у нас фреймворк", я б тебя не мучал бы лишними вопросами.

    Цитата: Алексей Ван
    А то что робот открывается через BuyAtStop

    А я правильно понимаю, что BuyAtStop и SellAtStop - это ситуации, в которых робот выступает в роли тэйкера? Ведь если он при пересечении цены выставляет ордер, то скорее всего тот сразу и исполняется в стакане? Где-то вообще исполнение ордеров по типу "тейкер / мейкер" отслеживается?

    Я так пробежался по коду - я смотрю вообще проблема комиссии в программе не отражена, а значит никак не рассчитать ни затраты на долгосрочные плечи, и правильно не посчитать профит на сделку на биржах с динамической комиссией (от объёма).

    1) бай и селл ат стоп не имеет отношения к тому кем будет ордер. не отслеживается

    2) комиссия есть в тестере и боевом подключении. в оптимизаторе пока нет

    Алексей Ван
    29.07.2020 09:56
    #4