Olá, bom dia!
Queria fazer um indicador em teoria simples, mais na prática para mim esta difícil.
Por exemplo, quero que apareça uma media de 50 períodos do gráfico de 1 hora em um gráfico de 1 minuto.
Com a função IMA calculo o valor da média, minha dúvida é como plotar no gráfico.
Alguém tem alguma sugestão de como fazer?
At.
Daniel
Daniel,
Me lembro de ter visto alguns indicadores prontos e gratuitos na comunidade para isso.
Da uma olhada na biblioteca que vc deve achar. Bem interessante p que gosta de fractais...
abs
PH
Daniel,
Me lembro de ter visto alguns indicadores prontos e gratuitos na comunidade para isso.
Da uma olhada na biblioteca que vc deve achar. Bem interessante p que gosta de fractais...
abs
PH
Ola Daniel !!!
Acho que vc ta comentando algo sobre isso ? https://www.mql5.com/pt/code/180
Porem eu preferi eu mesmo fazer, ate pra exercitar e aprender mais sobre mql,... entao fiz 2 funcoes que chamo de qq tempo grafico ao calcular o preco atual...
double MediaTempoM1(datetime Referencia)
{
MqlRates rates[];
ArraySetAsSeries(rates,true);
double MA50=0.0;
int copied=CopyRates(Symbol(),PERIOD_M1,Referencia,50,rates);
if(copied>0)
{
Print(Referencia+" Barres copiados: "+copied);
string format="open = %G, high = %G, low = %G, close = %G, volume = %d";
string out;
int size=fmin(copied,50);
for(int i=0;i<size;i++)
{
out=i+":"+TimeToString(rates[i].time);
out=out+" "+StringFormat(format,
rates[i].open,
rates[i].high,
rates[i].low,
rates[i].close,
rates[i].tick_volume);
Print(out);
MA50=MA50+rates[i].close;
}
}
else Print("Falha ao receber dados históricos para o símbolo ",Symbol());
MA50=NormalizeDouble(MA50/50,2);
return (MA50);
}
void PlotaWing(datetime time,double price)
{
//---
string up_arrow="up_arrow"+price+time;
//--- Se o preço foi obtido
ObjectDelete(0,"up_arrow"+price+time);
ObjectCreate(0,up_arrow,OBJ_ARROW,0,0,0,0,0); // Cria uma seta
ObjectSetInteger(0,up_arrow,OBJPROP_ARROWCODE,159); // Define o código da seta
ObjectSetInteger(0,up_arrow,OBJPROP_COLOR,clrGreenYellow);
ObjectSetInteger(0,up_arrow,OBJPROP_TIME,time); // Define hora
ObjectSetDouble(0,up_arrow,OBJPROP_PRICE,price);// Define preço
// ChartRedraw(0); // Desenha a seta agora
}
preco=MediaTempoM1(time_atual);
PlotaWing(time,preco);
Espero ter ajudado !!
- votos: 30
- 2014.01.14
- ak20 ak20
- www.mql5.com
Opa, perfeito!
Vou verificar a sua postagem. Ainda não resolvi essa questão!
Abraços
Daniel
Basta procurar na Base de Códigos por "HTF", que significa "Higher TimeFrames".
https://www.mql5.com/pt/search#!keyword=HTF&module=mql5_module_codebase
Abraços,
Malacarne
Obrigado!
- 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
Olá, bom dia!
Queria fazer um indicador em teoria simples, mais na prática para mim esta difícil.
Por exemplo, quero que apareça uma media de 50 períodos do gráfico de 1 hora em um gráfico de 1 minuto.
Com a função IMA calculo o valor da média, minha dúvida é como plotar no gráfico.
Alguém tem alguma sugestão de como fazer?
At.
Daniel