OPEN-SOURCE SCRIPT

time interval cycle (Last 10 Days)

//version=5
indicator("time interval cycle (Last 10 Days)", overlay=true)

// Time zone offset input (hours from UTC)
timeZoneOffset = input.int(0, title="Time Zone Offset (hours)", minval=-12, maxval=14)

// Input fields to set exact times for each time interval (in UTC)
startTime1 = input.time(timestamp("1970-01-01 08:05"), title="Start Time 1 (UTC)")
endTime1 = input.time(timestamp("1970-01-01 09:15"), title="End Time 1 (UTC)")

startTime2 = input.time(timestamp("1970-01-01 09:45"), title="Start Time 2 (UTC)")
endTime2 = input.time(timestamp("1970-01-01 10:15"), title="End Time 2 (UTC)")

startTime3 = input.time(timestamp("1970-01-01 10:45"), title="Start Time 3 (UTC)")
endTime3 = input.time(timestamp("1970-01-01 11:15"), title="End Time 3 (UTC)")

// Function to adjust time by time zone offset
adjustTimeByTimeZoneOffset(timeVal) =>
timeVal + timeZoneOffset * 3600000 // Convert hours to milliseconds

// Function to check if the current time (adjusted by the time zone offset) is within a time range
isInTimeRange(startTime, endTime) =>
// Get the current time in UTC and adjust it by the time zone offset
currentTime = na(time) ? na : timestamp("1970-01-01 00:00") + (time % 86400000)
adjustedCurrentTime = adjustTimeByTimeZoneOffset(currentTime)
// Check if the adjusted time is within the specified range
adjustedCurrentTime >= startTime and adjustedCurrentTime <= endTime

// Calculate the timestamp for 10 days ago
tenDaysAgo = timestamp("1970-01-01 00:00") + (dayofmonth(time) - 10) * 86400000

// Function to check if the bar is within the last 10 days
isInLastTenDays() =>
time >= tenDaysAgo

// Highlight time intervals with background colors when the current time (adjusted) is in the specified range and within the last 10 days
bgcolor(isInLastTenDays() and isInTimeRange(adjustTimeByTimeZoneOffset(startTime1), adjustTimeByTimeZoneOffset(endTime1)) ? color.new(color.blue, 85) : na)
bgcolor(isInLastTenDays() and isInTimeRange(adjustTimeByTimeZoneOffset(startTime2), adjustTimeByTimeZoneOffset(endTime2)) ? color.new(color.green, 85) : na)
bgcolor(isInLastTenDays() and isInTimeRange(adjustTimeByTimeZoneOffset(startTime3), adjustTimeByTimeZoneOffset(endTime3)) ? color.new(color.red, 85) : na)

// Option to add vertical lines at the start of each time interval
plotVerticalLines = input.bool(true, title="Show Vertical Lines at Start Times")

if plotVerticalLines
if isInLastTenDays() and isInTimeRange(adjustTimeByTimeZoneOffset(startTime1), adjustTimeByTimeZoneOffset(startTime1))
line.new(x1=bar_index, y1=high, x2=bar_index, y2=high, color=color.blue, width=2)
if isInLastTenDays() and isInTimeRange(adjustTimeByTimeZoneOffset(startTime2), adjustTimeByTimeZoneOffset(startTime2))
line.new(x1=bar_index, y1=high, x2=bar_index, y2=high, color=color.green, width=2)
if isInLastTenDays() and isInTimeRange(adjustTimeByTimeZoneOffset(startTime3), adjustTimeByTimeZoneOffset(startTime3))
line.new(x1=bar_index, y1=high, x2=bar_index, y2=high, color=color.red, width=2)
Candlestick analysisChart patternsCycles

สคริปต์โอเพนซอร์ซ

ด้วยเจตนารมณ์หลักของ TradingView ผู้เขียนสคริปต์นี้ได้เผยแพร่เป็นโอเพนซอร์ส เพื่อให้เทรดเดอร์สามารถเข้าใจและตรวจสอบได้ ต้องขอบคุณผู้เขียน! ที่ให้คุณใช้ได้ฟรี แต่การนำโค้ดนี้ไปใช้ในการเผยแพร่ซ้ำจะต้องอยู่ภายใต้ กฎระเบียบการใช้งาน คุณสามารถตั้งเป็นรายการโปรดเพื่อใช้บนชาร์ตได้

ต้องการที่จะใช้สคริปต์นี้บนชาร์ตใช่ไหม?


และใน:

คำจำกัดสิทธิ์ความรับผิดชอบ