Strategi Pemecahan Bendera Bull Berdasarkan Nisbah Risiko-Ganjaran dan Analisis Teknikal


Tarikh penciptaan: 2024-05-28 10:47:51 Akhirnya diubah suai: 2024-05-28 10:47:51
Salin: 1 Bilangan klik: 462
1
fokus pada
1617
Pengikut

Strategi Pemecahan Bendera Bull Berdasarkan Nisbah Risiko-Ganjaran dan Analisis Teknikal

Gambaran keseluruhan

Strategi ini adalah berdasarkan corak bendera lembu, membeli selepas harga menembusi kawasan tinggi bendera, dan meletakkan kedudukan hentian di kawasan rendah bendera, dan menetapkan keuntungan sasaran berdasarkan perbandingan risiko-pengembalian. Strategi ini menggunakan fungsi harga tertinggi dan harga terendah untuk mengenal pasti kawasan bendera, dan menilai penembusan dengan membandingkan harga penutupan semasa dan harga tertinggi K sebelumnya.

Prinsip Strategi

  1. Kenali bentuk bendera lembu: gunakan fungsi harga tertinggi dan terendah untuk mengira titik tertinggi dan terendah dalam julat bendera, dan tentukan sama ada harga semasa menembusi titik tertinggi bendera.
  2. Memasuki: Beli jika harga penutupan semasa menembusi harga tertinggi pada garis K terdahulu, dan harga tertinggi pada garis K terdahulu adalah di bawah titik tinggi bendera.
  3. Hentikan Kerosakan: harga hentikan ditetapkan sebagai titik rendah bendera tolak satu nilai penampan.
  4. Hentikan: Harga sasaran yang dikira berdasarkan nisbah risiko-kembali. Harga sasaran = harga masuk + (harga masuk - harga hentikan) * nisbah risiko-kembali

Kelebihan Strategik

  1. Berdasarkan corak bendera lembu klasik, ia dapat menangkap peluang untuk membalikkan trend yang kuat.
  2. Penangguhan kerugian terletak pada titik rendah bendera, risiko boleh dikawal.
  3. Menggunakan risiko untuk mendapatkan keuntungan yang lebih tinggi daripada menetapkan harga sasaran.
  4. Kod logik jelas, menggunakan fungsi terbina dalam TradingView, mudah difahami dan diubah suai.

Risiko Strategik

  1. Pada masa pasaran yang bergolak atau trend yang tidak jelas, harga mungkin berbalik dengan cepat selepas penembusan bendera, membawa kepada penarikan balik yang lebih besar.
  2. Penetapan nilai pelindung yang tidak betul boleh menyebabkan kemusnahan awal.
  3. Nisbah risiko/balasan sebenar mungkin kurang daripada nilai yang ditetapkan.
  4. Strategi ini mungkin tidak berkesan untuk beberapa corak bendera yang berubah bentuk.

Arah pengoptimuman strategi

  1. Anda boleh mempertimbangkan untuk menambah lebih banyak syarat penapis isyarat, seperti perubahan jumlah dagangan, arah garis rata-rata, dan sebagainya, untuk meningkatkan kualiti isyarat.
  2. Untuk ciri-ciri pasaran yang berbeza, parameter boleh dioptimumkan, seperti panjang selang bendera, nisbah pulangan risiko, nilai buffer stop loss, dan sebagainya.
  3. Anda boleh mempertimbangkan untuk membina gudang secara berturut-turut dan menghentikan kerugian dinamik untuk mengurangkan pendedahan risiko.
  4. Menyertai pengurusan kedudukan untuk mengawal risiko keseluruhan.

ringkaskan

Strategi ini adalah strategi penembusan berdasarkan bentuk bendera lembu klasik, untuk menangkap peluang kesinambungan trend dengan mengenal pasti julat bendera dan penembusan harga. Kelebihan strategi adalah kejernihan logik, risiko boleh dikawal, tetapi menghadapi risiko tertentu ketika pasaran bergolak atau trend berbalik.

Kod sumber 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)