Chiến lược này dựa trên các tín hiệu chéo của EMA23 và EMA50 để giao dịch. Khi EMA23 vượt trên EMA50, nó tạo ra tín hiệu mua, và khi vượt dưới, nó tạo ra tín hiệu bán. Chiến lược cũng thực hiện dừng lỗ cho các vị trí dài khi giá giảm xuống dưới EMA50 và cho các vị trí ngắn khi giá tăng trên EMA50. Ngoài ra, chiến lược tái nhập thị trường khi giá di chuyển trở lại trên EMA50. Chiến lược phù hợp với khung thời gian 30 phút.
Chiến lược này là một chiến lược giao dịch định lượng dựa trên sự chéo chéo của hai đường trung bình động, EMA23 và EMA50. Nó nắm bắt xu hướng thông qua các tín hiệu chéo chéo và thực hiện các cơ chế dừng lỗ và tái nhập để kiểm soát rủi ro và tăng tiềm năng lợi nhuận. Chiến lược đơn giản và dễ hiểu, phù hợp với giao dịch trung hạn đến ngắn hạn trong khung thời gian 30 phút. Tuy nhiên, chiến lược cũng có một số hạn chế, chẳng hạn như xác định xu hướng chậm, đặt dừng lỗ không tối ưu và hiệu suất kém trong các thị trường dao động. Trong tương lai, chiến lược có thể được tối ưu hóa bằng cách giới thiệu nhiều chỉ số kỹ thuật hơn, tối ưu hóa các vị trí dừng lỗ, kiểm soát tần suất giao dịch, phân biệt giữa các thị trường xu hướng và dao động và thực hiện mức lợi nhuận năng động để đạt được lợi nhuận mạnh mẽ hơn.
/*backtest start: 2023-04-20 00:00:00 end: 2024-04-25 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("EMA Crossover Strategy", overlay=true) // EMA 23 ve EMA 50'nin hesaplanması ema23 = ta.ema(close, 23) ema50 = ta.ema(close, 50) // Ana alım kuralı: EMA 23 ve EMA 50'nin yukarı kesilmesi buySignal = ta.crossover(ema23, ema50) // Ana satış kuralı: EMA 23 ve EMA 50'nin aşağı kesilmesi sellSignal = ta.crossunder(ema23, ema50) // Long pozisyon stop seviyesi longStopLoss = low < ema50 and close < ema50[1] // Short pozisyon stop seviyesi shortStopLoss = high > ema50 and close > ema50[1] // Long pozisyon için tekrar giriş kuralı longReEntry = high > ema50 and close > ema50 and close > ema50 and ema23 > ema50 // Short pozisyon için tekrar giriş kuralı shortReEntry = low < ema50 and close < ema50 and close < ema50 and ema23 < ema50 // Long işlemde kar alma seviyesi (%60) longTakeProfit = strategy.position_avg_price * 1.60 // Short işlemde kar alma seviyesi (%25) shortTakeProfit = strategy.position_avg_price * 0.75 // Long işlem için yeniden giriş koşulu longReEntryCondition = strategy.position_size <= 0 and longReEntry // Short işlem için yeniden giriş koşulu shortReEntryCondition = strategy.position_size >= 0 and shortReEntry // Geriye dönük test için başlangıç tarihi (01.01.2022) startDate = timestamp(2022, 01, 01, 00, 00) if (time >= startDate) if (buySignal) strategy.entry("Buy", strategy.long) if (sellSignal) strategy.entry("Sell", strategy.short) if (strategy.position_size > 0 and (longStopLoss or close >= longTakeProfit)) strategy.close("Buy") if (strategy.position_size < 0 and (shortStopLoss or close <= shortTakeProfit)) strategy.close("Sell") if (longReEntryCondition) strategy.entry("Buy", strategy.long) if (shortReEntryCondition) strategy.entry("Sell", strategy.short)