DevSolve_DS_SDK_UnitTest/Chart.mqh

293 lines
24 KiB
MQL5
Raw Permalink Normal View History

2025-05-30 14:49:27 +02:00
<EFBFBD><EFBFBD>//+------------------------------------------------------------------+
//| Chart.mqh |
//| Copyright 2023 - Dev.Solve LTDA |
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
//| A fun<EFBFBD><EFBFBD>o define se a grade do gr<EFBFBD>fico <EFBFBD> exibida. |
//+------------------------------------------------------------------+
bool ChartShowGridGet(bool &result,const long chart_ID=0)
{
//--- preparar a vari<EFBFBD>vel para obter o valor da propriedade
long value;
//--- redefine o valor de erro
ResetLastError();
//--- receber o valor da propriedade
if(!ChartGetInteger(chart_ID,CHART_SHOW_GRID,0,value))
{
//--- exibe uma mensagem para o di<EFBFBD>rio Experts
Print(__FUNCTION__+", C<00>digo de erro = ",GetLastError());
return(false);
}
//--- armazenar o valor da propriedade do gr<EFBFBD>fico na mem<EFBFBD>ria
result=value;
//--- sucesso na execu<EFBFBD><EFBFBD>o
return(true);
}
//+------------------------------------------------------------------+
//| A fun<EFBFBD><EFBFBD>o habilita/desabilita a grade do gr<EFBFBD>fico. |
//+------------------------------------------------------------------+
bool ChartShowGridSet(const bool value,const long chart_ID=0)
{
//--- redefine o valor de erro
ResetLastError();
//--- definir o valor da propriedade
if(!ChartSetInteger(chart_ID,CHART_SHOW_GRID,0,value))
{
//--- exibe uma mensagem para o di<EFBFBD>rio Experts
Print(__FUNCTION__+", C<00>digo de erro = ",GetLastError());
return(false);
}
//--- sucesso na execu<EFBFBD><EFBFBD>o
return(true);
}
//+------------------------------------------------------------------+
//| A fun<EFBFBD><EFBFBD>o recebe a cor do fundo do gr<EFBFBD>fico. |
//+------------------------------------------------------------------+
color ChartBackColorGet(const long chart_ID=0)
{
//--- preparar a vari<EFBFBD>vel para receber a cor
long result=clrNONE;
//--- redefine o valor de erro
ResetLastError();
//--- receber a cor do fundo do gr<EFBFBD>fico
if(!ChartGetInteger(chart_ID,CHART_COLOR_BACKGROUND,0,result))
{
//--- exibe uma mensagem para o di<EFBFBD>rio Experts
Print(__FUNCTION__+", C<00>digo de erro = ",GetLastError());
}
//--- retorna o valor da propriedade do gr<EFBFBD>fico
return((color)result);
}
//+------------------------------------------------------------------+
//| A fun<EFBFBD><EFBFBD>o define a cor de fundo do gr<EFBFBD>fico. |
//+------------------------------------------------------------------+
bool ChartBackColorSet(const color clr,const long chart_ID=0)
{
//--- redefine o valor de erro
ResetLastError();
//--- definir a cor do fundo do gr<EFBFBD>fico
if(!ChartSetInteger(chart_ID,CHART_COLOR_BACKGROUND,clr))
{
//--- exibe uma mensagem para o di<EFBFBD>rio Experts
Print(__FUNCTION__+", C<00>digo de erro = ",GetLastError());
return(false);
}
//--- sucesso na execu<EFBFBD><EFBFBD>o
return(true);
}
//+------------------------------------------------------------------+
//| A fun<EFBFBD><EFBFBD>o recebe a cor dos eixos, da escala e da linha OHLC. |
//+------------------------------------------------------------------+
color ChartForeColorGet(const long chart_ID=0)
{
//--- preparar a vari<EFBFBD>vel para receber a cor
long result=clrNONE;
//--- redefine o valor de erro
ResetLastError();
//--- receber cor dos eixos, escala e linha OHLC
if(!ChartGetInteger(chart_ID,CHART_COLOR_FOREGROUND,0,result))
{
//--- exibe uma mensagem para o di<EFBFBD>rio Experts
Print(__FUNCTION__+", C<00>digo de erro = ",GetLastError());
}
//--- retorna o valor da propriedade do gr<EFBFBD>fico
return((color)result);
}
//+------------------------------------------------------------------+
//| A fun<EFBFBD><EFBFBD>o configura a cor dos eixos, da escala e da linha OHLC. |
//+------------------------------------------------------------------+
bool ChartForeColorSet(const color clr,const long chart_ID=0)
{
//--- redefine o valor de erro
ResetLastError();
//--- definir cor dos eixos, escala e linha OHLC
if(!ChartSetInteger(chart_ID,CHART_COLOR_FOREGROUND,clr))
{
//--- exibe uma mensagem para o di<EFBFBD>rio Experts
Print(__FUNCTION__+", C<00>digo de erro = ",GetLastError());
return(false);
}
//--- sucesso na execu<EFBFBD><EFBFBD>o
return(true);
}
//+------------------------------------------------------------------+
//| A fun<EFBFBD><EFBFBD>o recebe cor da barra de alta, a sua sombra e |
//| o limite do corpo do candlestick de alta. |
//+------------------------------------------------------------------+
color ChartUpColorGet(const long chart_ID=0)
{
//--- preparar a vari<EFBFBD>vel para receber a cor
long result=clrNONE;
//--- redefine o valor de erro
ResetLastError();
//--- recebe cor da barra de alta, a sua sombra e o limite do corpo do candlestick de alta
if(!ChartGetInteger(chart_ID,CHART_COLOR_CHART_UP,0,result))
{
//--- exibe uma mensagem para o di<EFBFBD>rio Experts
Print(__FUNCTION__+", C<00>digo de erro = ",GetLastError());
}
//--- retorna o valor da propriedade do gr<EFBFBD>fico
return((color)result);
}
//+------------------------------------------------------------------+
//| A fun<EFBFBD><EFBFBD>o configura cor da barra de alta, sua sombra e |
//| o limite do corpo do candlestick de alta. |
//+------------------------------------------------------------------+
bool ChartUpColorSet(const color clr,const long chart_ID=0)
{
//--- redefine o valor de erro
ResetLastError();
//--- configurar a cor da barra de alta, a sua sombra e o limite do corpo do candlestick de alta
if(!ChartSetInteger(chart_ID,CHART_COLOR_CHART_UP,clr))
{
//--- exibe uma mensagem para o di<EFBFBD>rio Experts
Print(__FUNCTION__+", C<00>digo de erro = ",GetLastError());
return(false);
}
//--- sucesso na execu<EFBFBD><EFBFBD>o
return(true);
}
//+------------------------------------------------------------------+
//| A fun<EFBFBD><EFBFBD>o recebe cor da barra de alta, a sua sombra e |
//| limite do corpo do candlestick de baixa. |
//+------------------------------------------------------------------+
color ChartDownColorGet(const long chart_ID=0)
{
//--- preparar a vari<EFBFBD>vel para receber a cor
long result=clrNONE;
//--- redefine o valor de erro
ResetLastError();
//--- recebe cor da barra de baixa, a sua sombra e o limite do corpo do candlestick de baixa
if(!ChartGetInteger(chart_ID,CHART_COLOR_CHART_DOWN,0,result))
{
//--- exibe uma mensagem para o di<EFBFBD>rio Experts
Print(__FUNCTION__+", C<00>digo de erro = ",GetLastError());
}
//--- retorna o valor da propriedade do gr<EFBFBD>fico
return((color)result);
}
//+------------------------------------------------------------------+
//| A fun<EFBFBD><EFBFBD>o configura a cor da barra de baixa, sua sombra e |
//| limite do corpo do candlestick de baixa. |
//+------------------------------------------------------------------+
bool ChartDownColorSet(const color clr,const long chart_ID=0)
{
//--- redefine o valor de erro
ResetLastError();
//--- configurar a cor da barra de baixa, sua sombra e e o limite do corpo do candlestick de baixa
if(!ChartSetInteger(chart_ID,CHART_COLOR_CHART_DOWN,clr))
{
//--- exibe uma mensagem para o di<EFBFBD>rio Experts
Print(__FUNCTION__+", C<00>digo de erro = ",GetLastError());
return(false);
}
//--- sucesso na execu<EFBFBD><EFBFBD>o
return(true);
}
//+------------------------------------------------------------------+
//| A fun<EFBFBD><EFBFBD>o recebe a cor do corpo do candlestick de alta. |
//+------------------------------------------------------------------+
color ChartBullColorGet(const long chart_ID=0)
{
//--- preparar a vari<EFBFBD>vel para receber a cor
long result=clrNONE;
//--- redefine o valor de erro
ResetLastError();
//--- receber a cor do corpo do candlestick de alta
if(!ChartGetInteger(chart_ID,CHART_COLOR_CANDLE_BULL,0,result))
{
//--- exibe uma mensagem para o di<EFBFBD>rio Experts
Print(__FUNCTION__+", C<00>digo de erro = ",GetLastError());
}
//--- retorna o valor da propriedade do gr<EFBFBD>fico
return((color)result);
}
//+------------------------------------------------------------------+
//| A fun<EFBFBD><EFBFBD>o configura a cor do corpo do candlestick de alta. |
//+------------------------------------------------------------------+
bool ChartBullColorSet(const color clr,const long chart_ID=0)
{
//--- redefine o valor de erro
ResetLastError();
//--- configurar a cor do corpo do candlestick de alta.
if(!ChartSetInteger(chart_ID,CHART_COLOR_CANDLE_BULL,clr))
{
//--- exibe uma mensagem para o di<EFBFBD>rio Experts
Print(__FUNCTION__+", C<00>digo de erro = ",GetLastError());
return(false);
}
//--- sucesso na execu<EFBFBD><EFBFBD>o
return(true);
}
//+------------------------------------------------------------------+
//| A fun<EFBFBD><EFBFBD>o recebe a cor do corpo do candlestick de baixa. |
//+------------------------------------------------------------------+
color ChartBearColorGet(const long chart_ID=0)
{
//--- preparar a vari<EFBFBD>vel para receber a cor
long result=clrNONE;
//--- redefine o valor de erro
ResetLastError();
//--- receber a cor do corpo do candlestick de baixa
if(!ChartGetInteger(chart_ID,CHART_COLOR_CANDLE_BEAR,0,result))
{
//--- exibe uma mensagem para o di<EFBFBD>rio Experts
Print(__FUNCTION__+", C<00>digo de erro = ",GetLastError());
}
//--- retorna o valor da propriedade do gr<EFBFBD>fico
return((color)result);
}
//+------------------------------------------------------------------+
//| A fun<EFBFBD><EFBFBD>o configura a cor do corpo do candlestick de baixa. |
//+------------------------------------------------------------------+
bool ChartBearColorSet(const color clr,const long chart_ID=0)
{
//--- redefine o valor de erro
ResetLastError();
//--- configurar a cor do corpo do candlestick de baixa
if(!ChartSetInteger(chart_ID,CHART_COLOR_CANDLE_BEAR,clr))
{
//--- exibe uma mensagem para o di<EFBFBD>rio Experts
Print(__FUNCTION__+", C<00>digo de erro = ",GetLastError());
return(false);
}
//--- sucesso na execu<EFBFBD><EFBFBD>o
return(true);
}
//+------------------------------------------------------------------------+
//| A fun<EFBFBD><EFBFBD>o recebe cor da linha do gr<EFBFBD>fico e candlesticks Doji. |
//+------------------------------------------------------------------------+
color ChartLineColorGet(const long chart_ID=0)
{
//--- preparar a vari<EFBFBD>vel para receber a cor
long result=clrNONE;
//--- redefine o valor de erro
ResetLastError();
//--- receber cor da linha do gr<EFBFBD>fico e candlesticks Doji.
if(!ChartGetInteger(chart_ID,CHART_COLOR_CHART_LINE,0,result))
{
//--- exibe uma mensagem para o di<EFBFBD>rio Experts
Print(__FUNCTION__+", C<00>digo de erro = ",GetLastError());
}
//--- retorna o valor da propriedade do gr<EFBFBD>fico
return((color)result);
}
//+------------------------------------------------------------------+
//| A fun<EFBFBD><EFBFBD>o configura a cor da linha do gr<EFBFBD>fico e |
//| candlesticks Doji. |
//+------------------------------------------------------------------+
bool ChartLineColorSet(const color clr,const long chart_ID=0)
{
//--- redefine o valor de erro
ResetLastError();
//--- configurar a cor da linha do gr<EFBFBD>fico e candlesticks Doji
if(!ChartSetInteger(chart_ID,CHART_COLOR_CHART_LINE,clr))
{
//--- exibe uma mensagem para o di<EFBFBD>rio Experts
Print(__FUNCTION__+", C<00>digo de erro = ",GetLastError());
return(false);
}
//--- sucesso na execu<EFBFBD><EFBFBD>o
return(true);
}
//+------------------------------------------------------------------+