Strategi Warna Lilin Tengah Malam dengan Stop Loss dan Take Profit

Penulis:ChaoZhang, Tanggal: 2024-01-05 16:37:35
Tag:

img

Gambaran umum

Strategi ini diperdagangkan berdasarkan warna lilin tengah malam dengan penundaan 1 jam, dengan menganalisis warna lilin tengah malam 0 jam hari sebelumnya untuk menentukan arah perdagangan pada jam 1 hari berikutnya.

Logika Strategi

Logika inti dari strategi ini didasarkan pada "efek tengah malam" di pasar, di mana warna lilin 0 jam dari hari sebelumnya mewakili sentimen pasar secara keseluruhan dan dapat digunakan untuk menentukan arah pasar setelah hari berikutnya dibuka.

Secara khusus, strategi pertama menilai apakah lilin saat ini adalah lilin 0 jam. Jika ya, catat sebagai hijau jika close lebih tinggi dari terbuka, jika tidak merah. Pada bar berikutnya pada jam 1, pergi panjang / pendek sesuai dengan warna lilin 0 jam dari hari sebelumnya, dengan stop loss dan take profit yang ditetapkan.

Dengan menunda masuknya 1 jam, hal ini mencegah volatilitas harga pada tengah malam mempengaruhi masuk pasar.

Keuntungan

  1. Logika sederhana menggunakan warna lilin jam 0 untuk menentukan arah pasar
  2. Penundaan masuk 1 jam menghindari risiko harga tengah malam yang tidak stabil
  3. Atur stop loss dan mengambil keuntungan untuk membatasi kerugian dan memastikan keuntungan

Risiko

  1. Warna lilin jam 0 mungkin tidak sepenuhnya mewakili tren pasar hari berikutnya dengan beberapa ketidakpastian
  2. Tidak mempertimbangkan risiko perubahan harga yang tiba-tiba karena peristiwa ekonomi besar dll.
  3. Stop loss dan take profit perlu terus-menerus dioptimalkan dan diuji, jika tidak risiko akan tertangkap atau keuntungan terbatas

Bidang Peningkatan

  1. Gabungkan lebih banyak faktor untuk menilai efektivitas indikasi lilin 0 jam, misalnya volume, rentang dll
  2. Uji keterlambatan entri yang berbeda seperti 2 jam, 3 jam dll
  3. Mengatur secara dinamis stop loss dan mengambil keuntungan untuk lebih beradaptasi dengan volatilitas pasar

Ringkasan

Strategi ini memiliki logika yang jelas dan sederhana, menilai arah hari berikutnya dengan warna lilin 0 jam dan mengendalikan risiko dengan stop loss / take profit. Ini adalah strategi perdagangan jangka pendek yang ramah pemula.


/*backtest
start: 2023-12-28 00:00:00
end: 2024-01-04 00:00:00
period: 3m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("Midnight Candle Color Strategy with 1-Hour Delay and SL/TP", shorttitle="12AM +1H SL/TP Strat", overlay=true)

// Adjust for New York time (UTC-5 or UTC-4 for Daylight Saving Time)
// Assuming UTC-5 for now; adjust as necessary for Daylight Saving Time
nyHour(hour) => (hour - 5) % 24

// Function to check if the current bar is the 12:00 AM New York time bar
isMidnightBar() =>
    nyHour(hour) == 0 and minute == 0

// Function to check if the current bar is the 1:00 AM New York time bar (1 hour after midnight)
is1AMBar() =>
    nyHour(hour) == 1 and minute == 0

// Variable to store the color of the previous day's midnight candle
var color midnightCandleColorPrevDay = na

// Determine the color of the previous day's midnight candle
if isMidnightBar()
    midnightCandleColorPrevDay := close[1] > open[1] ? color.green : color.red

// Strategy execution at 1:00 AM based on the color of the previous day's midnight candle
if is1AMBar()
    if midnightCandleColorPrevDay == color.green
        strategy.entry("Long", strategy.long)
        strategy.exit("Take Profit", "Long", limit=close + 57 * syminfo.mintick, stop=close - 200 * syminfo.mintick)
    if midnightCandleColorPrevDay == color.red
        strategy.entry("Short", strategy.short)
        strategy.exit("Take Profit", "Short", limit=close - 50 * syminfo.mintick, stop=close + 200 * syminfo.mintick)

// Optional: Plot a marker for visualization
plotshape(series=isMidnightBar(), style=shape.triangleup, location=location.belowbar, color=color.new(midnightCandleColorPrevDay, 90), size=size.small)
plotshape(series=is1AMBar(), style=shape.triangledown, location=location.abovebar, color=color.blue, size=size.small)


Lebih banyak