Разработка алгоритма take profit по частям

Проектируем и разрабатываем блокчейн-решения полного цикла: от архитектуры смарт-контрактов до запуска DeFi-протоколов, NFT-маркетплейсов и криптобирж. Аудит безопасности, токеномика, интеграция с существующей инфраструктурой.
Показано 1 из 1Все 1306 услуг
Разработка алгоритма take profit по частям
Простой
от 1 дня до 3 дней
Часто задаваемые вопросы

Направления блокчейн-разработки

Этапы блокчейн-разработки

Последние работы

  • image_website-b2b-advance_0.webp
    Разработка сайта компании B2B ADVANCE
    1288
  • image_web-applications_feedme_466_0.webp
    Разработка веб-приложения для компании FEEDME
    1198
  • image_websites_belfingroup_462_0.webp
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    902
  • image_ecommerce_furnoro_435_0.webp
    Разработка интернет магазина для компании FURNORO
    1122
  • image_logo-advance_0.webp
    Разработка логотипа компании B2B Advance
    589
  • image_crm_enviok_479_0.webp
    Разработка веб-приложения для компании Enviok
    859

Разработка алгоритма take profit по частям

Частичное закрытие позиции (partial take profit) позволяет зафиксировать часть прибыли по мере достижения целей, оставляя оставшуюся часть позиции для дальнейшего роста. Это компромисс между «продать всё рано» и «держать до конца».

Логика частичного take profit

Вместо одной цели — несколько уровней фиксации прибыли:

Вход: 1 BTC по $40,000
TP1 (25% позиции): $42,000 → продаём 0.25 BTC, profit $500
TP2 (50% оставшегося): $44,000 → продаём 0.375 BTC, profit $1,500
TP3 (остаток): trailing stop от $44k → продаём 0.375 BTC при срабатывании

После TP1 переносим стоп-лосс в безубыток (break-even). После TP2 — trailing stop.

Расчёт уровней take profit

Fibonacci-based: уровни фиксации на 127.2%, 161.8%, 261.8% от первоначального движения.

R:R based: если стоп $500 (1R), то TP1 = 1R ($500), TP2 = 2R ($1000), TP3 = 3R ($1500).

ATR-based: TP1 = entry + 1.5 × ATR, TP2 = entry + 3 × ATR, TP3 = trailing.

Реализация

class PartialTakeProfit:
    def __init__(self, total_qty, take_profit_levels):
        """
        take_profit_levels: [(price, pct_of_current), ...]
        """
        self.remaining_qty = total_qty
        self.levels = take_profit_levels
        self.completed_levels = set()
    
    def check_levels(self, current_price):
        actions = []
        for i, (tp_price, pct) in enumerate(self.levels):
            if i not in self.completed_levels and current_price >= tp_price:
                sell_qty = self.remaining_qty * pct
                self.remaining_qty -= sell_qty
                self.completed_levels.add(i)
                actions.append({'action': 'partial_close', 'qty': sell_qty, 'price': tp_price})
        return actions

Break-even stop после первого TP: при исполнении TP1 переносим стоп-лосс на цену входа. Оставшаяся позиция — «free ride».

Разрабатываем модуль частичного take profit с настраиваемыми уровнями, автоматическим переносом стопа в break-even и опциональным trailing stop для последней части позиции.