Стратегия длинной торговли, основанная на прорыве диапазона


Дата создания: 2023-09-19 17:19:55 Последнее изменение: 2023-09-19 17:19:55
Копировать: 2 Количество просмотров: 623
1
Подписаться
1617
Подписчики

Обзор

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

Стратегический принцип

  1. Настройка параметров цикла просмотра, например, 4 дня.

  2. Это самые высокие цены за последние 4 дня.

  3. Если сегодняшний максимум превысит максимум за последние 4 дня, то сделайте больше.

  4. Если цена не может превзойти максимум за последние 4 дня, она может быть закрыта.

  5. С помощью обратного параметра можно переключаться в направлении многомерного вакуума.

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

Эта стратегия имеет следующие преимущества:

  1. Прорыв прост, сигнал ясен.

  2. Фиксируйте параметры прорыва, чтобы избежать сложной оптимизации параметров и переоптимизации.

  3. Удобное переключение в разных направлениях, адаптированное к различным рыночным условиям.

  4. Отслеживание тенденций позволяет отфильтровывать часть шума в фиксированном диапазоне.

  5. Не нужно рассчитывать сложные показатели, стратегия проста и эффективна.

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

Основные риски этой стратегии:

  1. Прорыв в пределах фиксированных, не способных адаптироваться к изменениям рынка.

  2. Существуют значительные потери, превышающие риск, не учитываемый при остановке.

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

  4. Необходимо учитывать, что шум может быть слишком частым, что может привести к повышенным затратам на транзакции.

  5. Параметры не оптимизированы, и использование параметров по умолчанию не дает оптимального эффекта.

Направление оптимизации

Это может быть улучшено в следующих аспектах:

  1. Оптимизация ключевых параметров, чтобы найти оптимальную комбинацию параметров.

  2. Включение динамических расчетов прорыва в диапазоне, основанных на ATR и т. д.

  3. Рассматривайте возможность включения движущегося или фиксированного пропорционального стоп-убытка.

  4. В сочетании с трендовыми индикаторами, избегайте чрезмерной торговли в условиях бурного рынка.

  5. Проверка устойчивости параметров в большем количестве торговых сортов.

  6. Добавление алгоритмов машинного обучения для автоматической оптимизации параметров.

Подвести итог

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

Исходный код стратегии
/*backtest
start: 2023-08-19 00:00:00
end: 2023-09-18 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version = 2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 28/11/2016
// Breakout Range Long Strategy
// You can change long to short in the Input Settings
// Please, use it only for learning or paper trading. Do not for real trading.
////////////////////////////////////////////////////////////
strategy(title="Breakout Range Long Strategy Backtest", overlay = true)
look_bak = input(4, minval=1, title="Look Bak")
reverse = input(false, title="Trade reverse")
xHighest = highest(high, look_bak)
pos =	iff(high > xHighest[1], 1, 0)
if (pos == 1 and strategy.position_size == 0 and reverse == false) 
    strategy.entry("Long", strategy.long)
if (pos == 1 and strategy.position_size == 0 and reverse == true) 
    strategy.entry("Short", strategy.short)
if (pos == 0 and strategy.position_size > 0)
    strategy.close("Long")
if (pos == 0 and strategy.position_size < 0)
    strategy.close("Short")
barcolor(strategy.position_size > 0 ? green: strategy.position_size < 0 ? red: blue)   
plotshape(pos, style=shape.triangleup, location = location.belowbar, color = green)