Эта стратегия строит длинные и короткие каналы, систематически проверяя прорывы канала.
Постройте длинный канал с самыми высокими ценами за определенный период, и короткий канал с самыми низкими ценами.
Покупайте, когда цена перешагнут верхнюю линию канала.
Продайте, когда цена опустится ниже нижней линии канала.
Можно установить диапазон даты обратного теста для проверки стратегии.
Простые и понятные правила торговли.
Каналы визуально определяют ценовые диапазоны.
Высокая вероятность повышения импульса после прорыва.
Обратное тестирование проверяет эффективность стратегии в историческом плане.
Концепция выхода из канала проста и интуитивна.
Конкретный код, легкий для модификации и оптимизации.
Риски ложного выхода и отступления после первоначального выхода.
Нет эффективного способа установки остановок и выходов.
Неправильные параметры канала негативно влияют на производительность.
Результаты обратных тестов могут быть предвзятыми.
Реальные результаты торговли могут сильно отличаться от обратных тестов.
Испытать параметры для поиска оптимальных комбинаций.
Добавьте другие факторы, чтобы отфильтровать ложные прорывы.
Встройте механизмы стоп-лосса и прибыли.
Правильно обрабатывайте данные обратного теста, чтобы исключить предвзятость.
Проверка стратегии в различных рыночных условиях с помощью бэкстеста.
Бумажная торговля для настройки параметров для торговли в реальном времени.
Эта стратегия проверяет простые правила прорыва канала, которые просты в эксплуатации, но требуют усовершенствования для стабильности.
/*backtest start: 2023-08-20 00:00:00 end: 2023-08-30 00:00:00 period: 4h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 //strategy(title = "Backtest Donchian Teixeira", default_qty_type = strategy.fixed, default_qty_value = 100, overlay = true, commission_type = strategy.commission.cash_per_order, commission_value = 2.50, precision = 2, calc_on_every_tick = true, pyramiding = 0, initial_capital = 10000) testStartYear = input(2000, "Backtest Start Year") testStartMonth = input(1, "Backtest Start Month") testStartDay = input(1, "Backtest Start Day") testPeriodStart = timestamp(testStartYear, testStartMonth, testStartDay, 00, 00) testEndYear = input(2018, "Backtest End Year") testEndMonth = input(12, "Backtest End Month") testEndDay = input(1, "Backtest End Day") testPeriodEnd = timestamp(testStartYear, testStartMonth, testStartDay, 23, 59) window() => true //nao funciona length1 = input(20, minval=1, title="Upper Channel") length2 = input(20, minval=1, title="Lower Channel") dcUpper = highest(length1) dcLower = lowest(length2) plot(dcLower, style=line, linewidth=1, color=red, offset=1) plot(dcUpper, style=line, linewidth=1, color=lime, offset=1) plot(dcLower, style=line, linewidth=1, color=gray) if (strategy.position_size == 0) strategy.entry("COMPRA", true, stop = dcUpper) if (strategy.position_size > 0) strategy.exit("VENDA", stop = dcLower)