Это адаптивная торговая стратегия, основанная на двух равнолинейных перекрестных сигналах. Стратегия использует 14 циклов и 28 циклов для генерации торговых сигналов в виде простой скользящей средней (SMA) и сочетает в себе регулируемые механизмы остановки и остановки, обеспечивая сбалансированное управление рисками и прибылями. Стратегия использует метод управления фиксированными средствами с начальным капиталом в 2000 долларов США и вложением 200 долларов США на одну сделку.
Основная логика стратегии основана на перекрестной связи между простыми движущимися средними в двух различных периодах. Когда краткосрочная (с 14 циклов) средняя линия пересекает долгосрочную (с 28 циклов) среднюю линию вверх, создается многосигнал; когда краткосрочная (с 14 циклов) средняя линия пересекает долгосрочную среднюю линию вниз, создается пустой сигнал. Вместе с тем, в стратегии введены стоп-стоп и стоп-стоп-механизмы на основе процентов, установленные на 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")