
Esta estrategia utiliza una doble línea de movimiento para formar señales de negociación, generando una señal de compra cuando la línea de movimiento a corto plazo atraviesa la línea de movimiento a largo plazo; genera una señal de venta cuando la línea de movimiento a corto plazo atraviesa la línea de movimiento a largo plazo. Esta estrategia, combinada con la función de seguimiento de tendencias de la línea de movimiento a corto plazo, puede capturar de manera efectiva las tendencias de precios y realizar operaciones de tendencia.
Esta estrategia utiliza dos medias móviles de índices de diferentes períodos: ((EMA) ≫ EMA1 es la media móvil a corto plazo, con un período de 9 años; ≫ EMA2 es la media móvil a largo plazo, con un período de 21 años. Cuando la media móvil a corto plazo atraviesa la media móvil a largo plazo EMA2 sobre EMA1, genera una señal de compra; y cuando la media móvil a corto plazo atraviesa EMA2 bajo EMA1, genera una señal de venta.
De esta manera, se puede utilizar la función de seguimiento de tendencias de la media móvil para capturar señales a tiempo y seguir la tendencia cuando el precio comienza una nueva dirección de tendencia. Por ejemplo, cuando el precio pasa de una caída a una subida, la media móvil a corto plazo se eleva antes de la media móvil a largo plazo.
La mayor ventaja de esta estrategia es que puede identificar eficazmente las tendencias de precios, especialmente para los mercados con una fuerte tendencia. La línea media móvil tiene una buena función de seguimiento de tendencias, y la estrategia de doble línea media móvil aumenta aún más esta ventaja. Además, en comparación con la estrategia de una sola línea media móvil, la estrategia de doble línea media móvil puede filtrar aún más las señales falsas y la fiabilidad de la señal es mayor.
El mayor riesgo de esta estrategia es que la línea media móvil se retrasa cuando los precios fluctúan fuertemente, lo que puede ocasionar la pérdida de la mejor oportunidad de entrada o salida. Además, la estrategia genera más señales de invalidez y reduce la estabilidad de la estrategia cuando el mercado está en un área de oscilación.
Para reducir el riesgo, se puede ajustar adecuadamente los parámetros periódicos de la media móvil, o agregar otros indicadores para filtrar las ondas. Por ejemplo, se puede establecer un umbral en combinación con un indicador de volatilidad del mercado, para evitar seguir operando en el momento de una gran oscilación del mercado, etc.
El espacio para la optimización de esta estrategia se encuentra principalmente en los siguientes aspectos:
Esta estrategia utiliza el método de formación de señales de comercio de la línea media móvil de dos índices. La mayor ventaja es que la capacidad de seguimiento de la tendencia de precios es fuerte y se puede identificar eficazmente el cambio de tendencia de precios. Pero también hay problemas como el retraso de la línea media móvil.
/*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)