
La estrategia de cruce de tres líneas equilibradas utiliza el cruce de promedios móviles de diferentes períodos de tiempo como una señal de compra y venta, y pertenece a la estrategia de seguimiento de tendencias. La estrategia utiliza tres promedios móviles, que incluyen promedios móviles de corto plazo, promedios móviles de medio plazo y promedios móviles de largo plazo, para formar una señal de negociación en función de su cruce.
La estrategia primero calcula las medias móviles a corto plazo (de 7 días por defecto), medias móviles a medio plazo (de 25 días por defecto) y medias móviles a largo plazo (de 99 días por defecto), y luego genera una señal de negociación de acuerdo con las siguientes reglas:
Cuando una media móvil a corto plazo atraviesa una media móvil a mediano plazo, se genera una señal de compra.
Cuando la media móvil intermedia se cruza por debajo de la media móvil corta, se genera una señal de venta.
Cuando se cruza una media móvil a corto plazo con una media móvil a largo plazo, se genera una señal de compra rápida.
Cuando la media móvil a corto plazo se cruza por debajo de la media móvil a largo plazo, se genera una señal de venta rápida.
La estrategia considera que cruzar la media móvil en la media móvil de corto plazo significa que la tendencia del mercado se ha convertido en alza y, por lo tanto, genera una señal de compra; mientras que cruzar la media móvil de corto plazo en la media móvil de corto plazo significa que la tendencia del mercado se ha convertido en baja y, por lo tanto, genera una señal de venta. Del mismo modo, el cruce de la media móvil de corto plazo con la media móvil de largo plazo también genera una señal de negociación rápida para capturar los cambios de tendencia de la línea más larga.
Se puede optimizar y reducir las señales falsas mediante el ajuste adecuado del ciclo de la media móvil o mediante el aumento de las condiciones de filtración. También se puede reducir adecuadamente el ciclo de negociación rápida y reducir la frecuencia de negociación.
La estrategia de tres líneas de cruce es más sencilla y directa en general, determina la dirección de la tendencia a través de cruces de líneas de cruce en diferentes períodos de tiempo para generar señales de comercio. La estrategia es fácil de implementar, el ajuste de los parámetros es flexible y puede capturar cambios en la tendencia. Pero también hay problemas con el retraso de las medias móviles y el riesgo de demasiadas falsas señales.
/*backtest
start: 2023-10-06 00:00:00
end: 2023-11-05 00:00:00
period: 1h
basePeriod: 15m
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("Üç Hareketli Ortalama Str.", overlay=true, initial_capital=10000, commission_value=0.047, default_qty_type=strategy.percent_of_equity, default_qty_value=100, pyramiding=0, calc_on_order_fills=true)
kisa = input(title = "Kısa Vade - Gün", defval = 7, minval = 1)
orta = input(title = "Orta Vade - Gün", defval = 25, minval = 1)
uzun = input(title = "Uzun Vade - Gün", defval = 99, minval = 1)
sma7 = sma(close, kisa)
sma25 = sma(close, orta)
sma99 = sma(close, uzun)
alTrend = plot (sma7, color=#2323F1, linewidth=2, title="Har.Ort. Kısa Vade", transp=0)
satTrend = plot (sma25, color=#FF0C00, linewidth=3, title="Har.Ort. Orta Vade", transp=0)
ort99 = plot (sma99, color=#DFB001, linewidth=3, title="Har.Ort. Uzun Vade", transp=0)
zamanaralik = input (2020, title="Backtest Başlangıç Tarihi")
al = crossover (sma7, sma25) and zamanaralik <= year
sat = crossover (sma25, sma7) and zamanaralik <= year
hizlial = crossover (sma7, sma99) and zamanaralik <= year
hizlisat = crossover (sma99, sma7) and zamanaralik <= year
alkosul = sma7 >= sma25
satkosul = sma25 >= sma7
hizlialkosul = sma7 >= sma99
hizlisatkosul = sma99 >= sma7
plotshape(al, title = "Buy", text = 'Al', style = shape.labelup, location = location.belowbar, color= color.green, textcolor = color.white, transp = 0, size = size.tiny)
plotshape(sat, title = "Sell", text = 'Sat', style = shape.labeldown, location = location.abovebar, color= color.red, textcolor = color.white, transp = 0, size = size.tiny)
plotshape(hizlial, title = "Hızlı Al", text = 'Hızlı Al', style = shape.labelup, location = location.belowbar, color= color.blue, textcolor = color.white, transp = 0, size = size.tiny)
plotshape(hizlisat, title = "Hızlı Sat", text = 'Hızlı Sat', style = shape.labeldown, location = location.abovebar, color= #6106D6 , textcolor = color.white, transp = 0, size = size.tiny)
fill (alTrend, satTrend, color = sma7 >= sma25? #4DFF00 : #FF0C00, transp=80, title="Al-Sat Aralığı")
//fill (ort99, satTrend, color = sma7 >= sma25? #6106D6 : color.blue, transp=80, title="Hızlı Al-Sat Aralığı")
if (al)
strategy.entry("LONG", strategy.long)
if (sat)
strategy.entry("SHORT", strategy.short)
//if (hizlial)
// strategy.entry("My Short Entry Id", strategy.long)
//if (hizlisat)
// strategy.entry("My Short Entry Id", strategy.short)