Sumber dimuat naik... memuat...

TRAMA Dual Moving Average Crossover Strategi Perdagangan Kuantitatif Pintar

Penulis:ChaoZhang, Tarikh: 2024-11-29 15:25:13
Tag:SMATRAMA

img

Ringkasan

Ini adalah strategi perdagangan kuantitatif pintar berdasarkan TRAMA (Triangular Moving Average) dan Simple Moving Average (SMA). Strategi ini menggabungkan dua sistem purata bergerak untuk menjana isyarat perdagangan dan melaksanakan mekanisme stop-loss / take-profit untuk kawalan risiko. Ia menggunakan silang SMA 4 tempoh dan 28 tempoh bersama dengan penunjuk TRAMA untuk mengesahkan isyarat perdagangan, meningkatkan ketepatan melalui pengesahan isyarat berbilang.

Prinsip Strategi

Strategi ini menggunakan dua komponen utama untuk menjana isyarat perdagangan. Pertama adalah sistem silang berdasarkan SMA 4 tempoh dan 28 tempoh, menjana isyarat panjang apabila MA jangka pendek melintasi di atas MA jangka panjang, dan isyarat pendek apabila melintasi di bawah. Kedua, strategi ini menggabungkan penunjuk TRAMA sebagai sistem pengesahan tambahan. TRAMA adalah purata bergerak yang lebih baik dengan masa tindak balas yang lebih cepat dan kurang kelewatan. Isyarat perdagangan tambahan dihasilkan apabila harga memecahkan TRAMA. Strategi ini juga termasuk mekanisme mengambil keuntungan berasaskan peratusan dan menghentikan kerugian yang ditetapkan masing-masing pada 2% dan 1%.

Kelebihan Strategi

  1. Mekanisme pengesahan isyarat berganda meningkatkan kebolehpercayaan perdagangan dengan ketara
  2. Indikator TRAMA membolehkan penangkapan perubahan trend pasaran dengan lebih cepat
  3. Mekanisme kawalan risiko yang jelas melalui paras stop-loss dan mengambil keuntungan
  4. Logik strategi yang jelas dan mudah dikekalkan
  5. Membolehkan kedua-dua perdagangan panjang dan pendek, meningkatkan peluang keuntungan

Risiko Strategi

  1. Boleh menghasilkan isyarat perdagangan yang berlebihan di pasaran yang berbeza
  2. Peratusan stop-loss dan mengambil keuntungan tetap mungkin tidak sesuai dengan semua keadaan pasaran
  3. Purata bergerak jangka pendek mungkin sensitif kepada bunyi harga
  4. Risiko lipatan yang berpotensi dalam pasaran yang tidak stabil
  5. Perlu mempertimbangkan kesan kos dagangan pada prestasi strategi

Arahan Pengoptimuman Strategi

  1. Memperkenalkan mekanisme stop-loss dan mengambil keuntungan yang disesuaikan dengan turun naik
  2. Tambah penapis persekitaran pasaran untuk menyesuaikan parameter strategi di bawah keadaan yang berbeza
  3. Mengoptimumkan kaedah pemilihan parameter TRAMA, pertimbangkan untuk menggunakan tempoh penyesuaian
  4. Tambah penunjuk pengesahan jumlah untuk meningkatkan kebolehpercayaan isyarat
  5. Pertimbangkan untuk menambah penapis kekuatan trend untuk mengelakkan perdagangan dalam trend yang lemah

Ringkasan

Ini adalah strategi yang menggabungkan analisis teknikal tradisional dengan konsep perdagangan kuantitatif moden. Melalui pengesahan isyarat berganda dan kawalan risiko yang ketat, strategi menunjukkan kepraktisan yang baik. Walaupun terdapat bidang untuk pengoptimuman, reka bentuk kerangka keseluruhan adalah munasabah dengan prospek aplikasi yang baik.


/*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)


Berkaitan

Lebih lanjut