# equity of the open of the day

How can I obtain the equity in a variable of 0 hours in central Europe and update it daily?

Jimmy Reyes:
How can I obtain the equity in a variable of 0 hours in central Europe and update it daily?

Consult this function

```#property version   "1.00"
input int hours=0;//hour in the day to get the snapshot
input int minute=0;//minute in the day to get the snapshot

datetime lastGmtSnapshot=0,nextGmtSnapshot=0;
double   lastGmtEquity=0.0;
void checkForEquitySnapshot(){
//date time structure for quick adjustments
MqlDateTime mqt;
//Get current gmt time
datetime now=TimeGMT(mqt);
//if the current gmt time is bigger than the last gmt snapshot time
if(now>nextGmtSnapshot){
//then adjust and prepare next snapshot
mqt.hour=hours;//we set the hour
mqt.min=minute;//we set the minute
mqt.sec=0;
//turn the mqt back to datetime
now=StructToTime(mqt);
/*
what did we do here exactly ?
We asked , is the GMT time bigger than the one we have calculated to be the next checkpoint in time for the equity snapshot ?
If the answer is true then we keep this time within the parameters of the user , not just because we may have
skipped some seconds but also because the initial time is 0, so any time is bigger than that.
But why ? because we will project the next time on this one
How will we do that ? we will simply dump 86400 seconds on it
*/
//save the last snapshot just for display purposes
lastGmtSnapshot=now;
nextGmtSnapshot=(datetime)((int)now+86400);
//simply , get the time we corrected to the users choice of hours and minutes for today
//turn it to an integer
//throw 86400 seconds on it
//turn it back to time
//and of course , don't forget to get the equity snapshot
lastGmtEquity=(double)AccountInfoDouble(ACCOUNT_EQUITY);
}
}
int OnInit()
{
lastGmtEquity=0.0;
lastGmtSnapshot=0;
nextGmtSnapshot=0;

return(INIT_SUCCEEDED);
}
void OnTick()
{
checkForEquitySnapshot();
Comment("Equity ("+DoubleToString(lastGmtEquity,2)+AccountInfoString(ACCOUNT_CURRENCY)+")\nTaken("+TimeToString(lastGmtSnapshot,TIME_DATE|TIME_MINUTES|TIME_SECONDS)+"GMT)\nNext("+TimeToString(nextGmtSnapshot,TIME_DATE|TIME_MINUTES|TIME_SECONDS)+"GMT)");
}
```

Lorentzos Roussos #:

Consult this function

Waoo, excellent thank you very much

Reason: