Ja, ich weiß ein Programm tut nur das was man ihm sagt. Heute habe ihn angeschrien "wo zum Teufel hab ich Dir gesagt, Du sollst zumachen? Muß ich wieder Deine Sch.. manuell korrigieren!" Vielleicht ist der aber unschuldig, folgendes war sein Auftrag:
Code:
//====================== trading allowed
DayOK=(DayOfWeek()>=DayStart && DayOfWeek()<=DayEnd); // 1-5
HourOK=(Hour()>=HStart && Hour()<=HEnd); // 10-18 servertime
//======================= check allowed trading time
if(DayOK && HourOK)
{
//======================= exit conditions
ExitL=( TimeHour(TimeCurrent())>HEnd ); // trade time over, 18 server
ExitS=( TimeHour(TimeCurrent())>HEnd );
//======================= monitoring account balance
if(EABalance>=DayProfit || EABalance<=-(DayLoss)) DayStop=true;
else DayStop=false;
//====================== no open orders by this EA
if( FuncCheckRunning()==-1 // nothing running
&& !DayStop // money still ok
&& EnterL ) // long signal
{ long order instructions }
} // == end if(DayOK && HourOK)
//====================== trading time over
// == close all orders if there is still one running
else
{ closing order instructions }
und das hat er daraus gemacht:
Code:
1.) 10:00:00-10:12:15 EP 12.242,31 SL 12.286,30 TP 12.221,38 EX 12.253,82
2.) 10:00:01-10:14:51 EP 12.242,56 SL 12.286,30 TP 12.199,74 EX 12.255,94
Die einzige Anweisung zum Schließen im ganzen Code sind die ExitL und ExitS, sonst nix. DayStop erlaubt/verbietet nur neue Positionen zu eröffnen. Und die Exit Bedingungen selbst sind doch korrekt formuliert.
Ich bin ratlos. Habt Ihr eine Idee?
Danke. AVT