16.09.17
|
Gesperrter Benutzer
|
|
Registriert seit: Feb 2016
Ort: 2100 Österreich
Beiträge: 313
|
|
Hallo,
hier ein kleines Sript als Beispiel:
Code:
int StartHour=10;
void OnStart()
{
Print("TimeCurrent: ", TimeCurrent());
Print("TimeCurrentHour: ",TimeCurrentHour());
Print("TimeCurrentMin: ",TimeCurrentMin());
}
//+------------------------------------------------------------------+
//| Diese Funktionen am besten in eine mqh auslagern zb MyUtils.mqh |
//+------------------------------------------------------------------+
int TimeCurrentHour()
{
MqlDateTime mqlDateTime;
datetime currTime=TimeCurrent(mqlDateTime);
return(mqlDateTime.hour);
}
int TimeCurrentMin()
{
MqlDateTime mqlDateTime;
datetime currTime=TimeCurrent(mqlDateTime);
return(mqlDateTime.min);
}
hier ein weiteres etwas komplexeres Beispiel einer Zeitsteuerung:
Code:
enum ENUM_TRADE_CMD // Enumeration of possible commands
{
TRADE_STOP, // immediate stop
TRADE_CLOSE, // soft stop, try to close pos in win, don't open new deals
TRADE_TRADE // start and/or countinue trading
};
ENUM_TRADE_CMD CTimes::TradeCmd(void)
{
MqlDateTime mqlDateTime;
datetime currTime=TimeCurrent(mqlDateTime);
string strTime=TimeToString(currTime,TIME_MINUTES);
int DayOfWeek=mqlDateTime.day_of_week;
switch(DayOfWeek)
{
case 0: return(TRADE_CLOSE); // SO
case 1:
case 2:
case 3:
case 4:{
if(strTime>"22:30") return(TRADE_CLOSE); // MO,DI,MI,DO
if(strTime>"01:00") return(TRADE_TRADE);
break;
}
case 5:{
if(strTime>"21:45") return(TRADE_STOP); // FR
if(strTime>"21:00") return(TRADE_CLOSE);
if(strTime>"01:00") return(TRADE_TRADE);
break;
}
case 6:{
return(TRADE_CLOSE); // SA
break;
}
}
return(TRADE_CLOSE);
}
viel Erfolg damit
Otto
|