Стратегия параболического поиска и спасания


Дата создания: 2023-09-18 21:59:08 Последнее изменение: 2023-09-18 21:59:08
Копировать: 0 Количество просмотров: 674
1
Подписаться
1617
Подписчики

Обзор

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

Принципы

Паралельная линия перехода показателя SAR (Stop and Reverse) является основным показателем, определяющим рыночную тенденцию, и относится к индикатору отслеживания тенденции.

Если SAR находится ниже цены, то это означает, что цена находится в плюсе, а если SAR находится выше, то это означает, что цена находится в минусе.

Если SAR находится выше цены, то это означает понижение, а если SAR находится ниже, то это означает повышение.

Стратегия заключается в том, чтобы торговать с прорывом SAR-индикатора в качестве сигнала.

Преимущества

  1. Показатель SAR позволяет точно определить потенциальные переломные моменты.

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

  3. SAR в качестве стоп-стоп-позиции Setting, чтобы избежать замены.

  4. Не требуется никаких других показателей или фильтров.

  5. Оптимизация параметров проста, используйте настройки по умолчанию.

Риски и решения

  1. Показатель SAR может часто давать сигналы при сворачивании. Можно добавлять фильтры для определения трендовых явлений.

  2. Стоп-стоп, находящийся вблизи текущей цены, может быть преодолен. Стоп-стоп следует соответственно ослабить.

  3. Не учитывается фактор объема сделки.

  4. Вывод может быть значительным. Должна быть установлена соответствующая позиция для ограничения риска.

  5. Обратный тренд не обязательно будет успешным.

Оптимизация

  1. Тест на то, получают ли лучшие результаты при корректировке параметров SAR.

  2. Показатели, такие как MACD, используются для определения успешности обратного подхода.

  3. Разработать механизм динамического мобильного сдерживания убытков.

  4. Оптимизируйте открытие складов и используйте сигналы SAR.

  5. Исследование присоединяется к логике обратного подтверждения.

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

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

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

//@version=3
strategy("Parabolic SAR Strategy", overlay=true)

// 
// author: Kozlod
// date: 2018-09-03
// https://www.tradingview.com/u/Kozlod/
// 

start = input(0.02)
increment = input(0.02)
maximum = input(0.2)

////////////////////////////////////////////////////////////////////////////////
// BACKTESTING RANGE
 
// From Date Inputs
fromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
fromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
fromYear = input(defval = 2018, title = "From Year", minval = 1970)
 
// To Date Inputs
toDay = input(defval = 1, title = "To Day", minval = 1, maxval = 31)
toMonth = input(defval = 1, title = "To Month", minval = 1, maxval = 12)
toYear = input(defval = 2019, title = "To Year", minval = 1970)
 
// Calculate start/end date and time condition
startDate = timestamp(fromYear, fromMonth, fromDay, 00, 00)
finishDate = timestamp(toYear, toMonth, toDay, 00, 00)
time_cond = true
 
////////////////////////////////////////////////////////////////////////////////

psar = sar(start, increment, maximum)

// Signals
psar_long  = high[1] < psar[2] and high > psar[1] 
psar_short = low[1]  > psar[2] and low  < psar[1] 

// Plot PSAR
plotshape(psar, location = location.absolute, style = shape.cross, size = size.tiny, color = low < psar[1] and not psar_long ? green : red)


if (psar >= high and time_cond)
    strategy.entry("ParLE", strategy.long, stop=psar, comment="ParLE")
else
    strategy.cancel("ParLE")

if (psar <= low and time_cond)
    strategy.entry("ParSE", strategy.short, stop=psar, comment="ParSE")
else
    strategy.cancel("ParSE")

if (not time_cond)
    strategy.close_all()