Strategi Perdagangan Pengisap Indikator RSI


Tanggal Pembuatan: 2024-01-29 11:42:46 Akhirnya memodifikasi: 2024-01-29 11:42:46
menyalin: 0 Jumlah klik: 732
1
fokus pada
1617
Pengikut

Strategi Perdagangan Pengisap Indikator RSI

Ringkasan

Strategi perdagangan RSI adalah metode perdagangan grid tetap yang mengintegrasikan indikator teknis RSI dan CCI. Strategi ini menilai waktu masuk berdasarkan nilai indikator RSI dan CCI, menggunakan rasio keuntungan tetap dan jumlah grid tetap untuk mengatur stop loss dan order kenaikan. Strategi ini juga mengintegrasikan mekanisme perlindungan terhadap perubahan harga yang menembus.

Prinsip Strategi

Syarat masuk

Ketika RSI 5 menit dan 30 menit berada di bawah nilai set, dan CCI 1 jam berada di bawah nilai set, sinyal multitasking dihasilkan. Pada saat ini, harga tutup saat ini dicatat sebagai harga masuk, dan satuan posisi pertama dihitung berdasarkan kepentingan akun dan jumlah grid.

Kondisi berhenti

Dengan harga masuk sebagai dasar, harga keuntungan dihitung sesuai dengan rasio keuntungan target yang ditetapkan, dan stop order ditetapkan pada tingkat harga tersebut.

Kondisi penambahan

Kecuali untuk yang pertama, semua posisi tetap akan dikeluarkan satu per satu setelah sinyal masuk, sampai jumlah grid yang ditetapkan dicapai.

Instrumen perlindungan

Jika harga lebih tinggi dari harga masuk dan melebihi persentase nilai rugi yang ditetapkan, maka semua posisi yang dipegang akan ditutup dengan posisi bersih.

Mekanisme reversal

Jika harga lebih rendah dari harga masuk dan melebihi persentase terbalik yang ditetapkan, semua pesanan yang belum terjual akan dibatalkan dan menunggu kesempatan masuk baru.

Analisis Keunggulan

  • Kombinasi RSI dan CCI meningkatkan probabilitas keuntungan
  • Menggunakan fixed grid untuk menetapkan target profit, meningkatkan kepastian profit
  • Mekanisme lindung nilai terintegrasi yang efektif untuk menangkal risiko fluktuasi harga yang tajam
  • Mendapatkan keuntungan dari reversal dapat mengurangi kerugian

Analisis risiko

  • Probabilitas indikator menghasilkan sinyal salah
  • Harga berfluktuasi tajam menembus ambang batas perlindungan
  • Tidak dapat masuk kembali setelah dibalik

Risiko ini dapat dikurangi dengan menyesuaikan parameter indikator, memperluas margin offset dan mengurangi margin reversal.

Arah optimasi

  • Lebih banyak kombinasi indikator yang dapat diuji
  • Ada beberapa cara untuk mempelajari mekanisme penanggulangan autisme.
  • Untuk mengoptimalkan logika penambahan

Meringkaskan

Strategi perdagangan RSI dengan indikator penargetan menggunakan indikator untuk menentukan waktu masuk, menggunakan stop-loss dan penargetan grid tetap untuk mengunci keuntungan yang stabil. Strategi ini juga dilengkapi dengan mekanisme masuk kembali setelah berbalik dan berfluktuasi besar. Strategi yang mengintegrasikan beberapa mekanisme ini dapat digunakan untuk mengurangi risiko perdagangan dan meningkatkan tingkat keuntungan.

Kode Sumber Strategi
/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Custom RSI/CCI Strategy with Fixed Grid", shorttitle="INVESTCOIN_RSI_CCI_Fixed_Grid", overlay=true)

// Input parameters
input_rsi_5min_value = 55
input_rsi_30min_value = 65
input_cci_1hr_value = 85
input_profit_target_percent = 0.6 // Target profit in percentage
input_grid_size = 15 // Number of orders in grid
input_hedging_percent = 20 // Percentage price change for hedging
input_first_order_offset = 0.2 // Offset for the first order in percentage
input_reversal_percent = 0.4 // Percentage price change for reversal

// Calculating the RSI and CCI values
rsi_5min = ta.rsi(close, 5)
rsi_30min = ta.rsi(close, 30)
cci_1hr = ta.cci(close, 60)

// Define strategy conditions based on the provided screenshot
long_condition = (rsi_5min < input_rsi_5min_value) and (rsi_30min < input_rsi_30min_value) and (cci_1hr < input_cci_1hr_value)

// Plot signals
plotshape(series=long_condition, title="Long Entry Signal", location=location.belowbar, color=color.green, style=shape.triangleup, size=size.small)

// Initialize a variable to store the entry price
var float entry_price = na

// Initialize a variable to store the profit target
var float profit_target = na

// Hedge condition based on price change percentage
var float hedge_price = na

// Initialize a variable to count the total number of orders
var int total_orders = 0

// Calculate the initial order size based on account equity and grid size
var float initial_order_size = 1 / input_grid_size / 100

// Entry orders with fixed size
if (long_condition and total_orders < 9000)
    // Place first order with an offset
    if total_orders == 0
        strategy.order("First Long", strategy.long, qty=initial_order_size, limit=close * (1 - input_first_order_offset / 100))
    total_orders := total_orders + 1
    
    // Place remaining grid orders
    for i = 1 to input_grid_size - 1
        if (total_orders >= 9000)
            break // Stop if max orders reached
        strategy.entry("Long_" + str.tostring(i), strategy.long, qty=initial_order_size)
        total_orders := total_orders + 1

// Calculate the profit target in currency
if (long_condition)
    entry_price := close // Store the entry price when the condition is true

if (not na(entry_price))
    profit_target := entry_price * input_profit_target_percent / 100 // Calculate the profit target

// Setting up the profit target
if (not na(profit_target))
    strategy.exit("Take Profit", "Long", limit=entry_price + profit_target)

// Hedge by closing all positions if the price increases by the hedging percentage
if (strategy.position_size > 0)
    hedge_price := close * (1 + input_hedging_percent / 100)

if (not na(hedge_price) and close >= hedge_price)
    strategy.close_all(comment="Hedging")


// Reversal condition based on the price change percentage
var float reversal_price = na

if (strategy.position_size > 0 and total_orders > 1) // Check if at least one grid order has been placed
    reversal_price := entry_price * (1 - input_reversal_percent / 100)

// Cancel trades and wait for a new entry point if the price reverses by the specified percentage
if (not na(reversal_price) and close <= reversal_price)
    strategy.cancel_all()
    total_orders := 0 // Reset the total orders count after cancellation