
Anda tahu, strategi ini seperti bermain game “menghindar dari kucing dan kucing” di pasar saham! Oh, ketika pasar mengalami “hari yang terbungkus dalam” (yaitu, pergerakan hari ini benar-benar terbungkus oleh hari kemarin), seolah-olah pasar sedang melakukan trik besar, bersiap untuk ledakan besar!
Strategi ini dirancang khusus untuk menangkap momen-momen terobosan yang “tidak bisa ditahan”, terutama pada hari Senin, Kamis, dan Jumat, yang disebut “hari perdagangan emas”.
Bayangkan saja, pasar seperti sebuah mata air yang terkompresi:
Ketika harga melampaui titik tertinggi dalam 3 siklus terakhir, strategi untuk segera masuk dan melakukan lebih banyak, seperti ketika spring dilepaskan!
Kunci pertama: Stop loss tetap Anda dapat memilih untuk berhenti dengan poin atau berhenti dengan persentase, seperti menetapkan “batas kerugian” untuk diri sendiri, dan tidak pernah menjadi serakah!
Kunci Kedua: FPO Keluar dari Aturan Ini adalah tempat yang paling cerdas! Jika suatu hari Anda membuka saham, maka Anda akan langsung mendapatkan keuntungan. Ini seperti kebijaksanaan “selamat tinggal dan ambil”, jangan menunggu pasar menyesal!✨
Strategi ini hanya berlaku pada hari Senin, Kamis, dan Jumat, dan itu tidak akan terjadi secara acak!
Hindari hari-hari yang tidak menyenangkan seperti hari Selasa dan Rabu, pilihlah hari-hari yang penuh dengan cerita!
Jika Anda adalah tipe trader yang suka cepat masuk dan cepat keluar, dan tidak ingin berdagang sepanjang hari, strategi ini sangat cocok untuk Anda! Ini memiliki sinyal masuk yang jelas, aturan stop-loss yang jelas, dan mekanisme keluar yang cerdas.
Ingatlah: Pasar seperti spring, semakin kencang, semakin tinggi!
/*backtest
start: 2025-01-01 00:00:00
end: 2025-10-09 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BNB_USDT","balance":500000}]
*/
//@version=5
strategy("Larry Williams Bonus Track Pattern", overlay=true)
//──────────────────────────────────
// Inputs
//──────────────────────────────────
useDayFilter = input.bool(true, "Trade only Mon/Thu/Fri")
sl_type = input.string("Points", "Stop Loss Type", options=["Points","Percent"])
sl_value = input.float(1.0, "Stop Loss Value (points or %)", step=0.1, minval=0.0)
debugPlot = input.bool(false, "Show Levels")
//──────────────────────────────────
// DAILY SERIES for SIGNAL
//──────────────────────────────────
hD = request.security(syminfo.tickerid, "D", high, lookahead=barmerge.lookahead_off)
lD = request.security(syminfo.tickerid, "D", low, lookahead=barmerge.lookahead_off)
oD = request.security(syminfo.tickerid, "D", open, lookahead=barmerge.lookahead_off)
cD = request.security(syminfo.tickerid, "D", close, lookahead=barmerge.lookahead_off)
// Inside bar (yesterday) and prior bar (two days ago) is bullish
inside_prev = hD[1] < hD[2] and lD[1] > lD[2]
prev_of_inside_bull = cD[2] > oD[2]
// Relevant highs: inside (t-1) + two prior bars (t-2, t-3)
inside_high = hD[1]
max_pre_inside_two = math.max(hD[2], hD[3])
entry_stop_price = math.max(inside_high, max_pre_inside_two) // highest of the last 3 bars
//──────────────────────────────────
// DAILY LOGIC (first bar of the day)
//──────────────────────────────────
isNewDay = ta.change(time("D")) // true on the FIRST bar of each day
dayOpen = open // real daily open
dow = dayofweek // day of week (works intraday)
passDay = not useDayFilter or (dow == dayofweek.monday or dow == dayofweek.thursday or dow == dayofweek.friday)
open_ok = dayOpen < inside_high and dayOpen < max_pre_inside_two
// Valid setup ONLY for the day immediately after the inside bar
longSetupToday = isNewDay and passDay and inside_prev and prev_of_inside_bull and open_ok
//──────────────────────────────────
// Helper function to create a “day identifier” as a numeric value
//──────────────────────────────────
getDayId() =>
year(time) * 10000 + month(time) * 100 + dayofmonth(time)
//──────────────────────────────────
// Pending order management / exact entry the day after inside bar
//──────────────────────────────────
var float entryPrice = na
var int entryDayId = na
if isNewDay
// Cancel any pending stop from the previous day (TIF: 1 day)
strategy.cancel("LE")
// If today is the next day after inside and open is valid:
if longSetupToday and strategy.position_size == 0
if dayOpen >= entry_stop_price
// Gap above stop → enter at MARKET on today’s open
strategy.entry("LE", strategy.long)
else
// No gap → place a STOP valid only for today
strategy.entry("LE", strategy.long, stop=entry_stop_price)
// Record the entry day when position opens
enteredNow = strategy.position_size > 0 and strategy.position_size[1] == 0
if enteredNow
entryPrice := strategy.position_avg_price
entryDayId := getDayId()
//──────────────────────────────────
// Fixed Stop Loss
//──────────────────────────────────
if strategy.position_size > 0
avg = strategy.position_avg_price
sl_price = sl_type == "Points" ? (avg - sl_value) : (avg * (1.0 - sl_value/100.0))
strategy.exit(id="SL", from_entry="LE", stop=sl_price)
else
strategy.cancel("SL")
//──────────────────────────────────
// FPO: Close on the FIRST profitable open AFTER entry day
// (never on the same day)
//──────────────────────────────────
if isNewDay and strategy.position_size > 0 and not na(entryDayId)
if getDayId() > entryDayId and dayOpen > strategy.position_avg_price
strategy.close("LE", comment="FPO")
//──────────────────────────────────
// Optional Plots
//──────────────────────────────────
plot(debugPlot ? inside_high : na, "Inside High (D-1)")
plot(debugPlot ? max_pre_inside_two : na, "High (D-2/D-3)")
plot(debugPlot ? entry_stop_price : na, "Entry (max of last 3 highs)", linewidth=2)