Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
Oi mladen, obrigado por me indicar a direção certa. Não sei se minha última resposta passou, mas acabei de baixar esta aqui:
Forex TSD - fórum forex - Baixar Ângulo de NonLag MA 1.01.mq4
E isto se parece com o que eu estava procurando.
No entanto, vi uma versão anterior de lá que tinha exatamente o que eu tinha em mente:
https://www.mql5.com/en/forum/173056/page4 (arquivo Forex TSD - fórum forex - Download !!! Ângulo de média.mq4 )
Infelizmente isso não funciona mais para o presente mt4.... é possível fazer um MA na versão de gráfico deste um TSD Forex - fórum forex - Download Angle of NonLag MA 1.01.mq4?wranger
A versão atualizada do "ângulo de média" compatível com o novo mt4 como postado aqui : https://www.mql5.com/en/forum/173056/page5
olá, o que tenho que adicionar ao código indicador, se eu quiser ver o preço que disparou o alarme na janela do alarme?
HI Mladen,
Vou pedir-lhe um grande favor ..... Você pode mudar este código para o indicador Mt4 ..... Está escrito na língua Amibroker ...
Você pode, por favor, me ajudar .... Pode ser mudado para Azul, Vermelho e cinza de cor neutra na versão em histograma.
Muito obrigado.
*************************************************************
_SECTION_BEGIN("Elder Impulse");
raio = 0,1 * Status("pxheight"); // obter altura de pixel do gráfico e usar 45% para o raio do gráfico da torta
textoffset = 0,1 * raio;
GfxSelectFont("Arial", 9, 500, True );
///////////////////////////////////////////////////
SetChartOptions(0,chartShowArrows|chartShowDates);
EnableTextOutput(Falso);
// Parâmetro definido pelo usuário para os períodos EMA
EMA_Type = Param("EMA-1, TEMA-2, JMA-3", 2, 1, 3, 1);
EMA_prds = Param("EMA_periods", 7, 1, 1, 30, 1);
Std_MACD = Param("Standard MACD? No-0, Yes-1", 1, 0, 1, 1, 1);
Plot_fashion = Param("Bar+Arrotas-1, Barras de Impulso-2", 2, 1, 1, 2, 1);
// Permitir que o usuário defina a localização e a altura da fita semanal e mensal
WR_P1 = Param("Weekly Ribbon Location", 5.2, -1000, 1000, 0.1);
WR_P2 = Param("Altura semanal da fita", 199, -0,001, 500, 0,1);
// Calcular EMA e MACD Histograma
if(EMA_Type == 1)
{
DayEMA = EMA(Fechar, EMA_prds);
}
se (EMA_Type == 2)
{
DayEMA = TEMA(Close, EMA_prds);
}
Histograma = MACD() - Sinal();
// Determinar se temos um Impulso PARA CIMA, PARA BAIXO ou Nenhum
Impulse_Up = DayEMA > Ref(DayEMA, -1) E Histograma > Ref(Histograma, -1);
Impulse_Down = DayEMA < Ref(DayEMA, -1) E Histograma < Ref(Histograma, -1);
Impulse_None = (NÃO Impulse_UP) AND (NÃO Impulse_Down);
// Calcular o MACD semanal e determinar se está subindo ou descendo
TimeFrameSet(inWeekly);
se (Std_MACD == 0)
{
MACD_val = MACD(5, Cool);
Signal_val = Signal(5, 8, 5);
}
senão
{
MACD_val = MACD(12, 26);
Signal_val = Signal(12, 26, 9);
}
Hist_in_w = MACD_val - Signal_val;
wh_rising = Hist_in_w > Ref(Hist_in_w, -1);
wh_falling = Hist_in_w < Ref(Hist_in_w, -1);
wh_none = (NOT wh_rising) AND (NOT wh_falling);
TimeFrameRestore();
// Agora receba Mensalmente MACD Histogram....
TimeFrameSet(inMonthly);
MACD_val = MACD(5, 8);
Signal_val = Signal(5, 8, 5);
Hist_in_m = MACD_val - Signal_val;
mh_rising = Hist_in_m > Ref(Hist_in_m, -1);
mh_falling = Hist_in_m < Ref(Hist_in_m, -1);
TimeFrameRestore();
wh_rising = TimeFrameExpand( wh_rising, inWeekly, expandLast );
wh_falling = TimeFrameExpand( wh_falling, inWeekly, expandLast);
wh_none = TimeFrameExpand( wh_none, inWeekly, expandLast);
mh_rising = TimeFrameExpand(mh_rising, inMonthly, expandLast);
mh_falling = TimeFrameExpand(mh_falling, inMonthly, expandLast);
kol = IIf( wh_rising, colorBrightGreen, IIf(wh_falling, colorRed, IIf(wh_none, colorCustom11, colorLightGrey)));
mkol = IIf( mh_rising, colorBlue, IIf(mh_falling, colorRed, colorLightGrey)));
if (Plot_fashion == 1)
{
}
senão
{
bar_kol = IIf(impulse_UP, colorBrightGreen, IIf(impulse_Down, colorRed, colorCustom11));
}
Impulse_State = WriteIf(Impulse_Up, "Bulllish", WriteIf(Impulse_Down, "Bearish", "Neutral"));
GfxTextOut( "IMPULSE STATE = " +Impulse_State, textoffset + 0, 30 );
// Defina a cor de fundo para a Coluna de Estado de Impulso
Impulse_Col = IIf(Impulse_Up, colorGreen, IIf(Impulse_Down, colorRed, colorGrey40));
bars_in_bull = Min(BarsSince(impulse_none), BarsSince(impulse_down));
bars_in_bear = Min(BarsSince(impulse_up), BarsSince(impulse_none));
bars_in_neut = Min(BarsSince(impulse_down), BarsSince(impulse_up));
// Defina uma única variável para mostrar o número de barras no estado atual, dependendo do
// Situação de Impulso real - Alta, Baixa ou Neutra
bars_in_state = IIf(Impulse_Up, bars_in_bull, IIf(Impulse_down, bars_in_bear, bars_in_neut));
// pivô_semanal
k1=-1;
SetChartBkColor(16 ) ;
k=IIf(ParamList("select type", "daily|next day")=="daily",-1,0);
k1=-1;
TimeFrameSet(inDaily);
day_h= LastValue(Ref(H,K));
day_l="LastValue"(Ref(L,K)));
day_c= ÚltimoValor(Ref(C,K));
TimeFrameRestore();
// dia
WriteVal( StochK(39) - StochK(12) );
GfxSelectFont("Arial", 8 );
_SECTION_END();
Obrigado mais uma vez...
HI Mladen,
Vou pedir-lhe um grande favor ..... Você pode mudar este código para o indicador Mt4 ..... Está escrito na língua Amibroker ...
Você pode, por favor, me ajudar .... Pode ser mudado para Azul, Vermelho e cinza de cor neutra na versão em histograma.
Muito obrigado.
*************************************************************
_SECTION_BEGIN("Elder Impulse");
raio = 0,1 * Status("pxheight"); // obter altura de pixel do gráfico e usar 45% para o raio do gráfico da torta
textoffset = 0,1 * raio;
GfxSelectFont("Arial", 9, 500, True );
///////////////////////////////////////////////////
SetChartOptions(0,chartShowArrows|chartShowDates);
EnableTextOutput(Falso);
// Parâmetro definido pelo usuário para os períodos EMA
EMA_Type = Param("EMA-1, TEMA-2, JMA-3", 2, 1, 3, 1);
EMA_prds = Param("EMA_periods", 7, 1, 1, 30, 1);
Std_MACD = Param("Standard MACD? No-0, Yes-1", 1, 0, 1, 1, 1);
Plot_fashion = Param("Bar+Arrotas-1, Barras de Impulso-2", 2, 1, 1, 2, 1);
// Permitir que o usuário defina a localização e a altura da fita semanal e mensal
WR_P1 = Param("Weekly Ribbon Location", 5.2, -1000, 1000, 0.1);
WR_P2 = Param("Altura semanal da fita", 199, -0,001, 500, 0,1);
// Calcular EMA e MACD Histograma
if(EMA_Type == 1)
{
DayEMA = EMA(Fechar, EMA_prds);
}
se (EMA_Type == 2)
{
DayEMA = TEMA(Close, EMA_prds);
}
Histograma = MACD() - Sinal();
// Determinar se temos um Impulso PARA CIMA, PARA BAIXO ou Nenhum
Impulse_Up = DayEMA > Ref(DayEMA, -1) E Histograma > Ref(Histograma, -1);
Impulse_Down = DayEMA < Ref(DayEMA, -1) E Histograma < Ref(Histograma, -1);
Impulse_None = (NÃO Impulse_UP) AND (NÃO Impulse_Down);
// Calcular o MACD semanal e determinar se está subindo ou descendo
TimeFrameSet(inWeekly);
se (Std_MACD == 0)
{
MACD_val = MACD(5, Cool);
Signal_val = Signal(5, 8, 5);
}
senão
{
MACD_val = MACD(12, 26);
Signal_val = Signal(12, 26, 9);
}
Hist_in_w = MACD_val - Signal_val;
wh_rising = Hist_in_w > Ref(Hist_in_w, -1);
wh_falling = Hist_in_w < Ref(Hist_in_w, -1);
wh_none = (NOT wh_rising) AND (NOT wh_falling);
TimeFrameRestore();
// Agora receba Mensalmente MACD Histogram....
TimeFrameSet(inMonthly);
MACD_val = MACD(5, 8);
Signal_val = Signal(5, 8, 5);
Hist_in_m = MACD_val - Signal_val;
mh_rising = Hist_in_m > Ref(Hist_in_m, -1);
mh_falling = Hist_in_m < Ref(Hist_in_m, -1);
TimeFrameRestore();
wh_rising = TimeFrameExpand( wh_rising, inWeekly, expandLast );
wh_falling = TimeFrameExpand( wh_falling, inWeekly, expandLast);
wh_none = TimeFrameExpand( wh_none, inWeekly, expandLast);
mh_rising = TimeFrameExpand(mh_rising, inMonthly, expandLast);
mh_falling = TimeFrameExpand(mh_falling, inMonthly, expandLast);
kol = IIf( wh_rising, colorBrightGreen, IIf(wh_falling, colorRed, IIf(wh_none, colorCustom11, colorLightGrey)));
mkol = IIf( mh_rising, colorBlue, IIf(mh_falling, colorRed, colorLightGrey)));
if (Plot_fashion == 1)
{
}
senão
{
bar_kol = IIf(impulse_UP, colorBrightGreen, IIf(impulse_Down, colorRed, colorCustom11));
}
Impulse_State = WriteIf(Impulse_Up, "Bulllish", WriteIf(Impulse_Down, "Bearish", "Neutral"));
GfxTextOut( "IMPULSE STATE = " +Impulse_State, textoffset + 0, 30 );
// Defina a cor de fundo para a Coluna de Estado de Impulso
Impulse_Col = IIf(Impulse_Up, colorGreen, IIf(Impulse_Down, colorRed, colorGrey40));
bars_in_bull = Min(BarsSince(impulse_none), BarsSince(impulse_down));
bars_in_bear = Min(BarsSince(impulse_up), BarsSince(impulse_none));
bars_in_neut = Min(BarsSince(impulse_down), BarsSince(impulse_up));
// Defina uma única variável para mostrar o número de barras no estado atual, dependendo do
// Situação de Impulso real - Alta, Baixa ou Neutra
bars_in_state = IIf(Impulse_Up, bars_in_bull, IIf(Impulse_down, bars_in_bear, bars_in_neut));
// pivô_semanal
k1=-1;
SetChartBkColor(16 ) ;
k=IIf(ParamList("select type", "daily|next day")=="daily",-1,0);
k1=-1;
TimeFrameSet(inDaily);
day_h= LastValue(Ref(H,K));
day_l="LastValue"(Ref(L,K)));
day_c= ÚltimoValor(Ref(C,K));
TimeFrameRestore();
// dia
WriteVal( StochK(39) - StochK(12) );
GfxSelectFont("Arial", 8 );
_SECTION_END();
Mais uma vez, obrigado...Uma versão do impulso de ancião que você pode encontrar aqui : https://www.mql5.com/en/forum/178416/page20
Ou você pode passar por esta lista: Ancião impluse já que já existem algumas versões desse indicador
olá, o que tenho que acrescentar ao código indicador, se eu quiser ver o preço que disparou o alarme na janela do alarme?
Desculpe, talvez o alarme não seja inglês e deveria ser "alerta".
ou fiz algo de errado, porque nas últimas vezes que perguntei algo que não recebi nenhuma resposta?
Desculpe, talvez o alarme não seja inglês e deveria ser "alert".ou eu fiz algo errado, porque nas últimas vezes que perguntei algo eu não recebi nenhuma resposta?
Adicionar algo como DoubleToStr(PricethatTriggered,_Digits) ao Alert(alertText1,alertText2,...)
Olá,
Estou tentando fazer um indicador que seja baseado no alto, baixo e próximo de outro indicador. Os dados de fechamento estão naturalmente disponíveis, mas como posso capturar o valor mais alto e mais baixo que o indicador fez durante uma barra específica? Já procurei na Internet e encontrei funções como iHigh() e iHighest(), mas estas parecem permitir apenas parâmetros como NULL (símbolo atual). Parece haver algo como OnCalculate() também, mas não tenho certeza se os parâmetros high[], low[] etc. dão o alto do indicador ou do símbolo. Alguém poderia me dizer se o mt4 tem uma maneira de medir o alto e o baixo dos dados do indicador?
Com os melhores cumprimentos,
Olá,
Estou tentando fazer um indicador que seja baseado no alto, baixo e próximo de outro indicador. Os dados de fechamento estão naturalmente disponíveis, mas como posso capturar o valor mais alto e mais baixo que o indicador fez durante uma barra específica? Já procurei na Internet e encontrei funções como iHigh() e iHighest(), mas estas parecem permitir apenas parâmetros como NULL (símbolo atual). Parece haver algo como OnCalculate() também, mas não tenho certeza se os parâmetros high[], low[] etc. dão o alto do indicador ou do símbolo. Alguém poderia me dizer se o mt4 tem uma maneira de medir o alto e o baixo dos dados do indicador?
Cordiais cumprimentos,alto[] e baixo[] estão dando os preços alto e baixo
Você tem que usar ArrayMaximum() e ArrayMinimum() para encontrar o maior e menor valor de algum indicador (primeiro você tem que armazenar os valores do indicador em um buffer)
altos[] e baixos[] estão dando os preços altos e baixos Você tem que usar ArrayMaximum() e ArrayMinimum() para encontrar o maior e o menor valor de algum indicador (primeiro você tem que armazenar os valores do indicador em um buffer)
Oi mladen,
O ArrayMaximum() armazena o valor máximo por barra ou o valor máximo da matriz inteira? Porque eu preciso do valor máximo e mínimo para cada barra ou elemento sucessivo da matriz.
Com os melhores cumprimentos,
Olá,
ArrayMaximum - Documentação MQL4
Pesquisei e parece que esta função retorna o valor mais alto de todos os valores da matriz. O que eu estou procurando é uma função que lhe diga o valor mais alto que um indicador atingiu dentro de uma barra de tempo. Como posso registrar isto? Então, por exemplo, o indicador X está formando a barra mais recente. Ele vai de 3 a 5 a 4 a 7 e depois, quando a barra de tempo fecha, termina no valor 2. O valor mais alto que atingiu foi 7. Como posso registrar este valor?