Sumber dimuat naik... memuat...

Rasio risiko-balasan dan analisis teknikal berasaskan Bull Flag Breakout Strategy

Penulis:ChaoZhang, Tarikh: 2024-05-28 10:47:51
Tag:

img

Ringkasan

Strategi ini adalah berdasarkan corak bendera lembu. Ia membeli apabila harga pecah di atas tahap tertinggi julat bendera, menetapkan stop loss pada tahap rendah julat bendera, dan menetapkan sasaran keuntungan mengikut nisbah risiko-balasan. Strategi ini menggunakan fungsi harga tertinggi dan terendah untuk mengenal pasti julat bendera dan menentukan pecah dengan membandingkan harga penutupan semasa dengan harga tertinggi lilin sebelumnya.

Prinsip Strategi

  1. Mengenali corak bendera lembu: Mengira tinggi dan rendah julat bendera menggunakan fungsi harga tertinggi dan terendah, dan menentukan sama ada harga semasa pecah di atas bendera tinggi.
  2. Masuk: Jika harga penutupan semasa pecah di atas harga tertinggi lilin sebelumnya, dan harga tertinggi lilin sebelumnya lebih rendah daripada tinggi bendera, maka beli.
  3. Stop Loss: Harga stop loss ditetapkan pada tanda rendah dikurangkan nilai penyangga.
  4. Ambil Keuntungan: Hitung harga sasaran berdasarkan nisbah risiko-balasan. Harga sasaran = Harga Masuk + (Harga Masuk - Harga Hentian Kerugian) * Nisbah Risiko-Balasan

Kelebihan Strategi

  1. Berdasarkan corak bendera lembu klasik, ia boleh menangkap peluang mundur dalam trend yang kuat.
  2. Stop loss ditetapkan pada tanda rendah, menjadikan risiko terkawal.
  3. Gunakan nisbah risiko-balasan untuk menetapkan harga sasaran dan mencari pulangan yang lebih tinggi.
  4. Logik kodnya jelas dan menggunakan fungsi terbina dalam TradingView, menjadikannya mudah difahami dan diubah suai.

Risiko Strategi

  1. Dalam pasaran yang tidak menentu atau apabila trendnya tidak jelas, harga boleh berbalik dengan cepat selepas keluar dari bendera, yang membawa kepada penurunan yang ketara.
  2. Penetapan nilai penyangga yang tidak betul boleh membawa kepada kerugian berhenti yang lebih awal.
  3. Nisbah risiko-balasan sebenar mungkin tidak mencapai nilai yang ditetapkan.
  4. Strategi ini mungkin gagal untuk beberapa corak bendera yang cacat.

Arahan Pengoptimuman Strategi

  1. Pertimbangkan untuk menambah lebih banyak keadaan kepada isyarat penapis, seperti perubahan dalam jumlah dagangan, arah purata bergerak, dan lain-lain, untuk meningkatkan kualiti isyarat.
  2. Mengoptimumkan parameter mengikut ciri pasaran yang berbeza, seperti panjang julat bendera, nisbah risiko-balasan, nilai penyangga stop loss, dll.
  3. Pertimbangkan untuk membina kedudukan dalam kumpulan dan menggunakan stop loss dinamik untuk mengurangkan pendedahan risiko.
  4. Tambah pengurusan kedudukan untuk mengawal risiko keseluruhan.

Ringkasan

Strategi ini adalah strategi breakout berdasarkan corak bendera lembu klasik, yang menangkap peluang kesinambungan trend dengan mengenal pasti julat bendera dan penembusan harga. Kelebihan strategi ini adalah logik yang jelas dan risiko yang boleh dikawal, tetapi ia menghadapi risiko tertentu dalam pasaran yang tidak menentu atau pembalikan trend. Penambahbaikan boleh dibuat dari segi mengoptimumkan isyarat, parameter dinamik, pengurusan kedudukan, dll., untuk meningkatkan kekuatan dan keuntungan strategi.


/*backtest
start: 2023-05-22 00:00:00
end: 2024-05-27 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Bull Flag Breakout", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10)

// Параметры стратегии
riskRewardRatio = 3.0
flagLength = input.int(5, title="Flag Length")
stopLossBuffer = input.float(0.01, title="Stop Loss Buffer", step=0.001)

// Функция для вычисления стоп-лосса и тейк-профита
calcRiskRewardPrice(entryPrice, stopLossPrice, riskRewardRatio) =>
    takeProfitPrice = entryPrice + (entryPrice - stopLossPrice) * riskRewardRatio
    [stopLossPrice, takeProfitPrice]

// Найти минимум и максимум флага
flagLow = ta.lowest(low, flagLength)
flagHigh = ta.highest(high, flagLength)

// Условия для формирования бычьего флага
isBullFlag = high[1] < flagHigh and close > high[1]

// Условия для входа в сделку
if (isBullFlag)
    entryPrice = close
    stopLossPrice = flagLow - stopLossBuffer
    [calculatedStopLoss, calculatedTakeProfit] = calcRiskRewardPrice(entryPrice, stopLossPrice, riskRewardRatio)
    
    // Открыть длинную позицию
    strategy.entry("Bull Flag Long", strategy.long)
    strategy.exit("Take Profit", "Bull Flag Long", limit=calculatedTakeProfit)
    strategy.exit("Stop Loss", "Bull Flag Long", stop=calculatedStopLoss)
    label.new(bar_index, high, "Buy", color=color.green, textcolor=color.white, style=label.style_label_down)


Lebih lanjut