Это адаптивная стратегия торговли, основанная на двойных движущихся средних перекрестных сигналах. Стратегия использует 14-периодные и 28-периодные простые движущиеся средние (SMA) для генерации торговых сигналов, в сочетании с регулируемыми механизмами остановки потерь и получения прибыли для достижения сбалансированного управления рисками и вознаграждениями. Стратегия использует управление фиксированными деньгами с начальным капиталом 2000 и 200 долларов на сделку.
Основная логика основана на перекрестных отношениях между двумя SMA разных периодов. Долгий сигнал генерируется, когда краткосрочный (14 периодов) MA пересекает длинный (28-периодный) MA, и короткий сигнал генерируется, когда краткосрочный MA пересекает длинный MA. Стратегия включает в себя процентные механизмы стоп-лосса и теч-профита, установленные соответственно на 2% и 4%, что позволяет автоматически корректировать точки выхода на основе рыночных цен.
Это хорошо структурированная и логически обоснованная торговая стратегия. Она захватывает торговые возможности с помощью двойных пересечений скользящих средних при одновременном контроле рисков с помощью адаптивных механизмов стоп-лосса и берущей прибыли. Хотя есть место для оптимизации, общий дизайн придерживается фундаментальных количественных принципов торговли.
/*backtest start: 2024-10-01 00:00:00 end: 2024-10-31 23:59:59 period: 1h basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy('My Custom Strategy', overlay = true) // Parámetros de las SMAs (Medias Móviles Simples) sma14 = ta.sma(close, 14) sma28 = ta.sma(close, 28) // Stop Loss y Take Profit configurables stop_loss_percent = input.float(2, title="Stop Loss %", minval=0.1, step=0.1) take_profit_percent = input.float(4, title="Take Profit %", minval=0.1, step=0.1) // Cálculo de stop loss y take profit stop_loss = close * (1 - stop_loss_percent / 100) take_profit = close * (1 + take_profit_percent / 100) // Condiciones de entrada para compra (long) longCondition = ta.crossover(sma14, sma28) if (longCondition) strategy.entry('Long', strategy.long, stop=stop_loss, limit=take_profit) plotshape(series=longCondition, color=color.new(color.blue, 0), style=shape.labelup, location=location.belowbar, text="BUY") // Condiciones de entrada para venta (short) shortCondition = ta.crossunder(sma14, sma28) if (shortCondition) strategy.entry('Short', strategy.short, stop=stop_loss, limit=take_profit) plotshape(series=shortCondition, color=color.new(color.red, 0), style=shape.labeldown, location=location.abovebar, text="SELL") // Visualización de las SMAs en el gráfico plot(sma14, color=color.blue, title="SMA 14") plot(sma28, color=color.red, title="SMA 28")