The most simple solution is to completely forget about trying to use time at all. For a Study Filter set to 1 hour time frame, the first bar of the day is the first hour high. Done. If you need to use a lower time frame than 1 hour the solution gets a bit more complicated but it is certainly possible. If that's what you are shooting for I suggest you take some time to search the forum for the term "opening range". What you have describe is the exact opposite of an opening range breakout.
If you are using a time frame lower than 1 hour the solution would be more complex than what I am able to provide free of charge in the Q&A Forum.
Edit: Here is the code to run a scan using only the 1 hour time frame (regular session ONLY). The code checks the first hourly bar and captures the high. Using recursion to carry that value forward. Another recursive variable tracks the high of day excluding the first hourly bar. Then it compares the first hour high to the high of day and looks for bars where close is less than open.
def newDay = GetDay() <> GetDay()[1];
rec firstHourHigh = if newDay then high else firstHourHigh[1];
rec highOfDay = if newDay[1] then high else if high > highOfDay[1] then high else highOfDay[1];
def conditionOne = highOfDay < firstHourHigh;
def conditionTwo = close < open;
plot scan = conditionOne and conditionTwo;