Strategi Breakout Bullish intraday

Penulis:ChaoZhang, Tanggal: 2024-03-29 16:13:30
Tag:

img

Gambaran umum

Strategi ini adalah strategi perdagangan bullish intraday berdasarkan indikator teknis. Strategi ini terutama menggunakan tiga indikator teknis untuk menentukan waktu entri panjang: 1. Swing low 2. Pola candlestick bullish 3. Over-sold ekstrim. Pada saat yang sama, strategi ini menggunakan indikator ATR (Average True Range) untuk menghitung harga stop-loss dan take-profit. Strategi ini berlaku untuk semua jangka waktu dan semua aset yang mendasari.

Prinsip Strategi

Strategi ini didasarkan pada prinsip-prinsip berikut:

  1. Dalam tren naik, harga saham sering mundur dan membentuk posisi terendah lokal, yang sering kali merupakan peluang pembelian yang baik.
  2. Beberapa pola candlestick khusus seringkali menandakan pembalikan atau kelanjutan tren.
  3. Setelah berturut-turut hari penurunan, momentum bearish secara bertahap melemah, dan ruang untuk penurunan lebih lanjut terbatas. Harga saham dapat rebound kapan saja. Strategi ini menggunakan indikator oversold ekstrim untuk menangkap peluang pembelian pembalikan ini.
  4. Fluktuasi harga saham memiliki periodikitas dan kesamaan, yang dapat diukur dengan indikator ATR dan digunakan untuk menghitung jarak stop loss dan take profit yang tepat.

Keuntungan Strategi

  1. Menggabungkan tiga indikator teknis klasik untuk membentuk sistem perdagangan kuantitatif yang ketat, menghindari kelemahan subjektivitas.
  2. Tingkat stop loss dan take profit didasarkan pada indikator volatilitas ATR, yang dapat diukur secara objektif, menghindari kelemahan subjektivitas. Pada saat yang sama, harga stop loss dan target sesuai dengan volatilitas pasar, secara efektif mengendalikan risiko dan mengunci keuntungan.
  3. Berbagai aplikasi, tanpa pembatasan pada kerangka waktu atau aset yang mendasari, memungkinkan untuk memanfaatkan sepenuhnya keuntungan untuk mendapatkan keuntungan.

Risiko Strategi

  1. Keakuratan tinggi dalam menilai tren naik sepihak, tetapi sering masuk ke pasar yang tidak stabil dapat menyebabkan peningkatan kerugian.
  2. Tingkat mengambil keuntungan terlalu jauh, sehingga mengambil keuntungan lambat dan pemanfaatan modal rendah.
  3. Indikator oversold ekstrim memiliki kemampuan terbatas untuk menilai pembalikan dan mungkin gagal di pasar tren.

Arah Optimasi Strategi

  1. Pertimbangkan untuk menambahkan indikator tren, seperti MA dan MACD, untuk menentukan arah tren keseluruhan.
  2. Pertimbangkan untuk mengoptimalkan algoritma untuk menemukan parameter yang optimal, terutama pemilihan ATR multiplier.
  3. Indikator oversold ekstrim dapat dioptimalkan, seperti mengubahnya ke indikator oversold yang lebih matang seperti KDJ atau RSI.

Ringkasan

Strategi intraday bullish breakout ini adalah strategi perdagangan kuantitatif yang didasarkan pada swing low, bullish pattern, dan reversal oversold. Strategi ini menggunakan tiga indikator teknis untuk menangkap titik masuk panjang dari sudut yang berbeda. Pada saat yang sama, strategi ini menggunakan indikator volatilitas ATR untuk menghitung tingkat stop loss dan take profit yang dinamis. Strategi ini dapat sepenuhnya menangkap keuntungan dalam tren naik tetapi menghadapi risiko perdagangan yang sering terjadi di pasar yang tidak stabil. Strategi ini masih memiliki ruang untuk optimasi, seperti memperkenalkan penilaian tren, mengoptimalkan parameter dan indikator, untuk meningkatkan kinerja strategi.


// This Pine Scriptâ„¢ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © LuxTradeVenture

//@version=5
strategy("Intraday Bullish Script", overlay=true, margin_long=100, margin_short=100)



// Settings for Strategy 1
entryCondition1 = input.bool(true, title="Use Entry Condition - Strategy 1")

// Input for ATR multiplier for stop loss 
atrMultiplierforstoploss = input.float(2, title="ATR Multiplier for Stop Loss")

// Input for ATR multiplier for target price
atrMultiplierforlongs = input.float(4, title="ATR Multiplier for Target Price")

// Calculate ATR
atrLength = input.int(14, title="ATR Length")
atrValue = ta.atr(atrLength)

// Swing low condition - Strategy 1
swingLow1 = low == ta.lowest(low, 12) or low[1] == ta.lowest(low, 12)


/// 
maj_qual = 6  //input(6)
maj_len = 30  //input(30)
min_qual = 5  //input(5)
min_len = 5  //input(5)

lele(qual, len) =>
    bindex = 0.0
    bindex := nz(bindex[1], 0)
    sindex = 0.0
    sindex := nz(sindex[1], 0)
    ret = 0
    if close > close[4]
        bindex := bindex + 1
        bindex
    if close < close[4]
        sindex := sindex + 1
        sindex
    if bindex > qual and close < open and high >= ta.highest(high, len)
        bindex := 0
        ret := -1
        ret
    if sindex > qual and close > open and low <= ta.lowest(low, len)
        sindex := 0
        ret := 1
        
major = lele(maj_qual, maj_len)
minor = lele(min_qual, min_len)

ExaustionLow  = major ==  1 ? 1 : 0

Bullish3LineStrike = close[3] < open[3] and close[2] < open[2] and close[1] < open[1] and close > open[1]

// Entry and Exit Logic for Strategy 2
// Create variables to track trade directions and entry prices for each strategy
var int tradeDirection1 = na

var float entryLongPrice1 = na


// Calculate entry prices for long positions - Strategy 1
if (swingLow1 or Bullish3LineStrike)
    entryLongPrice1 := close
    tradeDirection1 := 1



// Calculate target prices for long positions based on ATR - Strategy 1
targetLongPrice1 = entryLongPrice1 + (atrMultiplierforlongs * atrValue)



// Calculate stop loss prices for long positions based on entry - Strategy 1
stopLossLongPrice1 = entryLongPrice1 - (atrMultiplierforstoploss * atrValue)


// Entry conditions for Strategy 1
if (tradeDirection1 == 1 and (swingLow1 or Bullish3LineStrike))
    strategy.entry("Long - Strategy 1", strategy.long)


// Exit conditions for long positions: When price reaches or exceeds the target - Strategy 1
if (close >= targetLongPrice1)
    strategy.close("Long - Strategy 1", comment="Take Profit Hit")

// Exit conditions for long positions: When price hits stop loss - Strategy 1
if (close <= stopLossLongPrice1)
    strategy.close("Long - Strategy 1", comment="Stop Loss Hit")

Lebih banyak