Boa noite,
Alguém pode me ajudar a decifrar o pq o meu código nao mostra as linhas do dia anterior? no Caso como nao consegui fazer a linha da maxima, nem fiz a linha da minima do dia anterior.
#include <trade/trade.mqh>
#property indicator_chart_window
input int lote = 100;
CTrade trade ;
MqlRates rates[];
bool sinalcompra = false;
bool comprado = false;
double MaxDiaAnterior, MinDiaAnterior = 0;
int OnInit()
{
MaxDiaAnterior = iHigh(_Symbol,PERIOD_D1,1);
MinDiaAnterior = iLow(_Symbol,PERIOD_D1,1);
return(INIT_SUCCEEDED);
}
void OnDeinit(const int reason)
{
}
void OnTick()
{
CriarLinhaH(0,0, "Linha Maxima", MaxDiaAnterior, clrRed, STYLE_SOLID, 0);
}
void CriarLinhaH(const long janela,
const int subjanela,
const string nome,
double preco,
color cor,
const ENUM_LINE_STYLE estilo,
const int tamanho)
{
ObjectCreate(janela,nome,OBJ_HLINE,subjanela,0,preco);
ObjectSetDouble(janela,nome,OBJPROP_PRICE,preco);
ObjectSetInteger(janela,nome,OBJPROP_COLOR,cor);
ObjectSetInteger(janela,nome,OBJPROP_STYLE,estilo);
ObjectSetInteger(janela,nome,OBJPROP_WIDTH,tamanho);
}
Se código tem 2 erros cruciais...
1- Não se deve insistentemente CRIAR um objeto a cada OnTick(). Sugiro você rever a documentação de todos os Event Handlers da linguagem, do contrário você cometerá mais erros ainda.
2- JAMAIS assuma que tudo DARÁ CERTO em MQL5. SEMPRE cheque por erros. o iHigh() e iLow() NÃO garantem sucesso na primeira chamada, principalmente quando usamos essas funções no OnInit(). Leia a documentação com atenção.
;)

- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Você concorda com a política do site e com os termos de uso
Boa noite,
Alguém pode me ajudar a decifrar o pq o meu código nao mostra as linhas do dia anterior? no Caso como nao consegui fazer a linha da maxima, nem fiz a linha da minima do dia anterior.
#include <trade/trade.mqh>
#property indicator_chart_window
input int lote = 100;
CTrade trade ;
MqlRates rates[];
bool sinalcompra = false;
bool comprado = false;
double MaxDiaAnterior, MinDiaAnterior = 0;
int OnInit()
{
MaxDiaAnterior = iHigh(_Symbol,PERIOD_D1,1);
MinDiaAnterior = iLow(_Symbol,PERIOD_D1,1);
return(INIT_SUCCEEDED);
}
void OnDeinit(const int reason)
{
}
void OnTick()
{
CriarLinhaH(0,0, "Linha Maxima", MaxDiaAnterior, clrRed, STYLE_SOLID, 0);
}
void CriarLinhaH(const long janela,
const int subjanela,
const string nome,
double preco,
color cor,
const ENUM_LINE_STYLE estilo,
const int tamanho)
{
ObjectCreate(janela,nome,OBJ_HLINE,subjanela,0,preco);
ObjectSetDouble(janela,nome,OBJPROP_PRICE,preco);
ObjectSetInteger(janela,nome,OBJPROP_COLOR,cor);
ObjectSetInteger(janela,nome,OBJPROP_STYLE,estilo);
ObjectSetInteger(janela,nome,OBJPROP_WIDTH,tamanho);
}