
Эта стратегия, которая сочетает в себе движущиеся средние, индикаторы ширины и индикаторы перехода параллельной линии, позволяет оценить тренд и подтвердить точку перелома, и является типичной стратегией отслеживания тренда. Когда оценка находится в восходящей тенденции, а цена превышает максимальную точку, устанавливается многополосная позиция для отслеживания тренда.
Стратегия использует двойные EMA для определения ценового тренда с помощью вспомогательного суждения SMA. Быстрый EMA находится над медленным EMA, а быстрый SMA - над медленным SMA.
Используйте параллельную линию, чтобы определить точку обратного хода цены. Когда PSAR проходит через самую высокую точку цены, это означает, что цена может перевернуться вниз.
Когда цена оценивается как восходящая и проходит через самую высокую точку на PSAR, это означает, что цена продолжает расти, и в это время следует следить за тенденцией.
Решение проблемы:
Эта стратегия в целом относится к более типичной стратегии отслеживания тенденций. Преимущества заключаются в том, что правила более ясные и простые, способные распознавать перевороты тенденций; недостатки - более чувствительные к параметрам, существует определенный риск преследования. В целом, стоит дальнейшей оптимизации и проверки в реальном времени после корректировки.
/*backtest
start: 2023-11-27 00:00:00
end: 2023-12-27 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
strategy("Buy Dip MA & PSAR", overlay=true)
PSAR_start = input(0.02)
PSAR_increment = input(0.02)
PSAR_maximum = input(0.2)
EMA_fast = input(20)
EMA_slow = input(40)
SMA_fast = input(100)
SMA_slow = input(200)
emafast = ema(close, EMA_fast)
emaslow = ema(close, EMA_slow)
smafast = sma(close, SMA_fast)
smaslow = sma(close, SMA_slow)
psar = sar(PSAR_start, PSAR_increment, PSAR_maximum)
uptrend = emafast > emaslow and smafast > smaslow
breakdown = not uptrend
if (psar >= high and uptrend)
strategy.entry("Buy", strategy.long, stop=psar, comment="Buy")
else
strategy.cancel("Buy")
if (psar <= low)
strategy.exit("Close", "Buy", stop=psar, comment="Close")
else
strategy.cancel("Close")
if (breakdown)
strategy.close("Buy")
plot(emafast, color=blue)
plot(emaslow, color=red)