Эта стратегия использует принцип пересечения движущихся средних, чтобы определить направление тренда через пересечение быстрой и медленной линий, чтобы дать сигнал о покупке и продаже. Эта стратегия проста и надежна и подходит для инвесторов, которые стремятся к стабильной прибыли.
Эта стратегия использует два движущихся средних: 7-дневный средний как быстрая линия и 5-месячный средний как медленная линия. Быстрая линия быстрее улавливает изменения цен, медленная линия устраняет шум и определяет направление тренда.
В частности, стратегия производит сигнал покупки, когда 7-я линия пересекает майскую линию вверх, и сигнал продажи, когда 7-я линия пересекает майскую линию вверх. Также стратегия производит визуальную маркировку времени, когда сигнал производится.
Эта стратегия имеет следующие преимущества:
Теория основана на простом и надежном принципе, основанном на широко известном принципе пересечения скользящих средних.
Используя только две скользящие средние, выбор параметров прост и легко реализуется.
Использование комбинации быстрого и медленного курса позволяет эффективно идентифицировать тенденции и фильтровать рыночный шум.
Используя различные циклические средние линии, они могут улавливать изменения тенденций в разных временных масштабах.
Это очень просто, код понятен, логика понятна.
Визуальные сигналы указывают на то, что операционные решения должны быть более четкими.
Однако эта стратегия также несет в себе некоторые риски:
На основе только равнолинейного перекрестного действия, легко создать ошибочный сигнал.
Невозможно эффективно оценить, насколько сильна или слаба тенденция, и часто может быть приостановлена во время землетрясения.
Фиксированный средний цикл не может адаптироваться к изменениям рынка и требует оптимизации параметров.
“Мы не можем определить, где купить или продать, и существует определенный риск, связанный с рыночными операциями”.
На более простой теоретической основе, эффект может быть снижен, а прибыль ограничена.
Эта стратегия может быть оптимизирована в следующих аспектах:
Добавление других индикаторов для определения точек купли-продажи, например, индикатор KDJ для определения перекупа и перепродажи.
Добавление механизмов для предотвращения убытков, таких как отслеживание убытков и предотвращение их увеличения.
Оптимизация параметров среднелинейного цикла для адаптации к различным циклам.
Повышение фильтрации трафика, чтобы избежать ложных прорывов.
Оценка сильных и слабых тенденций, например, вычисление среднелинейного скольжения, операции с разной интенсивностью.
В сочетании с более детальным анализом временных циклов, можно судить о том, будет ли тенденция продолжаться.
Эта стратегия основана на принципе пересечения движущихся средних и позволяет легко и надежно идентифицировать бычьи и медные тенденции. Преимущества заключаются в простоте и простоте использования, а недостатки - в том, что существует определенный риск слепого следования тенденции. Методы, такие как оптимизация параметров, добавление вспомогательных показателей, могут повысить эффективность стратегии.
/*backtest
start: 2022-09-30 00:00:00
end: 2023-10-06 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/
// © dadashkadir
//@version=4
strategy("Mount MaV - Day MaV CrossOver Strgty", shorttitle="Yusram Str.", overlay=true)
src = input(title= "Kaynak", type=input.source, defval=close)
mav = input(title="Hareketli Ortlama Tipi", defval="SMA", options=["SMA", "EMA", "WMA"])
Gbar = input(title="Günlük Bar Sayısı", defval=7, minval=1, maxval=999)
Abar = input(title="Aylık Bar Sayısı", defval=5, minval=1, maxval=999)
//displacement = input(20, minval=1, title="Displacement")
getMA(src, length) =>
ma = 0.0
if mav == "SMA"
ma := sma(src, length)
ma
if mav == "EMA"
ma := ema(src, length)
ma
if mav == "WMA"
ma := wma(src, length)
ma
ma
long = "M" //Aylık
ln = security(syminfo.ticker, long, src)
lnma = getMA(ln, Abar)
gnma = getMA(src, Gbar)
col1= gnma>gnma[1]
col3= gnma<gnma[1]
colorM = col1 ? color.green : col3 ? color.navy : color.yellow
l1 = plot(lnma, title="MhO", trackprice = true, style=plot.style_line, color=color.red, linewidth=3)
l2 = plot(gnma, title="DhO", trackprice = true, style=plot.style_line, color=colorM, linewidth=3)
fill(l1, l2, color = lnma < gnma ? color.green : color.red, title="Gölgelendirme", transp=90)
zamanaralik = input (2020, title="Backtest Başlangıç Tarihi")
al = crossover (gnma, lnma) and zamanaralik <= year
sat = crossover (lnma, gnma) and zamanaralik <= year
plotshape(al, title = "Giriş", text = 'Al', style = shape.labelup, location = location.belowbar, color= color.green, textcolor = color.white, transp = 0, size = size.tiny)
plotshape(sat, title = "Çıkış", text = 'Sat', style = shape.labeldown, location = location.abovebar, color= color.red, textcolor = color.white, transp = 0, size = size.tiny)
FromDay = input(defval = 1, title = "Str. Başlama Tarihi Gün", minval = 1, maxval = 31)
FromMonth = input(defval = 1, title = "Str. Başlama Tarihi Ay", minval = 1, maxval = 12)
FromYear = input(defval = 2015, title = "Str. Başlama Tarihi Yıl", minval = 2005)
ToDay = input(defval = 1, title = "Str. Bitiş Tarihi Gün", minval = 1, maxval = 31)
ToMonth = input(defval = 1, title = "Str. Bitiş Tarihi Ay", minval = 1, maxval = 12)
ToYear = input(defval = 9999, title = "Str. Bitiş Tarihi Yıl", minval = 2006)
Start = timestamp(FromYear, FromMonth, FromDay, 00, 00)
Finish = timestamp(ToYear, ToMonth, ToDay, 23, 59)
Timerange() =>
time >= Start and time <= Finish ? true : false
if al
strategy.entry("Al", strategy.long, when=Timerange())
if sat
strategy.entry("Sat", strategy.short, when=Timerange())