Ini adalah strategi perdagangan kuantitatif cerdas berdasarkan TRAMA (Triangular Moving Average) dan Simple Moving Average (SMA). Strategi ini menggabungkan dua sistem rata-rata bergerak untuk menghasilkan sinyal perdagangan dan menerapkan mekanisme stop-loss / take-profit untuk pengendalian risiko.
Strategi ini menggunakan dua komponen utama untuk menghasilkan sinyal perdagangan. Pertama adalah sistem crossover berdasarkan SMA 4 periode dan 28 periode, menghasilkan sinyal panjang ketika MA jangka pendek melintasi di atas MA jangka panjang, dan sinyal pendek ketika melintasi di bawah. Kedua, strategi ini menggabungkan indikator TRAMA sebagai sistem konfirmasi tambahan. TRAMA adalah rata-rata bergerak yang ditingkatkan dengan waktu respons yang lebih cepat dan kurang lag. Sinyal perdagangan tambahan dihasilkan ketika harga menerobos TRAMA. Strategi ini juga mencakup mekanisme take-profit dan stop-loss berbasis persentase yang ditetapkan masing-masing 2% dan 1%.
Ini adalah strategi yang menggabungkan analisis teknis tradisional dengan konsep perdagangan kuantitatif modern. Melalui konfirmasi sinyal ganda dan pengendalian risiko yang ketat, strategi menunjukkan kepraktisan yang baik. Meskipun ada area untuk optimasi, desain kerangka kerja secara keseluruhan masuk akal dengan prospek aplikasi yang baik. Pedagang disarankan untuk melakukan backtesting data historis yang menyeluruh dan optimasi parameter sebelum perdagangan langsung.
/*backtest start: 2019-12-23 08:00:00 end: 2024-11-27 08:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © ivanvallejoc //@version=5 strategy("MANCOS2.0", overlay=true, margin_long=80, margin_short=80) longCondition = ta.crossover(ta.sma(close, 4), ta.sma(close, 28)) if (longCondition) strategy.entry("My Long Entry Id", strategy.long) shortCondition = ta.crossunder(ta.sma(close, 4), ta.sma(close, 28)) if (shortCondition) strategy.entry("My Short Entry Id", strategy.short) // Parámetros de la TRAMA length = input(1.5, title="TRAMA Length") src = close filt = 2 / (length + 1) trama = 0.0 var tramaPrev = na(trama[1]) ? close : trama[1] trama := (src - tramaPrev) * filt + tramaPrev // Plot de la TRAMA plot(trama, color=color.blue, linewidth=2, title="TRAMA") // Señales de compra y venta basadas en TRAMA buySignal = ta.crossover(close, trama) sellSignal = ta.crossunder(close, trama) // Configuración de Take Profit y Stop Loss takeProfitPerc = input(2, title="Take Profit (%)") / 100 stopLossPerc = input(1, title="Stop Loss (%)") / 100 // Precios de TP y SL takeProfitPrice = strategy.position_avg_price * (1 + takeProfitPerc) stopLossPrice = strategy.position_avg_price * (1 - stopLossPerc) // Condiciones de entrada en largo if (buySignal) strategy.entry("Long", strategy.long) // Condiciones de salida para posición larga (TP/SL) if (strategy.position_size > 0) strategy.exit("TP/SL", "Long", limit=takeProfitPrice, stop=stopLossPrice) // Entrada en corto basada en TRAMA if (sellSignal) strategy.entry("Short", strategy.short) // Precios de TP y SL para posiciones cortas takeProfitPriceShort = strategy.position_avg_price * (1 - takeProfitPerc) stopLossPriceShort = strategy.position_avg_price * (1 + stopLossPerc) if (strategy.position_size < 0) strategy.exit("TP/SL", "Short", limit=takeProfitPriceShort, stop=stopLossPriceShort)