Strategi penembusan intrahari berdasarkan titik tinggi dan rendah garis K tiga minit

MA EMA
Tarikh penciptaan: 2024-06-14 15:43:42 Akhirnya diubah suai: 2024-06-14 15:43:42
Salin: 3 Bilangan klik: 873
1
fokus pada
1617
Pengikut

Strategi penembusan intrahari berdasarkan titik tinggi dan rendah garis K tiga minit

Gambaran keseluruhan

Strategi utama strategi ini adalah menggunakan titik tinggi dan rendah garis K tiga minit sebagai titik pecah, apabila harga menembusi titik tinggi garis K tiga minit, melakukan lebih banyak, ketika ia menembusi titik rendah. Strategi ini sesuai untuk perdagangan dalam hari, menutup posisi pada hari yang ditutup, dan meneruskan perdagangan pada hari berikutnya.

Prinsip Strategi

  1. Dapatkan data K-Line tiga minit pertama selepas pembukaan setiap hari dan rekodkan harga tertinggi dan terendah pada K-Line ketiga.
  2. Apabila harga menembusi harga tertinggi di K baris ketiga, buka lebih banyak pesanan, harga sasaran ditambah 100 mata pada harga pembukaan, sehingga ditutup atau mencapai harga sasaran.
  3. Apabila harga menembusi harga terendah garis K ketiga, buka pesanan kosong, dan harga sasaran dikurangkan 100 poin sebagai harga pembukaan, sehingga ditutup atau mencapai harga sasaran.
  4. Setiap hari, anda akan menutup dagangan anda dan teruskan dagangan anda pada hari berikutnya.

Kelebihan Strategik

  1. Mudah difahami, mudah dilaksanakan.
  2. Ia boleh digunakan untuk dagangan dalam sehari dan mempunyai kadar penggunaan dana yang tinggi.
  3. “Risiko yang agak rendah, titik hentian jelas.
  4. Berlaku untuk pasaran yang lebih trendy.

Risiko Strategik

  1. Apabila pasaran berubah-ubah, penarikan balik yang lebih besar mungkin berlaku.
  2. Harga saham akan turun dan turun dalam tempoh sesi terbuka.
  3. Ia juga boleh menyebabkan kesesatan dalam pengkajian.

Arah pengoptimuman strategi

  1. Anda boleh pertimbangkan untuk memasukkan penunjuk seperti purata bergerak untuk menapis isyarat bising di pasaran yang bergolak.
  2. Anda boleh pertimbangkan untuk mengoptimumkan masa untuk membuka kedudukan anda dan mengelakkan tempoh terbuka.
  3. Anda boleh mempertimbangkan untuk mengoptimumkan titik hentian hentian untuk meningkatkan kestabilan strategi.
  4. Anda boleh mempertimbangkan untuk menyertai pengurusan kedudukan untuk mengawal risiko pengeluaran.

ringkaskan

Strategi ini adalah berdasarkan tiga minit K garis tinggi rendah titik pecah, dan digunakan untuk perdagangan dalam hari. Kelebihannya adalah mudah difahami, mudah untuk melaksanakan, risiko yang agak rendah. Tetapi ada juga beberapa risiko, seperti apabila pasaran turun naik yang besar, mungkin akan berlaku pulangan besar.

Kod sumber strategi
/*backtest
start: 2023-06-08 00:00:00
end: 2024-06-13 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Banknifty Strategy", overlay=true, default_qty_type=strategy.fixed, default_qty_value=1)

// Parameters
start_date = input(timestamp("2024-01-01 00:00"), title="Start Date")
end_date = input(timestamp("2024-06-07 23:59"), title="End Date")

// Time settings
var startTime = timestamp("2024-06-09 09:15")
var endTime = timestamp("2024-06-09 09:24")

// Variables to store the 3rd 3-minute candle
var bool isCandleFound = false
var float thirdCandleHigh = na
var float thirdCandleLow = na
var float baseCandleHigh = na
var float baseCandleLow = na
var float entryPrice = na
var float targetPrice = na

// Check if the current time is within the specified date range
inDateRange = true

// Capture the 3rd 3-minute candle
if (inDateRange and not isCandleFound)
    var int candleCount = 0
    if (true)
        candleCount := candleCount + 1
        if (candleCount == 3)
            thirdCandleHigh := high
            thirdCandleLow := low
            isCandleFound := true

// Wait for a candle to close above the high of the 3rd 3-minute candle
if (isCandleFound and na(baseCandleHigh) and close > thirdCandleHigh)
    baseCandleHigh := close
    baseCandleLow := low

// Strategy logic for buying and selling
if (not na(baseCandleHigh))
    // Buy condition
    if (high > baseCandleHigh and strategy.opentrades == 0)
        entryPrice := high
        targetPrice := entryPrice + 100
        strategy.entry("Buy", strategy.long, limit=entryPrice)
    // Sell condition
    if (low < baseCandleLow and strategy.opentrades == 0)
        entryPrice := low
        targetPrice := entryPrice - 100
        strategy.entry("Sell", strategy.short, limit=entryPrice)

// Exit conditions
if (strategy.opentrades > 0)
    // Exit BUY trade when profit is 100 points or carry forward to next day
    if (strategy.position_size > 0 and high >= targetPrice)
        strategy.exit("Take Profit", from_entry="Buy", limit=targetPrice)
    // Exit SELL trade when profit is 100 points or carry forward to next day
    if (strategy.position_size < 0 and low <= targetPrice)
        strategy.exit("Take Profit", from_entry="Sell", limit=targetPrice)

// Close trades at the end of the day
if (time == timestamp("2024-06-09 15:30"))
    strategy.close("Buy", comment="Market Close")
    strategy.close("Sell", comment="Market Close")

// Plotting for visualization
plotshape(series=isCandleFound, location=location.belowbar, color=color.red, style=shape.labeldown, text="3rd 3-min candle")
plot(baseCandleHigh, title="Base Candle High", color=color.green, linewidth=2, style=plot.style_line)
plot(baseCandleLow, title="Base Candle Low", color=color.red, linewidth=2, style=plot.style_line)