
Стратегия является основанной на техническом анализе системой отслеживания тенденций, которая использует пересекающиеся сигналы 50-циклического скользящего среднего показателя (EMA) и 200-циклического простого скользящего среднего показателя (MA) для захвата рыночных тенденций. Стратегия включает в себя динамический механизм остановки и убытков, чтобы контролировать риск и блокировать прибыль с помощью заранее установленных остановок и остановочных точек. Эта комбинация позволяет стратегии не только улавливать большие тенденции, но и своевременно останавливать убытки при обратном движении.
Центральная логика стратегии основана на перекрестных суждениях двух равномерных линий: когда 50-циклическая ЭМА вверх проходит 200-циклическую МА, система генерирует многосигналный сигнал; когда 50-циклическая ЭМА вниз проходит 200-циклическую МА, система генерирует пустой сигнал. После каждого открытия позиции система автоматически устанавливает стоп-лост (вход на 3 пункта ниже цены входа) и стоп-стоп (вход на 7,5 пункта ниже цены входа). Кроме того, при появлении обратного сигнала система автоматически устраняет текущую позицию, чтобы предотвратить направление позиции, противоречащее тенденции рынка.
Эта стратегия, объединяя классическую двойную равнолинейную систему скрещивания и динамический стоп-стоп, создает целостную систему торговли, отслеживающую тенденции. Преимущества стратегии заключаются в высокой степени систематизации, совершенном управлении рисками, но в практическом применении все еще требуется оптимизация в зависимости от конкретной рыночной среды и размера средств.
/*backtest
start: 2019-12-23 08:00:00
end: 2024-11-24 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("200 MA & 50 EMA Crossover Strategy with **Estimated** SL & TP", overlay=true)
// Parameters for the 200 MA and 50 EMA
ma200 = ta.sma(close, 200) // 200-period simple moving average
ema50 = ta.ema(close, 50) // 50-period exponential moving average
// Plot the MA and EMA on the chart
plot(ma200, color=color.blue, linewidth=2, title="200 MA")
plot(ema50, color=color.red, linewidth=2, title="50 EMA")
// Define **estimated** stop loss and take profit values
// SL = 3 points, TP = 7.5 points from the entry price
sl_points = 3
tp_points = 7.5
// Buy signal: when the 50 EMA crosses above the 200 MA (bullish crossover)
if (ta.crossover(ema50, ma200))
strategy.entry("Buy", strategy.long)
// Set **estimated** stop loss and take profit strategy.exit("Take Profit/Stop Loss", "Buy", stop=strategy.position_avg_price - sl_points, limit=strategy.position_avg_price + tp_points)
// Sell signal: when the 50 EMA crosses below the 200 MA (bearish crossover)
if (ta.crossunder(ema50, ma200))
strategy.entry("Sell", strategy.short)
// Set **estimated** stop loss and take profit strategy.exit("Take Profit/Stop Loss", "Sell", stop=strategy.position_avg_price + sl_points, limit=strategy.position_avg_price - tp_points)
// Optional: Close the position when an opposite signal appears
if (strategy.position_size > 0 and ta.crossunder(ema50, ma200))
strategy.close("Buy")
if (strategy.position_size < 0 and ta.crossover(ema50, ma200))
strategy.close("Sell")