If your 'control' column is column G then you can duplicate its results by rounding everything to 3 decimal places:
Function test3(day2open As Single, day2close As Single, day1open As Single, day1close As Single) As String
Dim rs As Single
day2open = Round(day2open, 3)
day2close = Round(day2close, 3)
day1open = Round(day1open, 3)
day1close = Round(day1close, 3)
rs = Round((day1open + day1close) / 2, 3)
If day2open < day2close And day1open > day1close And day2open < day1close And day2close < day1open And day2close > rs Then
test3 = "yes"
Else
test3 = ""
End If
End Function
(I haven't tested with the arguments as Double.)
post posting edit: Of course, I didn't need to round everything.