Сайт находится в процессе разработки
Войти
Главная / Data science в трейдинге / Как автоматизировать торговлю с помощью бота Trade2Good: ускоряем анализ графиков

Как автоматизировать торговлю с помощью бота Trade2Good: ускоряем анализ графиков

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


Как с помощью бота автоматически анализировать графики OHLC

График OHLC — это диаграмма изменения цены актива за период времени. 

Диаграмма показывает 4 параметра: 

  • O — open (цена открытия бара); 

  • H — high (максимальная цена бара) 

  • L — low (минимальная цена бара)

  • C — close (цена закрытия бара)


    График OHLC


    Графики OHLC помогают трейдерам понять, как развивается цена в течение дня и какие основные характеристики движения цен были в этот день: 

    • начальная (open); 

    • максимальная (high); 

    • минимальная (low); 

    • заключительная (close) цена

    Обычно трейдеры анализируют графики OHLC вручную, чтобы: 

    Выявлять тренды. Например, если цена закрытия выше цены открытия и тело свечи зелёное — цена росла в течение времени и актив находится в восходящем тренде. 

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

    Выбирать время для покупки/продажи.  Например, если актив находится в восходящем тренде, это хороший момент для его покупки. 

    Бот даёт возможность анализировать графики OHLC автоматически: 

    Определяет восходящий тренд. Бот находит, когда максимумы, минимумы и цены закрытия находятся выше цен открытия. 


    Восходящий тренд на графике. Бот Trade2Good.

     if (data[‘high’][l_idx] > data[‘high’][l_idx — 1]) and

                (data[‘low’][l_idx] > data[‘low’][l_idx — 1]) and

                (data[‘close’][l_idx] > data[‘close’][l_idx — 1]):

            return ‘Upward Trend’


    Определяет нисходящий тренд. Бот находит, когда максимумы, минимумы и цены закрытия находятся ниже цен открытия. 


    Нисходящий тренд на графике. Бот Trade2Good.


    elif (data[‘high’][l_idx] < data[‘high’][l_idx — 1]) and

                (data[‘low’][l_idx] < data[‘low’][l_idx — 1]) and

                (data[‘close’][l_idx] < data[‘close’][l_idx — 1]):

            return ‘Downward Trend’

    Определяет флэт. Флэт — состояние рынка, при котором цена движется в определенном диапазоне без четкого направления. Бот Trade2Good автоматически определяет флэт. 

    Флэт на графике. Бот Trade2Good.

     elif (data[‘high’][l_idx] < data[‘high’][l_idx — 1]) and

                (data[‘low’][l_idx] > data[‘low’][l_idx — 1]):

            return ‘Flat Trend’

        else:

            return ‘Error’



    Протестируйте бота Trade2Good сейчас: это бесплатно

    Сейчас бот Trade2Good работает в тестовом режиме — вы можете использовать его для своей торговли бесплатно. Бот доступен по ссылке: https://t.me/t2g_test_bot


    Хотите одними из первых получить доступ к полной версии бота?

    Отправьте заявку на почту: i@sokolovg.ru

    В письме укажите ваши ФИО и контактный номер телефона. Мы пришлем вам письмо о запуске продукта, когда все будет готово.



    Бот определяет уровни сопротивления и поддержки

    Уровни сопротивления и поддержки помогают прогнозировать движение цен. На этих уровнях цена останавливается и начинает движение в противоположную сторону: 

    • на уровне поддержки цена прекращает снижаться и начинает расти; 

    • на уровне сопротивления цена прекращает расти и начинает падать.  


    С помощью бота Trade2Good можно находить уровни, чтобы: 


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


    — Лучше планировать сделки. Уровни можно использовать, чтобы находиться точки входа ,ставить стоп-лоссы и вовремя выходить из сделки . 


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


    Уровни поддержки. Бот Trade2Good.



    Уровни сопротивления. Бот Trade2Good.

     levels = {}

        lowest_value = min(data.low)

        highest_value = max(data.high)

        values = [val for i in range(len(data) — n_weeks, len(data)) for val in (data.high[i], data.low[i])]

        intervals = [(i, i + delta) for i in np.arange(lowest_value, highest_value, delta)]

        for low, high in intervals:

            count = sum(1 for v in values if low <= v < high)

            if count > 1:

                print(list(v for v in values if low <= v < high))

                levels[(low+high)/2] = count

        return levels


    Бот ищет точки разворота 

    Бот находит графические фигуры, которые говорят о высокой вероятности разворота цены. 


    Определяет разворот с нисходящего тренда в восходящий


    Разворот из нисходящего тренда в восходящий. Бот Trade2Good.


     if (data.close[i] > data.close[i — 1]) and

                    (data.close[i — 1] < data.close[i — 2]) and

                    (data.high[i] > data.high[i — 1]) and

                    (data.high[i — 1] < data.high[i — 2]) and

                    (data.low[i] > data.low[i — 1]) and

                    (data.low[i — 1] < data.low[i — 2]):

                if i == (len(data) — 1):

                    flag = True

                data[‘local_bottom’].iloc[i — 1] = data.low[i — 1]


    Определяет разворот с восходящего тренда в нисходящий 


       if (data.close[i] < data.close[i — 1]) and

                    (data.close[i — 1] > data.close[i — 2]) and

                    (data.high[i] < data.high[i — 1]) and

                    (data.high[i — 1] > data.high[i — 2]) and

                    (data.low[i] < data.low[i — 1]) and

                    (data.low[i — 1] > data.low[i — 2]):

                if i == (len(data) — 1):

                    flag = True

                data[‘local_top’].iloc[i — 1] = data.high[i — 1]


    В боте Trade2Good можно применять индикаторы 


    Индикатор Фракталы

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


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

    Фракталы — красные и зеленые стрелки. Бот Trade2Good.

      upper_fractal = (data[‘high’].shift(2) < data[‘high’].shift(1)) &

                                (data[‘high’].shift(1) < data[‘high’]) &

                                (data[‘high’] > data[‘high’].shift(-1)) &

                                (data[‘high’].shift(-1) > data[‘high’].shift(-2))


        lower_fractal = (data[‘low’].shift(2) > data[‘low’].shift(1)) &

                                (data[‘low’].shift(1) > data[‘low’]) &

                                (data[‘low’] < data[‘low’].shift(-1)) &

                                (data[‘low’].shift(-1) < data[‘low’].shift(-2))


        return upper_fractal, lower_fractal


    Индикатор ZigZag

    Индикатор ZigZag определяет на графике самые важные ценовые минимумы и максимумы — их он соединяет прямыми линиями и игнорирует мелкие колебания цены. На графике ZigZag выглядит как ломаная линия, наложенная поверх цены.


    Индикатор также встроен в бота Trade2Good — c его помощью можно определять ключевые движения цены, принимать обоснованные решения об открытии и закрытии позиции. 


    Индикатор ZigZag — ломаная синяя линия Бот Trade2Good.

    Часть кода для индикатора ZigZag в боте:


    def pivots(src_raw, length, isHigh):

            src = list(reversed(src_raw))

            bar_index = list(range(len(src)))

            for start in range(0, len(src)):

                if start + 2 * length + 1 > len(src) — 1:

                    return

                p = 0

                if length < len(src) — start:

                    p = src[start + length]

                if length == 0:

                    yield 0, p

                else:

                    isFound = True

                    for i in range(start, start + length):

                        if isHigh and src[i] > p:

                            isFound = False

                        if not isHigh and src[i] < p:

                            isFound = False

                    for i in range(start + length + 1, start + 2 * length + 1):

                        if isHigh and src[i] >= p:

                            isFound = False

                        c = not isHigh and src[i] <= p

                        if c:

                            isFound = False


    Индикаторы Market Profile и External Timeframe


    Индикатор Market Profile. Помогает определять, на каких уровнях цены проходило большинство торговых операций и насколько сбалансирован рынок. 


    Если цена движется вне области, где проходило большинство сделок, это может указывать на начало нового тренда. Индикатор выглядит как серые прямоугольники слева от графика. Чем больше высота у прямоугольника, тем больше в этот период происходило сделок.

    Индикатор Market Profile (серые прямоугольники слева)

    Индикатор External Timeframe. Дает возможность смотреть на рынок с разных перспектив, определять более крупные тренды или уровни поддержки/сопротивления, которые могут быть не так заметны на меньших таймфреймах.


    На графике External Timeframe выглядит как 4-часовые интервалы в виде свечей, объединенные в большие дневные интервалы цветными прямоугольниками. Цвет прямоугольника аналогичен цвету свечи. Например, на графике ниже видно общий восходящий дневной паттерн с 12 по 16 сентября.

    Индикатор External Timeframe (крупные цветные прямоугольники)

    charts.chart_mpet(df, symbol, interval, period)

    chart = open(‘images/chart_’ +

                                     chart_name + ‘_’ +

                                     symbol + ‘_’ +

                                     str(interval) + ‘_’ +

                                     str(period) + ‘.png’, ‘rb’)


    Бот выявляет паттерн пустоты

    Паттерн пустоты («void fill pattern») говорит о том, что на рынке есть сильное давление на покупку или продажу, из-за чего цена быстро двигается через разные уровни. 


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


    Зона пустоты на графике — прямоугольник бежевого цвета. Бот Trade2Good.


    Определяет восходящий паттерн пустоты 

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


      if (data.high[l_idx] > data.high[l_idx — 1] > data.high[l_idx — 2]) and

                (data.low[l_idx] > data.low[l_idx — 1] > data.low[l_idx — 2]) and

                (data.low[l_idx] > data.high[l_idx — 2]):

            return True, data.low[l_idx], data.high[l_idx — 2]


    Определяет нисходящий паттерн пустоты 

    Паттерн определяется, если даже максимальная цена текущего периода ниже минимальной цены два периода назад. Это говорит о сильном нисходящем движении.


      elif (data.high[l_idx] < data.high[l_idx — 1] < data.high[l_idx — 2]) and

                (data.low[l_idx] < data.low[l_idx — 1] < data.low[l_idx — 2]) and

                (data.high[l_idx] < data.low[l_idx — 2]):

            return True, data.high[l_idx], data.low[l_idx — 2]


    Коротко: как бот Trade2Good упрощает торговлю для трейдеров 


    Уже сейчас с помощью бота Trade2Good можно:  

    • определять тренды и точки разворота цены; 

    • находить уровни поддержки и сопротивления; 

    • применять индикаторы, находить другие сигналы и паттерны. 


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

     

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


    Протестируйте бота Trade2Good сейчас: это бесплатно


    Сейчас бот Trade2Good работает в тестовом режиме — вы можете использовать его для своей торговли бесплатно. Бот доступен по ссылке: https://t.me/t2g_test_bot


    Хотите одними из первых получить доступ к полной версии бота?

    Отправьте заявку на почту: i@sokolovg.ru

    В письме укажите ваши ФИО и контактный номер телефона. Мы пришлем вам письмо о запуске продукта, когда все будет готово. 

Кейс: как написать торгового робота в Metatrader 4
Сегодня автоматизированные алгоритмы для торговли на бирже становятся все популярнее. При этом дело не только в том, что трейдеры хотят...
Читать далее
Залог успешного входа в рынок: точки входа, соотношение риска и прибыли
Каждый трейдер знает, что залог успешной торговли — это понимание рынка и способность вовремя входить/выходить из сделок. Но как научиться...
Читать далее
Как Big Data помогает трейдерам в работе: три крутых примера
  Big Data — крутой инструмент для трейдинга, который может угадывать цены на рынке, находить ключевых игроков и управлять рисками...
Читать далее