
Ini adalah strategi perdagangan adaptif berdasarkan sinyal crossover dua rasio. Strategi ini memanfaatkan 14 siklus dan 28 siklus rata-rata bergerak sederhana (SMA) untuk menghasilkan sinyal perdagangan, dan menggabungkan mekanisme stop loss dan stop loss yang dapat disesuaikan, yang memungkinkan manajemen yang seimbang dari risiko dan keuntungan. Strategi ini menggunakan metode manajemen dana tetap, dengan modal awal 2000 dan investasi 200 per perdagangan.
Logika inti dari strategi ini didasarkan pada hubungan silang antara rata-rata bergerak sederhana dari dua periode yang berbeda. Ketika rata-rata jangka pendek (periode 14) melintas di atas rata-rata jangka panjang (periode 28), maka akan dihasilkan sinyal multitasking; dan ketika rata-rata jangka pendek melintas di bawah rata-rata jangka panjang, maka akan dihasilkan sinyal blanko. Selain itu, strategi ini memperkenalkan mekanisme stop loss dan stop loss berdasarkan persentase, masing-masing ditetapkan pada 2% dan 4%, yang dirancang untuk menyesuaikan posisi stop loss dan stop loss secara otomatis sesuai dengan harga pasar.
Ini adalah strategi perdagangan dengan struktur yang jelas dan logis. Ini memberikan sinyal perdagangan melalui silang dua garis sejajar, dilengkapi dengan mekanisme stop loss yang disesuaikan, menangkap peluang perdagangan dan mengendalikan risiko. Meskipun ada beberapa ruang untuk pengoptimalan strategi, desain keseluruhan sesuai dengan prinsip-prinsip dasar perdagangan kuantitatif. Dengan arah pengoptimalan yang disarankan, stabilitas dan profitabilitas strategi diharapkan ditingkatkan lebih lanjut.
/*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")