Penunjuk teknikal komposit strategi kuantitatif pengesanan arah aliran berbilang dimensi

RSI MACD EMA
Tarikh penciptaan: 2024-11-29 15:33:29 Akhirnya diubah suai: 2024-11-29 15:33:29
Salin: 0 Bilangan klik: 454
1
fokus pada
1617
Pengikut

Penunjuk teknikal komposit strategi kuantitatif pengesanan arah aliran berbilang dimensi

Gambaran keseluruhan

Strategi ini adalah sistem dagangan kuantitatif berdasarkan analisis penunjuk teknikal pelbagai dimensi, yang membina sistem keputusan perdagangan automatik sepenuhnya dengan menggabungkan penunjuk teknikal seperti RSI (Relative Strength Index), MACD (Moving Average Convergence Scatter Indicator) dan EMA (Indices Moving Average). Strategi ini menggunakan reka bentuk modular, menyokong parameter konfigurasi perdagangan yang fleksibel, dan menggabungkan mekanisme stop loss dinamik dan fungsi stop loss tracking untuk mencapai keuntungan yang stabil dan sihat di bawah kawalan risiko.

Prinsip Strategi

Logik utama strategi ini adalah berdasarkan kepada analisis kolaboratif terhadap tiga indikator teknikal:

  1. RSI digunakan untuk mengenal pasti kawasan overbought dan oversold yang menghasilkan isyarat beli apabila RSI di bawah 30 dan isyarat jual apabila di atas 70
  2. Penunjuk MACD mengubah trend dengan melintasi garis laju dan perlahan, melintasi garis perlahan pada garis cepat dianggap sebagai isyarat beli, dan melintasi bawah dianggap sebagai isyarat jual
  3. Penunjuk EMA menggunakan arah trend pengesahan silang antara garis purata 20 dan 50 hari, melintasi garis purata jangka pendek sebagai isyarat membeli, sebaliknya sebagai isyarat menjual

Strategi ini boleh mencetuskan perdagangan apabila mana-mana petunjuk menghasilkan isyarat, sambil mengintegrasikan peratusan stop loss, stop loss tetap, dan tiga mekanisme kawalan risiko untuk menjejaki stop loss. Apabila harga mencapai sasaran keuntungan yang ditetapkan, fungsi stop loss akan diaktifkan secara automatik untuk memastikan bahawa keuntungan yang diperoleh tidak akan ditarik balik secara besar-besaran.

Kelebihan Strategik

  1. Sistem pengesahan isyarat berbilang dimensi, meningkatkan kebolehpercayaan isyarat dagangan melalui pengesahan silang pelbagai petunjuk teknikal
  2. Pemikiran reka bentuk modular yang menyokong pencetakan / penutupan indikator yang fleksibel untuk menyesuaikan diri dengan keadaan pasaran yang berbeza
  3. Mekanisme pengurusan dana yang baik, mengawal risiko yang tepat untuk pelbagai saiz dana melalui konfigurasi parameter
  4. Sistem perlindungan triple stop loss, pengurusan risiko yang ketat sambil menjamin keuntungan
  5. Operasi automatik sepenuhnya, mengurangkan gangguan emosi manusia, meningkatkan kecekapan pelaksanaan
  6. Memaparkan status dagangan dan kerugian dalam masa nyata untuk memantau dan menyesuaikan strategi

Risiko Strategik

  1. Pasaran yang tidak menentu mungkin menjana isyarat dagangan yang kerap, meningkatkan kos transaksi
  2. Kombinasi pelbagai indikator mungkin mempunyai kelewatan isyarat yang mempengaruhi masa masuk
  3. Konfigurasi parameter tetap mungkin tidak fleksibel dalam keadaan yang bergelombang
  4. Tanda-tanda teknikal yang mungkin bertentangan
  5. Tracking stop loss boleh mencetuskan kedudukan terhad dalam keadaan terdesak

Arah pengoptimuman strategi

  1. Memperkenalkan penunjuk turun naik pasaran, parameter perdagangan yang disesuaikan secara dinamik dan kedudukan henti
  2. Membangunkan sistem penimbangan indikator untuk menyesuaikan pengaruh setiap indikator mengikut keadaan pasaran yang berbeza
  3. Menambah analisis kerangka masa, meningkatkan ketepatan pengesahan melalui isyarat pelbagai kitaran
  4. Reka bentuk sistem pengurusan wang pintar yang menyesuaikan saiz pegangan mengikut keadaan keuntungan dan kerugian akaun secara dinamik
  5. Pengoptimuman algoritma pengesanan henti untuk meningkatkan daya tahan terhadap turun naik yang kuat

ringkaskan

Strategi ini membina kerangka keputusan perdagangan yang sistematik melalui analisis kolaboratif indikator teknikal berbilang dimensi, dan pengurusan yang tepat terhadap keseluruhan proses perdagangan melalui mekanisme kawalan risiko yang baik. Walaupun mungkin menghadapi cabaran tertentu dalam keadaan pasaran tertentu, strategi ini dijangka dapat mengekalkan prestasi yang stabil dalam kitaran pasaran yang berbeza melalui pengoptimuman dan penambahbaikan yang berterusan.

Kod sumber strategi
/*backtest
start: 2024-11-21 00:00:00
end: 2024-11-28 00:00:00
period: 4h
basePeriod: 4h
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/
// © rfssocal

//@version=5
strategy("Quantico Bot MILLIONARIO", overlay=true)

// Configuração inicial de parâmetros
capital_inicial = input.float(100, "Capital Inicial ($)", minval=10)
risco_por_trade = input.float(1, "Risco por Trade (%)", minval=0.1, maxval=100)
take_profit_percent = input.float(2, "Take Profit (%)", minval=0.1)
stop_loss_percent = input.float(1, "Stop Loss (%)", minval=0.1)
trailing_stop_percent = input.float(5, "Trailing Stop Gatilho (%)", minval=0.1)

// Configuração de indicadores
usar_rsi = input.bool(true, "Usar RSI como Indicador")
usar_macd = input.bool(true, "Usar MACD como Indicador")
usar_ema = input.bool(true, "Usar EMA como Indicador")

// Indicadores
rsi_value = ta.rsi(close, 14)
[macd_line, signal_line, _] = ta.macd(close, 12, 26, 9)
ema_20 = ta.ema(close, 20)
ema_50 = ta.ema(close, 50)

// Condições de compra
compra_rsi = usar_rsi and rsi_value < 30
compra_macd = usar_macd and macd_line > signal_line
compra_ema = usar_ema and ema_20 > ema_50
compra = compra_rsi or compra_macd or compra_ema

// Condições de venda
venda_rsi = usar_rsi and rsi_value > 70
venda_macd = usar_macd and macd_line < signal_line
venda_ema = usar_ema and ema_20 < ema_50
venda = venda_rsi or venda_macd or venda_ema

// Calcular stop loss e take profit
stop_loss_price = strategy.position_avg_price * (1 - stop_loss_percent / 100)
take_profit_price = strategy.position_avg_price * (1 + take_profit_percent / 100)

// Adiciona trailing stop automático
if (strategy.position_size > 0 and close >= strategy.position_avg_price * (1 + trailing_stop_percent / 100))
    strategy.exit("Trailing Stop", from_entry="Compra", stop=close * 0.99)

// Executa as ordens automáticas
if (compra)
    strategy.entry("Compra", strategy.long)

if (venda)
    strategy.entry("Venda", strategy.short)

// Variável para calcular o lucro total
var float total_profit = 0.0
total_profit := strategy.netprofit

// Exibição de dados no gráfico
label.new(bar_index, na, "Take Profit: " + str.tostring(take_profit_price) + "\nStop Loss: " + str.tostring(stop_loss_price),
     style=label.style_label_down, color=color.green, textcolor=color.white)

// Exibe o balanço
label.new(bar_index, na, "Balanço Atual\nDiário: " + str.tostring(total_profit), style=label.style_label_down, color=color.blue, textcolor=color.white)