Strategi Dagangan Pecah Pulangan Berkadar Tinggi Berdasarkan Struktur Harga

RR SL TP ATH ATL
Tarikh penciptaan: 2025-02-18 15:42:01 Akhirnya diubah suai: 2025-02-18 15:42:01
Salin: 1 Bilangan klik: 393
1
fokus pada
1617
Pengikut

Strategi Dagangan Pecah Pulangan Berkadar Tinggi Berdasarkan Struktur Harga

Gambaran keseluruhan

Ini adalah strategi perdagangan terobosan berdasarkan tindakan harga semata-mata, yang direka dengan nisbah ganjaran risiko tinggi 1: 5. Strategi ini melakukan perdagangan dengan mengenal pasti penembusan tahap harga penting, dan menggabungkan struktur pasaran yang dinamik untuk menetapkan sasaran stop-loss dan keuntungan. Strategi ini tidak bergantung pada sebarang petunjuk teknikal, membuat keputusan perdagangan sepenuhnya berdasarkan tindakan harga masa nyata.

Prinsip Strategi

Logik teras strategi merangkumi bahagian penting berikut:

  1. Membentuk titik rujukan untuk penembusan dengan mengenal pasti tahap harga tertinggi dan terendah pada tempoh yang telah dipetik
  2. Terbuka lebih banyak kedudukan apabila harga penutupan menembusi paras tertinggi sebelum ini, terbuka kosong apabila menembusi paras rendah sebelum ini
  3. Berdasarkan kedudukan berhenti dinamik yang ditetapkan untuk turun naik dalam masa terdekat, banyak kedudukan yang ditetapkan untuk berhenti pada titik rendah, kedudukan kosong yang ditetapkan untuk berhenti pada titik tinggi
  4. Lokasi sasaran keuntungan yang dikira berdasarkan nisbah risiko / pulangan 1: 5
  5. Tetapkan had maksimum perdagangan harian untuk mengelakkan perdagangan berlebihan Keseluruhan proses perdagangan adalah berdasarkan kepada pergerakan harga tanpa menggunakan sebarang petunjuk teknikal sebagai rujukan.

Kelebihan Strategik

  1. Berdagang dengan harga murni untuk mengelakkan gangguan yang disebabkan oleh ketinggalan indeks
  2. Reka bentuk dengan perbandingan ganjaran-risiko tinggi, dengan potensi keuntungan 5 kali ganda daripada risiko setiap dagangan
  3. Tetapan Henti Kerosakan Dinamik, menyesuaikan diri mengikut struktur pasaran
  4. Isyarat perdagangan yang jelas dan penanda visual untuk memudahkan pelaksanaan perdagangan
  5. Parameter sangat boleh dilaraskan untuk menyesuaikan diri dengan persekitaran pasaran yang berbeza
  6. Kawalan risiko yang ketat, termasuk had perdagangan harian

Risiko Strategik

  1. Tanda-tanda penembusan palsu yang kerap berlaku di pasaran yang bergolak
  2. Nisbah ganjaran risiko tinggi boleh menyebabkan peluang kemenangan yang agak rendah
  3. Penyusunan semula selepas penembusan mungkin mencetuskan kerugian
  4. Perubahan dalam turun naik pasaran mungkin mempengaruhi prestasi strategi
  5. Pergerakan harga yang lebih besar diperlukan untuk mencapai sasaran keuntungan

Langkah-langkah mitigasi:

  • Menggunakan strategi ini dalam pasaran yang sedang trending
  • Elakkan berdagang semasa siaran berita penting
  • Skala kedudukan yang munasabah
  • Semak dan optimumkan parameter secara berkala

Arah pengoptimuman strategi

  1. Menambah penapis trend, hanya berdagang ke arah trend utama
  2. Menambah mekanisme pengesahan kuantiti untuk meningkatkan kebolehpercayaan kejayaan
  3. Tahap risiko-reward yang disesuaikan dengan pergerakan kadar turun naik
  4. Memperkenalkan analisis kitaran masa berbilang untuk meningkatkan ketepatan transaksi
  5. Membangunkan mekanisme penangguhan yang lebih pintar, seperti menjejaki penangguhan
  6. Menambah keupayaan untuk mengenal pasti keadaan pasaran, menyesuaikan parameter strategi

ringkaskan

Ini adalah strategi perdagangan tingkah laku harga yang dirancang dengan ketat dan logik yang jelas. Dengan reka bentuk nisbah pulangan risiko yang tinggi, mengejar keuntungan yang ketara sambil mengawal risiko dengan berkesan. Kelebihan strategi terletak pada pemanduan harga tulen, fleksibiliti parameter, dan kawalan risiko yang sempurna. Walaupun terdapat risiko penembusan palsu, kestabilan dan kebolehpercayaan strategi dapat ditingkatkan lagi dengan arah pengoptimuman yang disyorkan.

Kod sumber strategi
/*backtest
start: 2024-02-19 00:00:00
end: 2024-11-14 08:00:00
period: 3h
basePeriod: 3h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=6
strategy("Filtered Price Action Breakout", overlay=true)

// === INPUTS ===
lookback = input.int(20, title="Breakout Lookback Period", minval=5)
stopLookback = input.int(10, title="Stop Loss Lookback Period", minval=3)
rrMultiplier = input.float(5.0, title="Risk-to-Reward Multiplier", step=0.1)
maxTradesPerDay = input.int(5, title="Max Trades Per Day", minval=1)

// Ensure there are enough bars for calculations
inRange = bar_index >= lookback

// === CALCULATIONS ===
// Highest high and lowest low over the 'lookback' period
highestHigh = ta.highest(high, lookback)
lowestLow = ta.lowest(low, lookback)

// Define breakout conditions (using previous bar's level)
bullBreakout = ta.crossover(close, highestHigh[1])
bearBreakout = ta.crossunder(close, lowestLow[1])

// Store breakout signals in variables to prevent inconsistencies
bullBreakoutSignal = bullBreakout
bearBreakoutSignal = bearBreakout

// Determine stop levels based on recent swing lows/highs
longStop = ta.lowest(low, stopLookback)
shortStop = ta.highest(high, stopLookback)

// Track number of trades per day (fixing boolean condition issue)
newDay = ta.change(time("D")) != 0
todayTrades = ta.barssince(newDay)
tradeCount = 0
if newDay
    tradeCount := 0
else
    tradeCount := tradeCount + 1

// === STRATEGY LOGIC: ENTRY & EXIT ===
if bullBreakoutSignal and tradeCount < maxTradesPerDay
    entryPrice = close
    stopLevel = longStop
    risk = entryPrice - stopLevel
    if risk > 0
        target = entryPrice + rrMultiplier * risk
        strategy.entry("Long", strategy.long)
        strategy.exit("Long Exit", from_entry="Long", stop=stopLevel, limit=target)
        tradeCount := tradeCount + 1
        
        // // Draw Markups
        // label.new(bar_index, entryPrice, text="Long Entry", color=color.green, textcolor=color.white, size=size.small, style=label.style_label_down)
        // line.new(x1=bar_index, y1=entryPrice, x2=bar_index + 5, y2=entryPrice, color=color.green, width=2)
        // line.new(x1=bar_index, y1=stopLevel, x2=bar_index + 5, y2=stopLevel, color=color.red, width=2, style=line.style_dotted)
        // line.new(x1=bar_index, y1=target, x2=bar_index + 5, y2=target, color=color.blue, width=2, style=line.style_dashed)
        // label.new(bar_index, stopLevel, text="Stop Loss", color=color.red, textcolor=color.white, size=size.small, style=label.style_label_down)
        // label.new(bar_index, target, text="Target", color=color.blue, textcolor=color.white, size=size.small, style=label.style_label_up)

if bearBreakoutSignal and tradeCount < maxTradesPerDay
    entryPrice = close
    stopLevel = shortStop
    risk = stopLevel - entryPrice
    if risk > 0
        target = entryPrice - rrMultiplier * risk
        strategy.entry("Short", strategy.short)
        strategy.exit("Short Exit", from_entry="Short", stop=stopLevel, limit=target)
        tradeCount := tradeCount + 1
        
        // // Draw Markups
        // label.new(bar_index, entryPrice, text="Short Entry", color=color.red, textcolor=color.white, size=size.small, style=label.style_label_up)
        // line.new(x1=bar_index, y1=entryPrice, x2=bar_index + 5, y2=entryPrice, color=color.red, width=2)
        // line.new(x1=bar_index, y1=stopLevel, x2=bar_index + 5, y2=stopLevel, color=color.green, width=2, style=line.style_dotted)
        // line.new(x1=bar_index, y1=target, x2=bar_index + 5, y2=target, color=color.blue, width=2, style=line.style_dashed)
        // label.new(bar_index, stopLevel, text="Stop Loss", color=color.green, textcolor=color.white, size=size.small, style=label.style_label_up)
        // label.new(bar_index, target, text="Target", color=color.blue, textcolor=color.white, size=size.small, style=label.style_label_down)

// === PLOTTING ===
plot(highestHigh, color=color.green, title="Highest High (Breakout Level)")
plot(lowestLow, color=color.red, title="Lowest Low (Breakout Level)")