
Стратегия динамического колебания истощения - это стратегия отслеживания тенденций, которая использует скользящие средние и показатели процента цены для минимизации риска падения. Эта стратегия относится к модели торговли индексными фондами и позволяет эффективно контролировать риск.
Основными показателями этой стратегии являются цены на истощение и средние цены на истощение. Цены на истощение являются показателями колебаний цен, которые рассчитываются из цен на закрытие, цены на высочайшее и цены на низкое. Конкретный метод расчета: ((подвижная средняя цены на закрытие + цены на высочайшее + цены на низкое - цены на истощение) / ((подвижная средняя цены на истощение) ). Средние цены на истощение являются средними значениями на истощение.
Кроме того, стратегия также использует долгосрочные скользящие средние, чтобы помочь определить тенденцию, включая 300-дневную линию, 150-дневную линию и 50-дневную линию. Когда краткосрочные скользящие средние пересекают долгосрочные скользящие средние, это означает обратный тренд, и следует учитывать остановку.
MACD также используется для определения краткосрочной точки покупки и продажи. Когда MACD в линию проходит сигнальную линию, она становится более высокой, а когда она проходит сигнальную линию, она становится более низкой. Низкий RSI также используется в качестве сигнала покупки.
Конкретная логика входа и выхода:
Условия покупки: средняя линия убыли на уровне убыли и 50-дневная линия выше 150-дневная линия; или RSI ниже 30 ◦
Краткосрочные условия остановки: проход через среднюю линию истощения при значении истощения; или через линию сигнала при MACD.
Средне- и долгосрочные условия остановки: 50 дней по линии через 150 дней; или 150 дней по линии через 300 дней.
Эта стратегия включает в себя несколько показателей, определяющих тенденцию к исчерпанию конца времени, чтобы контролировать риск, и имеет следующие преимущества:
Показатели истощения позволяют эффективно оценивать свертывание и обратный тренд. Своевременное обнаружение обратного тренда является ключом к эффективному контролю риска.
Используйте скользящие средние для определения тенденций, чтобы избежать ошибочного восприятия краткосрочного рынка.
MACD помогает определить точки купли-продажи, повышая эффективность стратегии.
Индекс RSI использует эффективность низкой покупки и высокой продажи, покупая во время перепадов.
Четкая стратегия стоп-стоп, позволяющая эффективно контролировать риск каждой сделки.
Однако эта стратегия несет в себе определенные риски:
Неправильная настройка параметров может привести к ошибкам в торговых сигналах, основанных на различных показателях. Параметры для оптимизации необходимо повторно тестировать.
Показатели истощения не являются полностью надежными и могут быть неэффективными в случае низкого отклонения цены.
Неправильная установка стоп-пойнтов может привести к сверхкоротким колебаниям. Стоп-пойнты должны учитывать долгосрочные эффекты стратегии.
При колебаниях в целом, индикаторы будут недействительны, поэтому необходимо следить за размером позиций.
Эта стратегия может быть оптимизирована в следующих аспектах:
Тестирование различных комбинаций параметров, чтобы найти оптимальные параметры для уменьшения ошибочного сигнала. Ключевые параметры, которые могут быть отрегулированы, включают средний цикл, цикл истощения и т. Д.
В сочетании с показателями волатильности, такими как ATR, динамически корректируйте степень остановки, а при больших волатильностях отпустите степень остановки.
Оптимизация управления позициями, различные правила пропорций позиций могут быть настроены на различные стадии большого диска.
В сочетании с графическими показателями, такими как накопительная линия, опорная линия, повышается эффективность стратегии в реальном бою.
Добавление алгоритмов машинного обучения, которые помогут оценить эффективность ключевых показателей и оптимизировать динамику.
Стратегия динамического истощения использует несколько показателей для определения обратного тренда, чтобы контролировать торговый риск. Эта стратегия обладает способностью отслеживать тренд, чтобы эффективно оценить время покупки и продажи. Эффективность стратегии может быть дополнительно повышена путем оптимизации параметров, установки правил стоп-лоста, помощи графических показателей и т. Д. В целом, эта стратегия обладает определенной адаптивностью к колебаниям в больших биржах и может использоваться в качестве одного из вариантов стратегии с управляемым риском.
/*backtest
start: 2022-11-09 00:00:00
end: 2023-11-15 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/
// © spiritualhealer117
//@version=4
strategy("Infiten Slope Strategy", overlay=false,calc_on_every_tick = true, default_qty_type=strategy.percent_of_equity, default_qty_value = 100)
// //TIME RESTRICT FOR BACKTESTING {
// inDateRange = (time >= timestamp(syminfo.timezone, 2003,
// 1, 1, 0, 0)) and
// (time < timestamp(syminfo.timezone, 2021, 5, 25, 0, 0))
// //}
//OPTIMAL PARAMETERS {
daysback = 30
volumesens = 1.618
//}
//Calculating Exhaustion and Exhaustion Moving Average {
clh = close+low+high
exhaustion = (clh-sma(clh,daysback))/sma(clh,daysback)
exhaustionSma = sma(exhaustion,daysback)
//}
//Long Term Moving Averages for sell signals {
red = sma(close,300)
white = sma(close,150)
blue = sma(close,50)
plot(red,color=color.red)
plot(white,color=color.white)
plot(blue,color=color.blue)
//}
//MACD Calculation {
fast_length = input(title="Fast Length", type=input.integer, defval=12)
slow_length = input(title="Slow Length", type=input.integer, defval=26)
src = input(title="Source", type=input.source, defval=close)
signal_length = input(title="Signal Smoothing", type=input.integer, minval = 1, maxval = 50, defval = 9)
sma_source = input(title="Simple MA (Oscillator)", type=input.bool, defval=false)
sma_signal = input(title="Simple MA (Signal Line)", type=input.bool, defval=false)
// Calculating
fast_ma = sma_source ? sma(src, fast_length) : ema(src, fast_length)
slow_ma = sma_source ? sma(src, slow_length) : ema(src, slow_length)
macd = fast_ma - slow_ma
signal = sma_signal ? sma(macd, signal_length) : ema(macd, signal_length)
hist = macd - signal
//}
//SIGMOID Bottom {
timeAdjust = 300/sma(close,500)
//}
//RSI bottom {
len = input(14, minval=1, title="Length")
up = rma(max(change(src), 0), len)
down = rma(-min(change(close), 0), len)
rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down))
//}
//Entry and exit conditions {
//Sell conditions
bigVolume = sma(volume,30)*volumesens
sellcond1 = crossunder(exhaustion,exhaustionSma) and volume > bigVolume
sellcond2 = crossunder(macd,signal) and volume > bigVolume
midtermsellcond1 = crossunder(blue,white)
longtermsellcond1 = white < red
//Buy conditions
buycond = crossover(exhaustion,exhaustionSma) and not longtermsellcond1
buycond2 = rsi < 30
buycond3 = crossover(blue,white) and longtermsellcond1
//}
//Backtest Run Buy/Sell Commands {
strategy.entry("buycond",true, when=buycond and bigVolume)
strategy.entry("buycond2",true, when=buycond2 and bigVolume)
strategy.close_all(when=sellcond1,comment="short term sell signal 1")
strategy.close_all(when=midtermsellcond1, comment="mid term sell signal 1")
strategy.close_all(when=longtermsellcond1, comment="long term sell signal 1")
strategy.close_all(when=sellcond2, comment="short term sell signal 2")
plot(strategy.position_size)
//Sell on last tested day (only for data collection)
//strategy.close_all(when=not inDateRange)
//}