Strategi momentum tertanam dalam siklus


Tanggal Pembuatan: 2023-09-20 14:59:37 Akhirnya memodifikasi: 2023-09-20 14:59:37
menyalin: 1 Jumlah klik: 652
1
fokus pada
1617
Pengikut

Ringkasan

Gagasan inti dari strategi ini adalah menggunakan bentuk garis K yang tercakup di antara siklus untuk menentukan arah tren, dan dengan demikian sebagai sinyal masuk. Ketika muncul bentuk antara siklus yang tercakup di antara garis K sebelumnya, kita dapat menyimpulkan bahwa saat ini adalah titik konversi tren, di mana kita dapat memilih untuk melakukan over pada saat menembus titik tinggi sebelumnya, atau kosong pada saat menembus titik rendah sebelumnya, dan mengatur stop loss dan stop loss.

Prinsip Strategi

  1. Untuk menentukan apakah ada bentuk garis K yang muncul antara periode yang tercakup. Logika penilaian spesifiknya adalah: titik tinggi garis K saat ini lebih rendah dari titik tinggi garis K sebelumnya, dan titik rendah garis K saat ini lebih tinggi dari titik rendah garis K sebelumnya.

  2. Jika harga tutup lebih tinggi dari harga bukaan, maka naik; jika harga tutup lebih rendah dari harga bukaan, maka turun.

  3. Jika garis K sebelumnya adalah bullish, dan ada bentuk antara siklus yang tercakup, kita mengatur stop order dalam kisaran 10% dari titik tertinggi garis K sebelumnya.

  4. Jika garis K sebelumnya adalah turun dan ada bentuk antara siklus yang tercakup, kita mengatur stop order dalam kisaran 10% dari garis K sebelumnya.

  5. Setelah stop order dipicu untuk membentuk posisi, kita akan mengatur stop loss dan stop stop order. Jarak stop loss dan stop stop yang spesifik adalah proporsi dari amplitudo garis K sebelumnya.

  6. Jika terjadi lagi, maka kita akan melakukan penutupan terlebih dahulu dan kemudian kita akan melakukan penutupan baru.

Analisis Keunggulan Strategi

Strategi ini memiliki beberapa keuntungan:

  1. Menggunakan logika internal K-line, waktu masuk diukur secara akurat. Bentuk yang terkandung di antara siklus sering berarti akan terjadi pembalikan atau percepatan tren, yang memberi kita waktu masuk yang lebih baik.

  2. Aturan-aturan strategi yang jelas dan mudah dipahami, dan mudah untuk dioperasikan.

  3. Menggunakan titik tinggi dan rendah dari siklus sebelumnya untuk mengatur posisi stop loss untuk mengendalikan risiko.

  4. Setiap kali muncul kembali sesuai dengan bentuk, akan mengatur ulang daftar baru, dan dapat mengikuti tren baru.

Analisis Risiko Strategi

Strategi ini juga memiliki beberapa risiko:

  1. Bentuk yang terkandung di antara siklus tidak selalu menyebabkan pembalikan atau percepatan tren, dan ada risiko tertentu dari sinyal palsu.

  2. Stop loss distance mungkin terlalu kecil untuk menahan getaran yang lebih besar.

  3. Jarak penghentian mungkin terlalu jauh dan tidak dapat menghasilkan keuntungan tepat waktu.

  4. Strategi ini lebih bergantung pada tren, dan memiliki ruang yang terbatas untuk menghasilkan keuntungan dalam situasi konsolidasi.

  5. Transaksi mungkin terlalu sering dan biaya transaksi lebih tinggi.

Tanggapan:

  1. Dapat dikombinasikan dengan indikator lain dalam filter yang mengandung sinyal konfirmasi bentuk antara siklus, mengurangi tingkat sinyal palsu.

  2. Jarak stop loss dapat dilepaskan sesuai, tetapi tidak lebih dari 50% dari amplitudo K-line sebelumnya.

  3. Hal ini dapat mempersingkat jarak stop stop ke garis K sebelumnya sekitar 50% dari amplitudo.

  4. Optimalkan pengelolaan dana, kurangi posisi tunggal, dan tangani proses konsolidasi.

  5. Memperkecil persyaratan masuk dan mengurangi jumlah transaksi.

Arah optimasi strategi

Strategi ini dapat dioptimalkan dalam beberapa hal:

  1. Menggabungkan indikator tren untuk menilai arah tren, menghindari perdagangan yang sering terjadi dalam pencatatan. Misalnya, bergabung dengan MACD untuk menilai tren, hanya mempertimbangkan masuk ketika MACD berorientasi.

  2. Mengoptimalkan strategi stop loss, menggunakan stop loss yang bergerak atau stop loss pelindung keuntungan untuk membuat stop loss lebih elastis.

  3. Uji berbagai pengaturan rasio stop loss dan stop loss untuk menemukan kombinasi parameter optimal.

  4. Bergabung dengan mekanisme re-entry untuk menangkap kembali tren setelah stop loss exit.

  5. Mengoptimalkan manajemen posisi, menyesuaikan posisi tunggal sesuai dengan tingkat fluktuasi pasar.

  6. Mengoptimalkan pengelolaan dana, seperti penggunaan dana tetap.

  7. Uji efektifitas strategi ini pada varietas dan periode waktu yang berbeda.

Meringkaskan

Singkatnya, ini adalah strategi yang memanfaatkan titik balik tren penilaian bentuk yang terkandung dalam dan antara siklus, mengatur daftar pegangan untuk menangkap trend pembalikan. Ini memiliki keunggulan seperti waktu masuk yang jelas, aturan strategi yang sederhana, risiko yang dapat dikendalikan, tetapi juga ada risiko sinyal palsu dan ruang untuk optimasi. Kita dapat meningkatkan stabilitas dan profitabilitas strategi lebih lanjut dengan menggabungkan indikator tren, mengoptimalkan stop loss, dan menyesuaikan posisi.

Kode Sumber Strategi
/*backtest
start: 2023-01-01 00:00:00
end: 2023-03-10 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3

// Inside Bar Momentum Strategy
// As defined on Babypips.com
// https://www.babypips.com/trading/forex-inside-bar-20170113

// strategy("Babypips: Inside Bar Momentum Strategy", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=5)

From_Year  = input(defval = 2018, title = "From Year")
From_Month = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
From_Day   = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
To_Year    = input(defval = 9999, title = "To Year")
To_Month   = input(defval = 1, title = "To Month", minval = 1, maxval = 12)
To_Day     = input(defval = 1, title = "To Day", minval = 1, maxval = 31)
Start  = timestamp(From_Year, From_Month, From_Day, 00, 00)  // backtest start window
Finish = timestamp(To_Year, To_Month, To_Day, 23, 59)        // backtest finish window
Window = true

Stop_Buy_Perc  = input(10, "Stop Buy Order Percentage From Previous Candle's Range")/100
Stop_Loss_Perc = input(20, "Stop Loss Distance from High/Low of Previous Candle")/100
Take_Prof_Perc = input(80, "Take Profit Distance from High/Low of Previous Candle")/100

Risk = input(2, "Percentage Of EQUITY to risk per trade", step=0.1, minval=0, maxval=100)/100

Inside_Bar = high[1] > high[0] and low[1] < low[0]
Prev_Range = high[1] - low[1]
Bullish = open[1] < close[1]
Bearish = open[1] > close[1]

// Get Key Levels 
Long_Stop_Buy_Level   = high[1] + (Prev_Range * Stop_Buy_Perc)
Short_Stop_Buy_Level  = low[1]  - (Prev_Range * Stop_Buy_Perc)
Long_Stop_Loss_Level  = high[1] - (Prev_Range * Stop_Loss_Perc)
Short_Stop_Loss_Level = low[1]  + (Prev_Range * Stop_Loss_Perc)
Long_Take_Prof_Level  = high[1] + (Prev_Range * Take_Prof_Perc)
Short_Take_Prof_Level = low[1]  - (Prev_Range * Take_Prof_Perc)

// Position Sizing
long_qty = floor((strategy.equity * Risk) / (Long_Stop_Buy_Level - Long_Stop_Loss_Level))
short_qty = floor((strategy.equity * Risk) / (Short_Stop_Loss_Level - Short_Stop_Buy_Level))

// -------------------------- LONG CONDITIONS --------------------------------//
// The first candlestick must be bullish (green or white) and if the second 
// candlestick is completely contained by the first, set a buy stop order at 
// the first candle’s high plus 10% of its range (high minus low).

// Place the stop loss at the first candle’s high minus 20% of its range 
// and set the target at the first candle’s high plus 80% of its range

// If another inside bar pattern forms, the current position should be closed 
// or the pending buy/sell order must be canceled and entry orders must be 
// updated to the latest candles.

Long_Condition = Window and Inside_Bar and Bullish
if (Long_Condition)
    // Incase we still have a buy stop order in the market
    strategy.cancel_all()
    // Close any existing positions according to the rules
    strategy.close_all()
    strategy.entry("Bullish IB", strategy.long, stop=Long_Stop_Buy_Level)
    strategy.exit("Bullish Exit","Bullish IB", stop=Long_Stop_Loss_Level, limit=Long_Take_Prof_Level)
    
// -------------------------- SHORT CONDITIONS -------------------------------//
// The first candlestick must be bearish (red or black) and if the second 
// candlestick is completely contained by the first, set a sell stop order at 
// the first candle’s low minus 10% of its range (high minus low).

// Place the stop loss at the first candle’s low plus 20% of its range and 
// set the target at the first candle’s low minus 80% of its range.

// If another inside bar pattern forms, the current position should be closed 
// or the pending buy/sell order must be canceled and entry orders must be 
// updated to the latest candles.

Short_Condition = Window and Inside_Bar and Bearish
if (Short_Condition)
    // Incase we still have a buy stop order in the market
    strategy.cancel_all()
    // Close any existing positions according to the rules
    strategy.close_all()
    strategy.entry("Bearish IB", strategy.short, stop=Short_Stop_Buy_Level)
    strategy.exit("Bearish Exit","Bearish IB", stop=Short_Stop_Loss_Level, limit=Short_Take_Prof_Level)
    
// ----------------------------- PLOTTING ------------------------------------//
plotshape(Inside_Bar, style=shape.arrowdown, location=location.abovebar, color=purple)