Download MetaTrader 5

How can I determin daily candlestick up or down

To add comments, please log in or register
Do you wonder how to use widgets? Read the article!
phoenix1911
77
phoenix1911 2015.09.30 16:17 

I am new to the mt4 programming. Can anyone please help me with this?


I'd like to know whether a daily candlestick is up or down. How to achieve in the programming?

phoenix1911
77
phoenix1911 2015.09.30 16:19  

So far, i only got the following codes:

void start()
{
   double dayOpen,hourClose;
   int currentHour,currentMin;
   
   double highHourClose;
   
   currentHour=Hour();
   currentMin=Minute();
   dayOpen=iOpen(NULL,PERIOD_D1,0);
   hourClose=iClose(NULL,PERIOD_H1,0);
   if(currentHour==0&&currentMin==0)Print("New day start");
   

}
Alexander Voronkov
18887
Alexander Voronkov 2015.09.30 16:27  
phoenix1911:

I'd like to know whether a daily candlestick is up or down. How to achieve in the programming?

if(iOpen(NULL,PERIOD_D1,0)<iClose(NULL,PERIOD_D1,0)) { current daily candlestick is up }
else { current daily candlestick is down }
phoenix1911
77
phoenix1911 2015.09.30 16:38  
Alexander Voronkov:

Alex, Thank you so much.

Yes, this is the way to get daily open and close price. However, it wont be able to get the close price until the day ends.

So is it possible to compare hour candlesticks to find whether it is up or down?

e.g. I want to compare the hour close price with the day open price. The first hour the close price is higher than open price, meaning it up. And the second hour the close price is higher than the first close price, meaning it is up.

Till the time the hour candlestick close price is lower than day open price, meaning the day candlestick is down.

Could you please help me?

void start()
{
   double dayOpen,dayClose;
   int currentHour,currentMin;
   
   double hourClose[];
   double highHourClose=0;
   
   currentHour=Hour();
   currentMin=Minute();
   dayOpen=iOpen(NULL,PERIOD_D1,0);
   dayClose=iClose(NULL,PERIOD_D1,0);
   
   for(int cnt=0;cnt<23;cnt++)
   {
      hourClose[cnt]=iClose(NULL,PERIOD_H1,0);
      if(hourClose[cnt]>=highHourClose)
      {
         highHourClose=hourClose[cnt];
      }
      
   }
   
Alexander Voronkov
18887
Alexander Voronkov 2015.09.30 17:48  
phoenix1911:

Alex, Thank you so much.

Yes, this is the way to get daily open and close price. However, it wont be able to get the close price until the day ends.

So is it possible to compare hour candlesticks to find whether it is up or down?

e.g. I want to compare the hour close price with the day open price. The first hour the close price is higher than open price, meaning it up. And the second hour the close price is higher than the first close price, meaning it is up.

Till the time the hour candlestick close price is lower than day open price, meaning the day candlestick is down.

Could you please help me?

I do not know - whether I understood you correctly?

int currentHour=Hour();

for(int cnt=0;cnt<currentHour;cnt++)
{
   if(iOpen(NULL,PERIOD_D1,0)<iClose(NULL,PERIOD_H1,cnt)) { hour closed above the opening of the day }
   else { hour closed below the opening of the day }
}
To add comments, please log in or register