
Стратегия 20-го уровня - это стратегия для отслеживания тенденции. Ее основная идея заключается в том, что, когда цена пересекает определенный ключевой уровень, она показывает, что тенденция изменилась, и тогда можно создать позиции на покупку или продажу в зависимости от направления прорыва.
Эта стратегия выбрала 20-дневную среднюю линию в качестве ключевого уровня. Когда цена закрытия превышает 20-дневную среднюю линию сверху, делайте больше; когда цена закрытия превышает 20-дневную среднюю линию снизу, делайте больше.
Стратегия 20-го уровня использует 20-дневную среднюю линию в качестве критерия для определения прорыва тренда. Когда цена сверху пробивает 20-дневную среднюю линию, это означает, что она находится в нисходящем тренде, и тогда она делает пробел; когда цена снизу пробивает 20-дневную среднюю линию, это означает, что она находится в восходящем тренде, и тогда она делает больше.
Эта стратегия одновременно объединяет показатели MACD, чтобы определить ситуацию. Пустой сигнал подается только в том случае, если MACD является красным столбцом; многозначный сигнал подается только в том случае, если MACD является зеленым столбцом. Это позволяет избежать ошибочного сигнала при сборе.
В частности, логика стратегии заключается в следующем:
Такой настройка позволяет стратегии вовремя ловить возможности для отслеживания рыночных тенденций, когда тенденции меняются.
Стратегия прорыва 20 уровней имеет следующие преимущества:
Простые в использовании и внедрении. Правила вычисления и определения 20-дневной средней линии очень просты и просты.
Обратные действия относительно незначительны. Используя ценовой прорыв в качестве сигнала для создания запаса, можно эффективно избежать ненужных обратных операций.
Сильная способность следить за трендами. 20-дневная средняя линия может хорошо отражать изменения среднесрочных и краткосрочных тенденций. Фильтрация в сочетании с индикатором MACD позволяет избежать ошибочного позиционирования при колебании тренда.
Также существуют риски, связанные со стратегией прорыва на 20-м уровне:
При резких колебаниях цены 20-дневный средний метод будет задерживаться и может пропустить оптимальный момент входа.
При консолидированных условиях цены могут часто пробиваться вверх и вниз. Если нет хорошей фильтрации показателей, то будет слишком много недействительных сделок.
Стратегия не учитывает величину колебаний цен на акции. Если не использовать волатильный показатель, то рискуется чрезмерный убыток.
Фиксированная позиция стоп-стоп также влияет на эффективность стратегии. Это требует корректировки параметров в соответствии с различными стандартами.
Стратегия прорыва на уровне 20 может быть оптимизирована в следующих аспектах:
Попробуйте различные среднелинейные циклы, например, 10-дневный, 30-дневный и т.д., чтобы увидеть, какой цикл лучше отслеживает тенденции.
Добавление показателя волатильности, динамическое корректирование позиции в зависимости от колебаний цен на акции. Это позволяет эффективно контролировать риск.
Оптимизируйте положение стоп-стоп. Можно рассчитать оптимальные параметры на основе исторических данных.
Попробуйте использовать ormapSignal в сочетании с другими показателями, такими как KDJ, линией буринга и т. д. Это может уменьшить количество недействительных сделок.
Разработка улучшенных версий, поиск более крупных тенденций на более высоких временных рамках, а затем их внедрение на более низких временных рамках.
Стратегия прорыва на 20 уровней определяет поворотные моменты тенденции с помощью ценовых прорывов, имеет преимущества в простоте эксплуатации и сильной способности отслеживать тенденции. Но также существуют некоторые риски, которые требуют дальнейшей оптимизации для адаптации к сложности рынка. В целом, стратегия прорыва на 20 уровней, как более фундаментальная стратегия отслеживания тенденций, все еще имеет большое место для улучшения.
/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
//@version=4
strategy("20 Level Breakout", overlay=true)
baseLevel = math.floor(close * 100) /100
eigthylevel = baseLevel - 0.002
twentyLevel = baseLevel + 0.002
takeprofitL = baseLevel - 0.01
stoplossL = baseLevel + 0.02
takeprofitS = baseLevel + 0.015
stoplossS = baseLevel - 0.02
isPriceAboveLevel(price, level) =>
price > level
breakout = close > twentyLevel and close > baseLevel
breakoutl = close < eigthylevel and close < baseLevel
// Entry condition: Only enter if there are no open trades and the close is between baseLevel and baseLevel + 0.01
isLong = breakout and close > baseLevel and close <= (baseLevel + 0.01) and ta.rsi(close, 14) > 40 and ta.ema(close,50)<close
isShort = breakoutl and close < baseLevel and close >= (baseLevel - 0.01)
// Debugging
plot(isLong ? 1 : 0, color=color.blue, style=plot.style_histogram)
plotshape(isLong, style=shape.triangledown, color=color.green, size=size.small)
plotshape(isShort, style = shape.triangleup, color = color.red, size = size.small)
// Plotting the stop loss line
plot(stoplossL, color=color.red, linewidth=2, title="Take Profit")
plot(stoplossS, color=color.green, linewidth = 2, title = " Take Profit")
strategy.entry("Short", strategy.short, when=isLong, stop =twentyLevel)
strategy.exit("Stop Loss/Profit", "Short", stop = stoplossL , limit = takeprofitL)
strategy.entry("Long",strategy.long, when=isShort , stop = eigthylevel )
strategy.exit("Stop loss/Profit", "Long", stop = stoplossS , limit = takeprofitS)