Strategi Peluru Perak Berdasarkan Box Breakout


Tanggal Pembuatan: 2024-01-15 12:06:32 Akhirnya memodifikasi: 2024-01-15 12:06:32
menyalin: 1 Jumlah klik: 801
1
fokus pada
1617
Pengikut

Strategi Peluru Perak Berdasarkan Box Breakout

Ringkasan

Strategi ini terutama dengan memonitor penembusan kotak yang dibentuk oleh titik tinggi dan rendah dari garis K, untuk menilai arah dan kekuatan pasar. Ketika terjadi penembusan kotak ke atas, strategi akan menetapkan titik masuk positif di dekat titik penembusan; Ketika terjadi penembusan kotak ke bawah, strategi akan menetapkan titik masuk terbalik di dekat titik penembusan.

Prinsip Strategi

  1. Strategi akan mendefinisikan periode perdagangan dan hanya beroperasi dalam periode tersebut untuk mencari peluang perdagangan.

  2. Strategi ini menilai apakah ada penembusan yang signifikan dari harga tertinggi dan terendah dari dua garis K sebelumnya setelah setiap garis K terbentuk.

2.1 Jika harga terendah dari garis K kedua lebih tinggi dari harga terendah dari garis K pertama, maka terjadi penembusan kotak ke atas.

2.2 Jika harga tertinggi pada baris K kedua lebih rendah dari harga terendah pada baris K pertama, maka terjadi penembusan kotak ke bawah.

  1. Setelah mengkonfirmasi sinyal penembusan kotak, strategi akan mengatur titik masuk ke arah positif atau kebalikan di dekat harga tertinggi atau terendah pada garis K.

  2. Setelah posisi terbentuk, strategi akan melakukan pengaturan stop loss berdasarkan dua kali lipat dari amplitudo terobosan, dengan cara ini untuk menangkap percepatan tren.

  3. Strategi ini juga menetapkan titik stop loss pada posisi harga minimum atau harga tertinggi pada garis K kedua, mengurangi risiko kerugian.

Analisis Keunggulan

Strategi ini memiliki keuntungan sebagai berikut:

  1. Prinsipnya sederhana, mudah dipahami, dan mudah diterapkan.

  2. Dengan menggunakan K-line box breakthrough untuk menentukan arah dan kekuatan pasar, tingkat akurasi yang lebih tinggi.

  3. Dengan pengaturan level stop, peluang untuk menangkap akselerasi tren dapat ditangkap.

  4. Ada logika stop loss yang jelas untuk mengendalikan kerugian tunggal.

  5. Strategi ini fleksibel dan dapat disesuaikan dengan gaya pribadi.

Analisis risiko

Namun, strategi ini juga memiliki beberapa risiko:

  1. Sinyal-sinyal penembusan mungkin palsu, tidak dapat sepenuhnya menghindari kerugian.

  2. Posisi stop loss yang dekat dengan titik masuk dapat dengan mudah dipicu oleh pasar yang agresif.

  3. Tidak dapat menilai pola tren, penghentian kerugian dapat sering dipicu dalam situasi getaran.

  4. Tidak mempertimbangkan dampak dari perbedaan jenis transaksi dan periode waktu.

Arah optimasi

Untuk lebih mengoptimalkan strategi ini, ada beberapa hal yang dapat dilakukan:

  1. Adaptasi Stop Loss parameter yang disesuaikan dengan varietas dan periode waktu.

  2. Menambahkan indikator teknis untuk menilai tren agar tidak terjebak dalam situasi yang bergejolak.

  3. Setel kesempatan kenaikan posisi berikutnya untuk melacak tren.

  4. Jumlah kombinasi dapat menjadi indikator untuk menilai kebenarannya dengan memfilter sinyal penembusan.

  5. Menambahkan algoritma pembelajaran mesin untuk membantu menentukan arah tren.

Meringkaskan

Strategi ini didasarkan pada desain prinsip terobosan sederhana, untuk mendapatkan keuntungan tambahan dengan menangkap operasi akselerasi setelah terobosan. Menggunakan stop loss dan pengaturan stop loss untuk mengendalikan risiko. Strategi ini mudah dipahami dan diterapkan, dapat disesuaikan dan dioptimalkan sesuai dengan kebutuhan pribadi dan lingkungan pasar, dan memiliki kepraktisan yang kuat.

Kode Sumber Strategi
/*backtest
start: 2024-01-07 00:00:00
end: 2024-01-14 00:00:00
period: 3m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Dvitash

//@version=5
strategy("Casper SMC Silver Bullet", shorttitle = "Casper SB", overlay=true, calc_on_order_fills = true)

startTime = input(defval = "1000", title = "Start Time")
endTime = input(defval = "1600", title = "End Time")
contractAmt = input.int(defval = 2, title = "Contract Amount")
fvgCol = input.color(defval = color.rgb(63, 61, 179, 41), title = "FVG Color")
borderCol = input.color(defval = color.rgb(35, 33, 172, 41), title = "FVG Border Color")
fvgExtendLength = input.int(defval = 0, minval = 0, title = "FVG Extend Length")

allowedTime = not na(time(timeframe.period, startTime + "-" + endTime +":23456", "America/New_York"))
newDay = bool(ta.change(time('D')))
h = hour(time('1'), "America/New_York")

var bool fvgDrawn = na
var float entryPrice = na 
var float stopPrice = na 
var float tpPrice = na 

if newDay
    fvgDrawn := false
    // a_allBoxes = box.all
    // if array.size(a_allBoxes) > 0
    //     for i = 0 to array.size(a_allBoxes) - 1
    //         box.delete(array.get(a_allBoxes, i))

if allowedTime and barstate.isconfirmed and h <= 16
    //Long FVG
    if high[2] < low and not fvgDrawn
        // box.new(bar_index[2], low, bar_index + fvgExtendLength, high[2], bgcolor = fvgCol, border_color = borderCol)
        stopPrice := low[2]
        entryPrice := low
        tpPrice := entryPrice + (math.abs(low[2] - entryPrice) * 2)
        // log.info("SL: " + str.tostring(stopPrice) + " Entry: " + str.tostring(entryPrice) + " TP: " + str.tostring(tpPrice))
        strategy.entry("long", strategy.long, contractAmt, limit = entryPrice, comment = "Long Entry")
        fvgDrawn := true

    if low[2] > high and not fvgDrawn
        // box.new(bar_index[2], high, bar_index + fvgExtendLength, low[2], bgcolor = fvgCol, border_color = borderCol)
        stopPrice := high[2]
        entryPrice := high
        tpPrice := entryPrice - (math.abs(high[2] - entryPrice) * 2)
        // log.info("SL: " + str.tostring(stopPrice) + " Entry: " + str.tostring(entryPrice) + " TP: " + str.tostring(tpPrice))
        strategy.entry("short", strategy.short, contractAmt, limit = entryPrice, comment = "Short Entry")
        fvgDrawn := true
if h >= 16
    strategy.close_all()
    strategy.cancel_all()

strategy.exit("long exit", from_entry = "long", qty = contractAmt, limit = tpPrice, stop = stopPrice, comment = "Long Exit")
strategy.exit("short exit", from_entry = "short", qty = contractAmt, limit = tpPrice, stop = stopPrice, comment = "Short Exit")