
Эта стратегия использует двойной способ формирования торговых сигналов с помощью движущихся средних линий, чтобы генерировать сигнал покупки при прохождении долгосрочных движущихся средних линий на краткосрочных движущихся средних линах; генерировать сигнал продажи при прохождении долгосрочных движущихся средних линий под краткосрочными движущимися средними линиями. Эта стратегия в сочетании с функцией отслеживания тенденций движущихся средних линий позволяет эффективно улавливать ценовые тенденции и реализовывать трендовые сделки.
В этой стратегии используются индексные скользящие средние с двумя различными циклами: ((EMA) ≫ EMA1 - это краткосрочная скользящая средняя с циклом 9, EMA2 - это долгосрочная скользящая средняя с циклом 21 ≫. Когда краткосрочная скользящая средняя пересекает долгосрочную скользящую среднюю EMA2 на EMA1, она создает сигнал покупки; когда она пересекает EMA2 под EMA1, она создает сигнал продажи ≫
Таким образом, можно использовать функцию отслеживания тенденций движущейся средней, чтобы вовремя улавливать сигналы, когда цена начинает новое направление тенденции, и следить за тенденцией для торговли. Например, когда цена переходит от падения к росту, краткосрочная движущаяся средняя будет подниматься раньше, чем долгосрочная движущаяся средняя, а прохождение долгосрочной движущейся средней по краткосрочной движущейся средней является ранним сигналом начала роста цены.
Наибольшее преимущество этой стратегии заключается в том, что она позволяет эффективно идентифицировать ценовые тенденции, особенно для рынков с высокой тенденцией. Движущаяся средняя линия сама по себе обладает хорошей функцией отслеживания тенденций, а стратегия двойных движущихся средних линий дополнительно усиливает это преимущество. Кроме того, по сравнению с стратегией одной движущейся средней линии, стратегия двойных движущихся средних линий может дополнительно отфильтровать ложные сигналы, и сигнал имеет более высокую надежность.
Наибольший риск этой стратегии заключается в том, что в случае резкого колебания цены, движущаяся средняя линия будет задерживаться, возможно, возникнет ситуация, когда будет пропущен оптимальный момент входа или выхода. Кроме того, когда рынок находится в колебательной зоне, стратегия будет создавать больше неэффективных сигналов, снижая стабильность стратегии.
Чтобы снизить риск, можно соответствующим образом скорректировать циклические параметры движущейся средней линии или добавить другие индикаторы для фильтрации волн. Например, в сочетании с индикатором волатильности рынка установить порог, чтобы избежать торговли во время сильных колебаний рынка и т. д.
В этой стратегии есть много возможностей для оптимизации, в частности:
В этой стратегии используется метод формирования торговых сигналов с помощью двухиндексальной движущейся средней линии. Наибольшим преимуществом является высокая способность отслеживать ценовые тенденции, которая позволяет эффективно идентифицировать ценовые трендовые повороты. Но также существуют такие проблемы, как задержка движущейся средней линии. Следующий шаг может быть оптимизирован с точки зрения повышения качества сигнала, определения конкретного времени входа и остановки убытков.
/*backtest
start: 2024-01-18 00:00:00
end: 2024-02-17 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © technicalTruff99446
//@version=4
strategy("AhmetMSA", overlay=true, initial_capital = 10000, commission_value = 0.002, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 0, calc_on_order_fills = true)
//2. DEĞERDEN SONRA GEÇMİŞ HESAPLAMA DEĞERİ, KOMİSYON ORANI, PARANIN TAMAMI, DEĞERLERİ EKLEMDİ
emaShPD = input (title="EMA KISA PERİYOT", defval=9, minval=1)
emaLngPD = input (title="EMA UZUN PERİYOT", defval=21, minval=1)
//input DEĞİŞKEN DEĞER ATAMA
ema1 = ema (close,emaShPD)
ema2 = ema (close,emaLngPD)
//EMALAR ARASINI BOYAMA upTrend downTrend
upTrend = plot (ema1, color=#4DFF00, linewidth=2, title= "EMA KISA", transp=0)
downTrend = plot (ema2, color=#FF0C00, linewidth=3, title= "EMA UZUN", transp=0)
//linewidth ÇİZGİ KALINLIĞI
//title İSİM VERME
//BACKTESTİN BAŞLANGIÇ TARİHİNİ BELİRLEME
yearin = input(2024, title = "Backtest Başlangıç Tarihi")
//longCondition = crossover(ema1, ema2)
//shortCondition = crossover(ema2, ema1)
buy = crossover(ema1, ema2) and yearin >= year
sell = crossover(ema2, ema1) and yearin >= year
//ta.crossunder KESİŞİM KODU
//Barları BOYAMA
barbuy = ema1 >= ema2
barsell = ema2 < ema1
//AL SAT AŞK KUTUCUKLU EKRANA YAZMA
plotshape(buy, title = "AL AŞK", text = 'AL AŞK', style = shape.labelup, location = location.belowbar, color= color.green, textcolor = color.white, transp = 0, size = size.tiny)
plotshape(sell, title = "SAT AŞK", text = 'SAT AŞK', style = shape.labeldown, location = location.abovebar, color= color.red, textcolor = color.white, transp = 0, size = size.tiny)
//Barları BOYAMA KOŞULU
barcolor(barbuy? #4DFF00: barsell? #FF0C00: #FF0C00)
fill(upTrend, downTrend, color = ema1 >= ema2?#4DFF00 : #FF0C00, transp = 80, title = "bgcolor")
//longCondition = ta.crossover(ta.sma(close, 14), ta.sma(close, 28))
//shortCondition = ta.crossunder(ta.sma(close, 14), ta.sma(close, 28))
//14 GÜNLÜĞÜN KAPANIŞDEĞERİNİN 28 GÜNLÜK KAPANIŞ DEĞERİNİ KESMESİ KOŞULU
if (buy)
strategy.entry("AL AŞK", strategy.long)
if (sell)
strategy.entry("SAT AŞK", strategy.short)