Hallo Erwin,
leider kreuzt Du hier einen zukünftigen close Kurs mit einem um eine Periode in die Vergangenheit referenzierten close-Kurs Deines GD.
Ich habe mir Folgendes gemerkt:
Open ist der erste konstante Kurs einer Periode.
Close ist erst bei vollendeter Periode konstant.
Bei Tickdaten ist's noch einfacher, da gibt's nur close Kurse, die dürfen immer verwendet werden.
Daher solltest Du
exit short: Cross(Ref(close,-1), GD(Ref(close,-1),P7,S),1) = 1 oder
exit short: Cross(open, GD(open,P7,S),1) = 1
verwenden.
Gruß
Alexander