Это двойная стратегия пересечения скользящих средних, основанная на 5-дневной скользящей средней (MA5). Основная идея этой стратегии заключается в том, чтобы ввести позиции на определенном расстоянии выше или ниже MA5 и закрыть позиции, когда цена закрытия выше цены входа или возвращается к цене входа. Эта стратегия направлена на захват краткосрочных тенденций при одновременном контроле рисков.
Эта стратегия использует 5-дневную простую скользящую среднюю (SMA) в качестве основного индикатора. Когда цена открытия новой свечи выше MA5, она выполняет сценарий покупки 1; когда цена открытия новой свечи ниже MA5 и расстояние от MA5 превышает 0,002 пункта, она выполняет сценарий покупки 2. Для условий продажи, когда цена закрытия выше или равна средней цене входа, она выполняет сценарий продажи 1; когда цена закрытия ниже 0,1% от средней цены входа, она выполняет сценарий продажи 2.
Эта двойная стратегия пересечения скользящих средних является простой стратегией, основанной на краткосрочных тенденциях. Пересекая выше и ниже MA5 и устанавливая пороги расстояния, можно захватить краткосрочные трендовые возможности. В то же время фиксированные процентные стоп-лосы могут контролировать риски. Однако эта стратегия также имеет некоторые ограничения, такие как полагаться на один индикатор и частую торговлю. В будущем может быть введено больше индикаторов, а условия стоп-лосса и берущей прибыли могут быть оптимизированы для повышения надежности и адаптивности стратегии.
/*backtest start: 2023-04-24 00:00:00 end: 2024-04-29 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("YBS Strategy 1.1", overlay=true) // Moving Average Settings ma5 = ta.sma(close, 5) // Scenario 1: Buy when a new candle opens above the MA5 buy_condition_scenario1 = open > ma5 // Scenario 2: Buy when a new candle opens below the MA5 and is at a significant distance from the MA5 distance_from_ma5 = open - ma5 buy_condition_scenario2 = open < ma5 and distance_from_ma5 > 0.002 // Define distance in points here // Sell: Sell at the close of the candle if it's positive above the entry price, or if the price returns to the entry price sell_condition_scenario1 = close > strategy.position_avg_price or close == strategy.position_avg_price sell_condition_scenario2 = close <= strategy.position_avg_price * 0.999 // Close if price drops more than 0.1% from entry price // Execute buy and sell orders if (buy_condition_scenario1 and not (strategy.opentrades > 0)) strategy.entry("Buy Scenario 1", strategy.long) if (buy_condition_scenario2 and not (strategy.opentrades > 0)) strategy.entry("Buy Scenario 2", strategy.long) if (sell_condition_scenario1) strategy.close("Buy Scenario 1") if (sell_condition_scenario2) strategy.close("Buy Scenario 2")