Candle recognize questions

 
hi guys i have a questions about , how recognize for all cross , explane better , example:

if you want recognize if body of candel is up you do a differnces of  close-open if is max of > 0.00 is up , is less is down body candel. ok

but if i want distinguish big body candel, i should if differnces is >  xxx then , but in this mode if i am in eurusd  the xxx is equal for example 0.00100 , but if i am in XAUUSD the difference will be 20.36, is compleatly different value but  for my eye  in platform is thesame candel (like dimension)

is possible count the body like graphic sign and not consider price ?

thankz

i hope i explain me correct .....sorry
 
faustf:
hi guys i have a questions about , how recognize for all cross , explane better , example:

if you want recognize if body of candel is up you do a differnces of  close-open if is max of > 0.00 is up , is less is down body candel. ok

but if i want distinguish big body candel, i should if differnces is >  xxx then , but in this mode if i am in eurusd  the xxx is equal for example 0.00100 , but if i am in XAUUSD the difference will be 20.36, is compleatly different value but  for my eye  in platform is thesame candel (like dimension)

is possible count the body like graphic sign and not consider price ?

thankz

i hope i explain me correct .....sorry

use ATR with big period

 

you can explan much better have an example ? thankz

 
faustf:
hi guys i have a questions about , how recognize for all cross , explane better , example:

if you want recognize if body of candel is up you do a differnces of  close-open if is max of > 0.00 is up , is less is down body candel. ok

but if i want distinguish big body candel, i should if differnces is >  xxx then , but in this mode if i am in eurusd  the xxx is equal for example 0.00100 , but if i am in XAUUSD the difference will be 20.36, is compleatly different value but  for my eye  in platform is thesame candel (like dimension)

is possible count the body like graphic sign and not consider price ?

thankz

i hope i explain me correct .....sorry

you can use https://www.mql5.com/en/docs/chart_operations/charttimepricetoxy
to get X, Y size in pixels.

Documentation on MQL5: Chart Operations / ChartTimePriceToXY
Documentation on MQL5: Chart Operations / ChartTimePriceToXY
  • www.mql5.com
[in]  The time value on the chart, for which the value in pixels along the X axis will be received. The origin is in the upper left corner of the main chart window. [in]   The price value...
 
o thankz  i will study this command
 
faustf: but if i want distinguish big body candel, i should if differnces is >  xxx

You must state your condition in concrete terms or you can not code it. "Big" is not. Larger than n × ATR is one definition.

 

hi i try to understund how work the function  ChartTimePriceToXY ,  i create this little script

//+------------------------------------------------------------------+
//|                                                        trend.mq4 |
//|                        Copyright 2015, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+

//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void OnTick()
  {
           
   int      DOT_x,DOT_y;
   datetime DOT_B = iTime("USDCHF",PERIOD_H1,1);
   bool ok = ChartTimePriceToXY(0,0,DOT_B,Open[1],DOT_x,DOT_y);
   Print("OffLineChart: BarTime: ",DOT_B,
         "  x,y: ",DOT_x,", ",DOT_y,"   Error: ",_LastError,"  ok: ",ok);
  }


but how  is possible verify if coordinate is correct?

for example if i stop with arrow of the mouse over candel i look open price close price and more info is  possible have somthing similar for verify ??

thankz

Documentation on MQL5: Constants, Enumerations and Structures / Indicator Constants / Price Constants
Documentation on MQL5: Constants, Enumerations and Structures / Indicator Constants / Price Constants
  • www.mql5.com
Calculations of technical indicators require price values and/or values of volumes, on which calculations will be performed. There are 7 predefined identifiers from the ENUM_APPLIED_PRICE enumeration, used to specify the desired price base for calculations. If a technical indicator uses for calculations price data, type of which is set by...
 

i think also this function have some limits , i explain :

for me is important have a fix  dimention of candel body +shadow , independently  of cross and  dimention of screen , all solution for calculate  this are fallacius, because:

if  i calculate with open price and close  price (4 body) and if i move expert in other cross, change the different ratio, therfore   dimention is differents , also if for my eye and for my analisis is equal.

if i calculate with x,y on the screen  if i move or zoom it the value change and but  for my eye  is  always the same candel .

not exist a absolut univoc system for mesure a candel  ?

thankz at all

 

i continue to understund the  function ChartTimePriceToXY but  i have  always strange problem

example i have 2 candel  A in position 1 and B in postion 36 A is down candel and B is up candel   but is identical dimention body but return 2 value differents why???? o_O

//+------------------------------------------------------------------+
//|                                                        trend.mq4 |
//|                        Copyright 2015, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+

//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void OnTick()
  {

   double CAndelA=SommaY(1);
   double CAndelB=SommaY(36) ;
 
   Print("Candela A: "+ CAndelA);
   Print("Candela B: "+ CAndelB);
   int height=ChartGetInteger(0,CHART_SCALE,0);
   int width=ChartGetInteger(0,CHART_SCALE,0);
   Print("CHART_HEIGHT_IN_PIXELS =",height,"pixels");
   Print("CHART_WIDTH_IN_PIXELS =",width,"pixels");


  }


//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
double SommaY(int CandelNumb)
  {
   int      DOT_x,DOT_y;
   datetime DOT_B = iTime("USDCHF",PERIOD_H1,1);
   bool ok = ChartTimePriceToXY(0,0,DOT_B,Open[CandelNumb],DOT_x,DOT_y);
   Print("OffLineChart: BarTime: ",DOT_B,
         "  x,y: ",DOT_x,", ",DOT_y,"   Error: ",_LastError,"  ok: ",ok);


   int DOT_x2,DOT_y2;
   datetime DOT_B2 = iTime("USDCHF",PERIOD_H1,1);
   bool ok2 = ChartTimePriceToXY(0,0,DOT_B,Close[CandelNumb],DOT_x2,DOT_y2);


   double Totalbody=(DOT_y+DOT_y2);
   return  Totalbody;

  }
Files:
why.jpg  317 kb
 
  1. Why are you passing the time of the last H1 bar (Bar 1) and the open or close of the 36th bar?
  2. The height of the body is the difference between the open and close — not their sum.
 

ATR(140) for GBPUSD might be 0.00200

and for GBPJPY it might be 0.20000

ATR reflects the volatility of the pair, but also the relative size (price value) of the pair.

so it's a good indicator of the "size" of one candle

it adapts to the volatility as well as the value of the price


for example how do you know if a candle is "big" or not ? because the size means nothing.


for example:

if (high-low > mul * atr)
{
	"big candle"
}

"mul" is the min size you want.


hope it helps

Jeff

Reason: