Strategi pelarian tinggi dan rendah sesi Asia


Tarikh penciptaan: 2024-03-29 17:12:49 Akhirnya diubah suai: 2024-03-29 17:12:49
Salin: 0 Bilangan klik: 1395
1
fokus pada
1617
Pengikut

Strategi pelarian tinggi dan rendah sesi Asia

Gambaran keseluruhan

Idea utama strategi ini adalah menggunakan kedudukan tinggi dan rendah di pasaran Asia sebagai titik pecah, dalam beberapa jam selepas pasaran AS dan Eropah dibuka, jika harga menembusi kedudukan tinggi di pasaran Asia, maka lebih banyak, dan melanggar kedudukan rendah di pasaran Asia, maka kosong. Pada masa yang sama, menetapkan hentian dan hentian, mengawal risiko. Strategi ini hanya membuka satu perdagangan setiap hari, dengan jumlah maksimum yang dibuka pada masa yang sama adalah 100.000.

Prinsip Strategi

  1. Untuk menentukan masa perdagangan pada piring Asia, pengguna boleh menyesuaikan masa permulaan dan akhir.
  2. Harga tertinggi dan harga terendah pada hari itu direkodkan semasa pasaran Asia.
  3. Beberapa waktu selepas harga EUR/USD dibuka (bergantung pada jam penyesuaian pengguna), jika harga menembusi kedudukan tertinggi di Asia, ia akan melakukan lebih banyak, dan jika ia menembusi kedudukan rendah di Asia, ia akan melakukan lebih sedikit.
  4. Tetapkan stop loss dan stop loss, dan nilai stop loss dan stop loss boleh disesuaikan.
  5. Hanya satu dagangan baru dibuka setiap hari, dan jumlah maksimum dagangan dibuka pada masa yang sama ialah 100,000.
  6. Jika dagangan telah dibuka pada hari itu, maka tidak ada dagangan baru akan dibuka.

Analisis kelebihan

  1. Menggunakan ciri-ciri yang agak tenang dari indeks Asia, anda boleh menangkap peluang trend yang lebih baik dari indeks AS dan Eropah dengan mengambil bahagian dalam kenaikan dan penurunan indeks Asia pada hari itu sebagai titik pecah.
  2. Ia juga mempunyai penghalang dan penangguhan untuk mengawal risiko dengan berkesan, untuk memastikan keuntungan berjalan lancar dan kerugian berhenti dengan cepat.
  3. Mengehadkan hanya satu dagangan setiap hari dan jumlah maksimum dagangan pada masa yang sama dapat mengelakkan perdagangan yang berlebihan dan penggunaan dana yang berlebihan.
  4. Pengguna boleh menyesuaikan parameter seperti masa cakera Asia dan jam penyesuaian mengikut keperluan mereka.

Analisis risiko

  1. Tidak semestinya kedudukan tinggi dan rendah di Asia adalah kedudukan tinggi dan rendah yang sebenar pada hari itu, tetapi ia boleh berlaku bahawa kedudukan tinggi dan rendah di Amerika Syarikat (AS) akan berpatah balik dengan cepat dan menyebabkan kerugian.
  2. Penutupan dan hentian dengan nilai tetap mungkin tidak dapat menangani turun naik yang besar dalam pasaran, kadang-kadang mungkin berhenti terlalu awal, kadang-kadang mungkin berhenti terlalu awal.
  3. Strategi ini mungkin berlaku dalam keadaan di mana trend tidak jelas atau turun naik pasaran yang besar.

Arah pengoptimuman

  1. Anda boleh mempertimbangkan untuk secara dinamik menyesuaikan titik-titik berhenti dan hentian berdasarkan indikator turun naik seperti ATR, untuk menyesuaikan diri dengan keadaan yang berbeza.
  2. Anda boleh menambah beberapa indikator untuk menilai trend, seperti MA, hanya melakukan lebih banyak apabila trend besar naik, dan kosong apabila turun, untuk meningkatkan kadar kejayaan.
  3. Anda boleh mempertimbangkan untuk menetapkan parameter yang berbeza pada masa-masa tertentu, seperti penggunaan stop loss yang lebih kecil pada permulaan perdagangan EUR / USD, dan peningkatan stop loss apabila trend jelas.

ringkaskan

Strategi ini menggunakan kedudukan tinggi dan rendah di dalam carta Asia sebagai titik penembusan untuk berdagang dan sesuai untuk digunakan pada varieti yang lebih jelas trend di dalam carta Amerika Syarikat dan Eropah. Tetapi terdapat beberapa batasan dalam penangguhan kerugian dan penembusan standard. Dengan memperkenalkan beberapa indikator dinamik dan trend, strategi ini dapat dioptimumkan untuk mendapatkan hasil yang lebih baik.

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