Strategi breakout tertinggi dan terendah sesi Asia


Tanggal Pembuatan: 2024-03-29 17:12:49 Akhirnya memodifikasi: 2024-03-29 17:12:49
menyalin: 0 Jumlah klik: 1395
1
fokus pada
1617
Pengikut

Strategi breakout tertinggi dan terendah sesi Asia

Ringkasan

Strategi utama adalah dengan menggunakan posisi tinggi dan rendah di pasar Asia sebagai titik terobosan, dalam beberapa jam setelah pasar Eropa dan Amerika dibuka, jika harga melampaui posisi tinggi di pasar Asia, maka lebih banyak, dan jika harga melampaui posisi rendah di pasar Asia, maka kosong. Pada saat yang sama, pengaturan stop loss dan stop loss, mengendalikan risiko. Strategi ini hanya membuka satu perdagangan per hari, dengan jumlah maksimum posisi terbuka sekaligus 100.000.

Prinsip Strategi

  1. Untuk menentukan waktu transaksi di Asia, pengguna dapat menyesuaikan waktu awal dan akhir.
  2. Harga tertinggi dan harga terendah yang tercatat pada hari itu selama periode Asia.
  3. Beberapa waktu setelah pembukaan perdagangan EUR/USD (pengguna bisa menentukan jam pergeseran), jika harga mencapai titik tertinggi di Asia, maka harga akan naik. Jika harga mencapai titik terendah di Asia, maka harga akan turun.
  4. Pengaturan stop loss dan stop loss, stop loss dan stop loss dapat disesuaikan.
  5. Hanya satu transaksi baru yang dibuka setiap hari, dan jumlah maksimum yang dapat dibuka pada saat yang sama adalah 100.000.
  6. Jika posisi telah dibuka pada hari tersebut, maka tidak ada lagi transaksi baru yang dibuka.

Analisis Keunggulan

  1. Menggunakan karakteristik yang relatif tenang dari indeks Asia, dengan titik tinggi dan rendah dari indeks Asia sebagai titik terobosan, Anda dapat lebih baik menangkap peluang tren dari indeks Eropa dan Amerika.
  2. Dengan pengaturan stop loss dan stop stop, Anda dapat mengontrol risiko secara efektif, sehingga Anda bisa mendapatkan keuntungan dan kerugian dengan cepat.
  3. Pembatasan hanya satu pesanan per hari dan jumlah maksimum posisi yang dibuka pada saat yang sama dapat mencegah overtrading dan penggunaan dana yang berlebihan.
  4. Pengguna dapat dengan fleksibel mengatur parameter seperti waktu disk Asia dan jam pergeseran sesuai dengan kebutuhan mereka.

Analisis risiko

  1. Posisi tinggi dan rendah di Asia tidak selalu menjadi posisi tinggi dan rendah yang sebenarnya pada hari itu, dan kemungkinan besar posisi AS dan Eropa akan cepat mundur setelah terobosan, menyebabkan kerugian.
  2. Stop loss dan stop loss dengan nilai tetap mungkin tidak dapat menangani fluktuasi besar dalam pasar, kadang-kadang mungkin berhenti terlalu dini, kadang-kadang mungkin berhenti terlalu dini.
  3. Strategi ini mungkin sering terjadi dalam situasi posisi stop loss ketika tren tidak jelas atau ketika pasar berfluktuasi.

Arah optimasi

  1. Anda dapat mempertimbangkan untuk secara dinamis menyesuaikan stop loss dan stop loss berdasarkan indikator volatilitas seperti ATR untuk menyesuaikan dengan situasi yang berbeda.
  2. Anda dapat menambahkan beberapa indikator untuk menilai tren, seperti MA, hanya melakukan lebih banyak saat tren besar naik, dan melakukan kosong saat turun, untuk meningkatkan tingkat keberhasilan.
  3. Anda dapat mempertimbangkan untuk mengatur parameter yang berbeda pada frekuensi tertentu, seperti menggunakan stop loss yang lebih kecil pada awal perdagangan di AS dan Eropa, dan stop loss yang lebih besar pada saat tren terlihat.

Meringkaskan

Strategi ini menggunakan titik tinggi dan rendah dari indeks Asia sebagai titik terobosan untuk melakukan perdagangan, dan cocok untuk digunakan pada varietas yang lebih jelas tren indeks Eropa dan Amerika. Namun, ada beberapa keterbatasan dari stop loss dan penembusan standar. Dengan memperkenalkan beberapa indikator dinamis dan tren, strategi ini dapat dioptimalkan untuk mendapatkan hasil yang lebih baik.

Kode Sumber Strategi
/*backtest
start: 2024-02-27 00:00:00
end: 2024-03-28 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("Asia Session", overlay=true)

var hourSessionStart = input(19, "Asia session start hour", minval=0, maxval=23)
var hourSessionStop  = input(1, "Asia session end hour", minval=0, maxval=23)
var offsetHours = input(3, "Offset hours after Asia session end")

var float hi              = na
var float lo              = na
var float plotHi          = na
var float plotLo          = na

var bool  inSession       = na
var bool  enteringSession = na
var bool  exitingSession  = na

inSession       := (hour >= hourSessionStart or hour < hourSessionStop)
enteringSession := inSession and not inSession[1]
exitingSession  := not inSession and inSession[1]

if enteringSession
    plotLo := na
    plotHi := na

if inSession
    lo := min(low,  nz(lo, 1.0e23))
    hi := max(high, nz(hi))

if exitingSession
    plotLo := lo
    plotHi := hi
    lo     := na
    hi     := na

bgcolor(inSession ? color.blue : na)

plot(plotLo, "Asia session Low",  color.red,   style=plot.style_linebr)
plot(plotHi, "Asia session High", color.green, style=plot.style_linebr)

// Implementazione delle condizioni di entrata
var float asiaSessionLow = na
var float asiaSessionHigh = na
var int maxTrades = 100000 // Impostiamo il massimo numero di operazioni contemporanee
var int tradesOpened = 0 // Variabile per tenere traccia del numero di operazioni aperte
var bool tradeOpened = false
var bool operationClosed = false // Nuova variabile per tenere traccia dello stato di chiusura dell'operazione

// Calcolo del range asiatico
if (inSession)
    asiaSessionLow := lo
    asiaSessionHigh := hi

// Apertura di un solo trade al giorno
if (enteringSession)
    tradeOpened := false

// Condizioni di entrata
var float stopLoss = 300 * syminfo.mintick
var float takeProfit = 300 * syminfo.mintick

if (not tradeOpened and not operationClosed and close < asiaSessionLow and tradesOpened < maxTrades and hour >= hourSessionStop + offsetHours)
    strategy.entry("Buy", strategy.long)
    tradeOpened := true
    tradesOpened := tradesOpened + 1 // Incrementiamo il contatore delle operazioni aperte

if (not tradeOpened and not operationClosed and close > asiaSessionHigh and tradesOpened < maxTrades and hour >= hourSessionStop + offsetHours)
    strategy.entry("Sell", strategy.short)
    tradeOpened := true
    tradesOpened := tradesOpened + 1 // Incrementiamo il contatore delle operazioni aperte

// Impostazione dello stop loss e del take profit
strategy.exit("Stop Loss / Take Profit", "Buy", stop=close - stopLoss, limit=close + takeProfit)
strategy.exit("Stop Loss / Take Profit", "Sell", stop=close + stopLoss, limit=close - takeProfit)