Code:
static datetime Bereits_verwendete_Kerze = 0;
void OnTick()
{
if (.........deine Bedingungen == true...........)
{
if (Bereits_verwendete_Kerze != iTime(NULL,0,0))
{
if (iClose(NULL,0,1) <= iClose(NULL,0,0))
{
Alert(.......);
Bereits_verwendete_Kerze = iTime(NULL,0,0);
}
}
}
}
"iClose(NULL,0,0)" ist übrigens das Gleiche wie "Bid".
Falls Du gemeint haben solltest, dass die aktuelle Kerze die vorhergehende Über- bzw. Unterschreiten soll, damit der Alert kommt, musst Du für die vorhergehende iHigh(NULL,0,1) bzw. iLow(NULL,0,1) verwenden.
Die Bedingung
"if (iClose(NULL,0,1) <= iClose(NULL,0,0) || (iClose(NULL,0,1) >= iClose(NULL,0,0))"
wäre IMMER erfüllt, und macht von da her keinen Sinn.