Einzelnen Beitrag anzeigen
  #13 (permalink)  
Alt 10.03.13
naranjoe naranjoe ist offline
Elite Mitglied
 
Registriert seit: Jun 2010
Ort: Trier
Beiträge: 116
naranjoe befindet sich auf einem aufstrebenden Ast
Standard

Hallo,

das kannst du so gar nicht verwenden !
Die Alert Funktion muss raus.

Verwendbar wäre das ganze so:
Code:
int startzeit=14*60+40;
int endzeit=21*60+55;

void Start()
{
 int h=TimeHour(TimeCurrent());
 int m=TimeMinute(TimeCurrent());
 int aktuellezeit=h*60+m;
 if(aktuellezeit<startzeit || aktuellezeit>endzeit) return(0);
 //EA Code
 //...
}
Das wäre allerdings nur eine Krücke.
Eine Tradingzeit über 0:00 Uhr ist damit nicht möglich.
Außerdem kannst du Zeit nicht extern eingeben (warum eigentlich 14*60+40)???
Besser wäre das hier:
Code:
extern string Start = "09:00";    
extern string End = "13:00";       
datetime StartTime, EndTime, CurrentTime;

void init()
{
 StartTime = StrToTime(TimeToStr(TimeCurrent(), TIME_DATE)+" "+Start); 
 EndTime = StrToTime(TimeToStr(TimeCurrent(), TIME_DATE)+" "+End);  
}

bool TradingTime()
{
 CurrentTime = StrToTime(TimeToStr(TimeCurrent(),   TIME_DATE|TIME_MINUTES));      
 if (StartTime < EndTime)
    {
     if ((CurrentTime < StartTime) || (CurrentTime >= EndTime)) return(false);
    }      
 if (StartTime > EndTime)
    {
     if ((CurrentTime < StartTime) && (CurrentTime >= EndTime)) return(false);
    }
 return(true);
}

int start() 
{
 if (TradingTime() == false) return(0);
 //EA Code...
 //...
}
Gruß
naranjoe