Стратегия торговли по тренду на основе скользящей средней


Дата создания: 2023-12-11 15:05:31 Последнее изменение: 2023-12-11 15:05:31
Копировать: 0 Количество просмотров: 576
1
Подписаться
1621
Подписчики

Стратегия торговли по тренду на основе скользящей средней

Обзор

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

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

Сначала стратегия вычисляет простую скользящую среднюю a длиной l и скорость изменения цены r длиной l. Затем вычисляет разницу между текущей K-линейной ценой и скользящей средней k.

Когда sum>0 означает, что в настоящее время находится в восходящем тренде, стратегия будет делать больше. Когда sum означает, что в настоящее время находится в нисходящем тренде, стратегия будет пустой.

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

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

Самым большим преимуществом этой стратегии является то, что она способна уловить тренд и подходит для торговли трендами. В частности, есть следующие преимущества:

  1. Используя движущиеся средние для определения направления общей тенденции, можно эффективно отфильтровать рыночный шум и зафиксировать основные тенденции.

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

  3. Рассматривая несколько K-линий в течение определенного периода, можно более точно судить о тенденциях и избежать einzelne Ausreißer in die Irre führen.

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

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

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

  1. Невозможно точно определить, когда закончится тренд, возможно, преждевременно остановить убыток или пропустить часть прибыли.

  2. Невозможно эффективно контролировать размер отдельных потерь, а в крайних случаях они могут быть значительными.

  3. Неправильные параметры стратегии могут привести к слишком частому трейдингу или упущению некоторых торговых возможностей.

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

Для управления рисками можно установить стоп-лосс, торговать только высоколиквидными товарами, оптимизировать параметры и разумно использовать леверинг.

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

Эта стратегия может быть оптимизирована в следующих аспектах:

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

  2. Попробуйте другие показатели, такие как MACD, чтобы определить тенденции и повысить точность.

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

  4. В сочетании с показателями волатильности устанавливается динамический стоп-лосс, снижающий риск экстремальных ситуаций.

  5. Оптимизация логики открытия и закрытия позиций, фильтрация ложных прорывов и повышение эффективности торгов.

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

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

Исходный код стратегии
/*backtest
start: 2023-12-03 00:00:00
end: 2023-12-10 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy("Indicator Integrator Strat",default_qty_type = strategy.percent_of_equity, default_qty_value = 100,currency="USD",initial_capital=662, overlay=false)

l = input(defval=170,title="Length for indicator")
s = input(title="Length of summation",defval=18)
a= sma(close,l)
r=roc(close,l)
k=close-a
sum = 0
for i = 0 to s
    sum := sum + k[i]
//plot(a,color=yellow,linewidth=2,transp=0)
//bc =  iff( sum > 0, white, teal)
//plot(sum,color=bc, transp=20, linewidth=3,style=columns)
//plot(sma(sum,3),color=white)
//hline(0)

inpTakeProfit = input(defval = 0, title = "Take Profit", minval = 0)
inpStopLoss = input(defval = 0, title = "Stop Loss", minval = 0)
inpTrailStop = input(defval = 0, title = "Trailing Stop Loss", minval = 0)
inpTrailOffset = input(defval = 0, title = "Trailing Stop Loss Offset", minval = 0)
useTakeProfit = inpTakeProfit >= 1 ? inpTakeProfit : na
useStopLoss = inpStopLoss >= 1 ? inpStopLoss : na
useTrailStop = inpTrailStop >= 1 ? inpTrailStop : na
useTrailOffset = inpTrailOffset >= 1 ? inpTrailOffset : na

////buyEntry = crossover(source, lower)
////sellEntry = crossunder(source, upper)
if sum>0
    strategy.entry("BBandLE", strategy.long, oca_name="BollingerBands",  comment="BBandLE")
else
    strategy.cancel(id="BBandLE")
if sum<0
    strategy.entry("BBandSE", strategy.short, oca_name="BollingerBands",  comment="BBandSE")
else
    strategy.cancel(id="BBandSE")

strategy.initial_capital = 50000
plot(strategy.equity-strategy.initial_capital-strategy.closedtrades*.25/2, title="equity", color=red, linewidth=2)
hline(0)
//longCondition = sum>0
//exitlong = sum<0

//shortCondition = sum<0
//exitshort = sum>0

//strategy.entry(id = "Long", long=true, when = longCondition)
//strategy.close(id = "Long", when = exitlong)
//strategy.exit("Exit Long", from_entry = "Long", profit = useTakeProfit, loss = useStopLoss, trail_points = useTrailStop, trail_offset = useTrailOffset, when=exitlong)

//strategy.entry(id = "Short", long=false, when = shortCondition)
//strategy.close(id = "Short", when = exitshort)
//strategy.exit("Exit Short", from_entry = "Short", profit = useTakeProfit, loss = useStopLoss, trail_points = useTrailStop, trail_offset = useTrailOffset, when=exitshort)