Торговая система "Брейк-аут"

Автор:Чао Чжан, Дата: 2024-02-21 14:02:28
Тэги:

img

Обзор

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

Принцип стратегии

Эта стратегия использует полосы Боллинджера для определения областей прорыва цен. полосы Боллинджера состоят из простой скользящей средней линии n дней и ее мультипликатора стандартного отклонения. Здесь мы рассчитываем 20-дневную скользящую среднюю наивысшей цены и самой низкой цены для определения верхней и нижней рельсы полос Боллинджера, а также средней верхней и нижней рельсы в качестве базовой линии.

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

Анализ преимуществ

  • Стратегия использует тенденции и инерцию цен, что соответствует основным характеристикам рынка.
  • Боллингерские полосы четко указывают цены прорыва
  • Логика стратегии проста и ясна, легко понять и изменить
  • Условия остановки потерь могут быть установлены для контроля рисков

Анализ рисков

  • Болинджерские полосы не могут полностью предсказать поведение цен, цены могут резко колебаться
  • Сигналы прорыва могут быть неверными, что приводит к торговым потерям
  • Опираясь исключительно на прорыв цен для определения времени торговли, можно легко повлиять на шум на рынке

Решения:

  • Комбинировать другие показатели для подтверждения сигналов прорыва
  • Соответствующее регулирование параметров для обеспечения эффективных сигналов прорыва
  • Установите стоп-потеря для контроля одиночных потерь

Руководство по оптимизации

  • Испытание производительности при различных параметрах и выбор оптимальных параметров
  • Включить другие показатели для фильтрации ложных прорывов, таких как объем торговли
  • Комбинировать стратегии тренда и реверсии для торговли в различных рыночных условиях
  • Оптимизировать на основе параметров для различных сортов
  • Включить алгоритмы машинного обучения для прогнозирования ценовых тенденций и ключевых ценовых точек

Резюме

Это стратегия прорыва цены, основанная на полосах Боллинджера. Она использует характеристики прорыва цен для выявления торговых возможностей. Преимущества заключаются в том, что она проста, проста в реализации; недостатки заключаются в том, что могут быть ложные прорывы, приводящие к потерям. Мы можем оптимизировать эту стратегию путем корректировки параметров, включения других индикаторов и установки стоп-лосса для достижения хороших результатов в бэкстестинге и живой торговле. В целом эта стратегия подходит для рыночных условий, которые могут полностью использовать тенденцию тренда цен.


/*backtest
start: 2023-02-14 00:00:00
end: 2024-02-20 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0

//Break out trading system works best in a weekly chart and daily chart of Nifty and BankNifty
//@version=4

strategy("Eswar New",shorttitle = "ESW")
length = input(20, minval=1)
exit = input(1, minval=1, maxval=2,title = "Exit Option") // Use Option 1 to exit using lower band; Use Option 2 to exit using basis line

lower = lowest(length)
upper = highest(length)
basis = avg(upper, lower)

l = plot(lower, color=color.blue)
u = plot(upper, color=color.blue)
plot(basis, color=color.orange)
fill(u, l, color=color.blue)

longCondition = crossover(close,upper[1])
if (longCondition)
    strategy.entry("Long", strategy.long)

if(exit==1)
    if (crossunder(close,lower[1]))
        strategy.close("Long")

if(exit==2) 
    if (crossunder(close,basis[1]))
        strategy.close("Long")


Больше