
Эта стратегия использует равнолинейную модель для определения направления рыночных тенденций и регулярно устанавливает дополнительные позиции при тенденциях потери, чтобы отслеживать тенденции роста рыночных золотых кросс.
Эта стратегия основана на следующих технических принципах:
Используйте среднюю линию EMA, чтобы определить направление рыночной тенденции. Когда быстрая линия EMA пересекает медленную линию EMA, используйте ее как позитивную тенденцию, чтобы подготовиться к входу в многосторонний курс.
В сочетании с MACD-индикатором определяется момент входа в рынок. Когда MACD-индикатор становится отрицательным, это указывает на то, что рынок начинает ослабевать.
Ограничение доступа только один раз в месяц, чтобы избежать преследования. Количество посетителей может быть зафиксировано.
Можно установить дату начала и дату окончания, ограничить период отсчета. Когда отсчет заканчивается, стратегия устраняет все позиции.
В частности, эта стратегия сначала рассчитывает быструю и медленную линии EMA, а также обнаруживает связь между ними, чтобы определить рыночную тенденцию. В то же время рассчитывает индикатор MACD, чтобы определить конкретную точку входа.
Это более простая и непосредственная стратегия отслеживания трендов, которая имеет следующие преимущества:
Использование средней линии EMA для определения направления больших тенденций просто и практично. Средняя линия EMA имеет определенное сглаживающее действие на изменения цены и может эффективно отфильтровывать шум от колебаний рынка.
MACD позволяет более точно определить, когда структура покупок ослабевает, и таким образом снизить риск входа.
Ограничьтесь только одной операцией по отслеживанию в месяц, чтобы избежать преследования в бычьем рынке.
Разрешается настраивать количество входящих средств в месяц, а также гибкость в регулировании позиций в соответствии с собственной стратегией.
Для оценки эффективности стратегии можно провести обратную проверку с помощью даты начала и окончания.
Когда в конце отсчета будет ликвидирована позиция, можно избежать неудобства, связанного с тем, что при выходе из рынка в результате амулетной сделки позиция будет сохранена.
В этой стратегии также есть некоторые потенциальные риски, в частности:
Методы, основанные на оценке трендов, могут упускать возможности для краткосрочных корректировок или не реагировать достаточно быстро при обратном тренде. Можно уместно сократить цикл средних линий или добавить другие показатели для оптимизации.
Если вы делаете попытку отслеживания только один раз в месяц, вы можете пропустить лучшие моменты входа. Вы можете рассмотреть возможность расширить частоту входа или снова попасть в него, когда вы достигнете нового максимума.
Существует определенный риск обратной совместимости. Следует увеличить пространство для корректировки параметров и провести тестирование устойчивости на рынке и в течение периода времени.
Существуют риски задержки падения и перекупа. Следует должным образом контролировать ежемесячный входный капитал, избегая чрезмерной позиции.
Эта стратегия может быть расширена и оптимизирована в следующих аспектах:
Добавление логики EXIT, которая позволяет активно останавливать убытки при появлении явных медведей на рынке.
При создании индекса MACD Smile был добавлен еще один пункт, чтобы получить более полное воздействие на тренд.
Введение многоканального анализа, в котором новый максимум месяца сравнивается с новым максимумом предыдущего месяца, чтобы оценить, остается ли тенденция сильной.
Добавление логики контроля позиций. Размер ежемесячного входа может быть скорректирован в зависимости от пропорции, а не от фиксированного значения.
Оценить влияние различных комбинаций равнолинейных и MACD параметров на эффективность стратегии. Найти оптимальные комбинации параметров.
Добавление трейлинговой остановки, которая отслеживает убытки. После того, как цена достигнет нового максимума, она начинает отслеживать с определенной интенсивностью, чтобы прибыль продолжала работать.
Эта стратегия в целом представляет собой простую стратегию отслеживания тенденций, ее основные идеи ясны, ее легко реализовать и она подходит для проверки эффективности отслеживания тенденций в однородной линии и объединения фиксированных инвестиций. Она может быть изучена как одна из стратегий входа в количественную торговлю. Однако в реальном мире необходимо обратить внимание на контроль размеров позиций и продолжать оптимизировать стратегию, чтобы она могла адаптироваться к более сложным рыночным условиям.
/*backtest
start: 2023-01-01 00:00:00
end: 2023-10-30 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/
// © runescapeyttanic
//@version=4
// strategy("Buy and Hold entry finder Strategy",pyramiding=10000, overlay=true,initial_capital=0,default_qty_type=strategy.cash,default_qty_value=1000,currency = currency.EUR,commission_type=strategy.commission.cash_per_order,commission_value=0)
//INPUTS##################################################################################################################
maxEmaDistance = input(title="Maximum EMA Distance", type=input.float, step=0.01, defval=50000)
emalength = input(title="EMA Length", type=input.integer,defval=200)
// Make input options that configure backtest date range
startDate = input(title="Start Date", type=input.integer,
defval=1, minval=1, maxval=31)
startMonth = input(title="Start Month", type=input.integer,
defval=1, minval=1, maxval=12)
startYear = input(title="Start Year", type=input.integer,
defval=2020, minval=1800, maxval=2100)
endDate = input(title="End Date", type=input.integer,
defval=12, minval=1, maxval=31)
endMonth = input(title="End Month", type=input.integer,
defval=02, minval=1, maxval=12)
endYear = input(title="End Year", type=input.integer,
defval=2021, minval=1800, maxval=2100)
endDate1=endDate-1
//starttag
//startmonat
//MACD########################################################################################################################
fast_length=12
slow_length=26
src=close
col_macd=#0094ff
fast_ma = ema(src, fast_length)
slow_ma = ema(src, slow_length)
macd = fast_ma - slow_ma
//EMA Distance CALC########################################################################################################
ma1 =ema(close,emalength)
distFromMean = close - ma1
inDateRange = true
longCondition = (distFromMean<=maxEmaDistance and distFromMean>=distFromMean[1] and macd<=0 and inDateRange)
longnow=false
if(longCondition and strategy.position_size == 0)
strategy.entry("My Long Entry Id", strategy.long)
longnow:=true
if(longCondition and strategy.position_size > 0)
longnow:=true
if(longCondition and strategy.position_size > 0 and month>valuewhen(longnow, month ,1) or longCondition and strategy.position_size > 0 and year>valuewhen(longnow, year ,1) and inDateRange)
strategy.entry("My Long Entry Id", strategy.long)
plotchar(minute, "Minuten", "", location = location.top)
plotchar(hour, "Stunden", "", location = location.top)
plotchar(dayofmonth, "Tage", "", location = location.top)
plotchar(month, "Monat", "", location = location.top)
plotchar(year, "Jahr", "", location = location.top)
plotchar(strategy.position_size, "Positionen", "", location = location.top)
plotchar(longCondition, "Long Condition", "", location = location.top)
if true
strategy.close_all()
//#########################################################################################################################
plotArrow = if (distFromMean<=maxEmaDistance and distFromMean>=distFromMean[1] and macd<=0)
1
else
0
plotarrow(series=plotArrow)