![MQL5 - Linguagem para estratégias de negociação inseridas no terminal do cliente MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
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 grande Mladen
Eu só me lembro de você
obrigado
Talaat ETalaat E
Parece que me esqueci de afixar
Aqui está : hma_slope_color_nrp_amp_mtf_amp_alerts__arrows_2.01.mq4
Talaat E
Parece que me esqueci de afixar
Aqui está : hma_slope_color_nrp_amp_mtf_amp_alerts__arrows_2.01.mq4Rei Hj
Sem problemas, como eu disse antes, você é o rei da codificação
Obrigado
Talaat E
BB Stops - EMA desvios - histo a partir daqui: https://www.mql5.com/en/forum/general atualizado para ser compatível com as novas construções mt4.
Rsi - níveis flutuantes - avançado (daqui : https://www.mql5.com/en/forum/general): rsi_-_floating_levels_-_advanced_nmc.mq4
Olá Mladen / MrTools,
Você pode adicionar uma seta e alertas para quando a média do RSI se move de baixo e fecha acima da linha pontilhada inferior ou se move de cima e fecha abaixo da linha pontilhada superior?
Obrigado!
Olá Mladen / MrTools,
Você pode adicionar uma seta e alertas para quando a média do RSI se move de baixo e fecha acima da linha pontilhada inferior ou se move de cima e fecha abaixo da linha pontilhada superior?
Obrigado!Olá Sykemakaveli, acrescente as setas e os alertas.
Olá, você pode fazer com que as setas sejam emitidas somente quando o indicador do nível de 20 ou 80?
Gyazo - cb63fc4539b45e012094b73e1c7a6dc1.png
Талаат E Сделают уклон версии версии и разместить его, как только она будет закончена
Olá, as setas só podem ser emitidas quando o indicador do nível de 20 ou 80?Gyazo - cb63fc4539b45e012094b73e1c7a6dc1.png
Alibydubby
Esse indicador é um indicador sem restrições. Não é como um estocástico ou um rsi que oscila entre 0 e 100. A maneira mais fácil de ver isso é mudar os períodos de tempo: em gráficos de 1 minuto ele terá valores muito pequenos. Quanto maior o intervalo de tempo, maiores serão os valores (é muito parecido com o MacD em relação a esta questão). A mesma coisa acontecerá quando você mudar os símbolos (mudar de eurusd para usdjpy por exemplo e você verá uma grande diferença nos valores).
Assim, o uso de alguns níveis fixos não funcionaria da mesma forma que esses níveis são usados em estocástico ou rsi e em muitos casos os resultados seriam mais ou menos inúteis
Пожалуйста, добавьте стрелку на на ощупь границы
Gyazo - bcbd7da7b734e448b844817fd2b063d8.png
//| |
//| forex-tsd elite section only |
//+------------------------------------------------------------------+
#property copyright "mladen"
#property link "mladenfx@gmail.com"
#property indicator_chart_window
#property indicator_buffers 3
#property indicator_color1 DimGray
#property indicator_color2 Red
#property indicator_color3 LimeGreen
#property indicator_style1 STYLE_DOT
//
//
//
//
//
extern int bandsPeriod = 14;
extern int bandsMethod = MODE_SMA;
extern int bandsPrice = PRICE_CLOSE;
extern double bandsDeviations = 2;
//
//
//
//
//
double maBuffer[];
double upBuffer[];
double dnBuffer[];
double wuBuffer[];
double wdBuffer[];
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
//
//
//
//
//
int init()
{
IndicatorBuffers(5);
SetIndexBuffer(0,maBuffer);
SetIndexBuffer(1,upBuffer);
SetIndexBuffer(2,dnBuffer);
SetIndexBuffer(3,wuBuffer);
SetIndexBuffer(4,wdBuffer);
return(0);
}
int deinit() { return(0); }
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
//
//
//
//
//
int start()
{
int counted_bars=IndicatorCounted();
int i,limit;
if(counted_bars<0) return(-1);
if(counted_bars>0) counted_bars--;
limit = MathMin(Bars-counted_bars,Bars-1);
//
//
//
//
//
for(i=limit; i>=0; i--)
{
double price = iMA(NULL,0,1 ,0,MODE_SMA ,bandsPrice,i);
maBuffer = iMA(NULL,0,bandsPeriod,0,bandsMethod,bandsPrice,i);
if (i==(Bars-1))
{
upBuffer = maBuffer;
dnBuffer = maBuffer;
wuBuffer = price-maBuffer;
wdBuffer = price-maBuffer;
continue;
}
//
//
//
//
//
double diff = price-maBuffer;
if(diff>=0)
{
wuBuffer = (wuBuffer*(bandsPeriod-1)+MathPow(diff,2))/bandsPeriod;
wdBuffer = wdBuffer*(bandsPeriod-1)/bandsPeriod;
}
else
{
wdBuffer = (wdBuffer*(bandsPeriod-1)+MathPow(diff,2))/bandsPeriod;
wuBuffer = wuBuffer*(bandsPeriod-1)/bandsPeriod;
}
upBuffer = maBuffer + bandsDeviations*MathSqrt(wuBuffer);
dnBuffer = maBuffer - bandsDeviations*MathSqrt(wdBuffer);
}
return(0);
}
E aqui também, as setas na intersecção das linhas)))
Obrigado U)
Gyazo - 0abf003bea9e9da4c7ebffbe9fd974931.png
//+------------------------------------------------------------------
#property copyright "mladen"
#property link "www.forex-tsd.com"
#property indicator_separate_window
#property indicator_buffers 2
#property indicator_color1 PaleVioletRed
#property indicator_color2 DimGray
#property indicator_width1 2
#property indicator_style2 STYLE_DOT
//
//
//
//
//
extern int TrixPeriod = 5;
extern int TrixPrice = PRICE_CLOSE;
extern int SignalPeriod = 8;
//
//
//
//
//
double TrixBuffer[];
double SignBuffer[];
double work[];
//+------------------------------------------------------------------
//|
//+------------------------------------------------------------------
//
//
//
//
//
int init()
{
IndicatorBuffers(3);
SetIndexBuffer(0,TrixBuffer);
SetIndexBuffer(1,SignBuffer);
SetIndexBuffer(2,work);
//
//
//
//
//
IndicatorShortName("Trix ("+TrixPeriod+")");
return(0);
}
//
//
//
//
//
int start()
{
int limit,i,counted_bars=IndicatorCounted();
if(counted_bars < 0) return(-1);
if(counted_bars>0) counted_bars--;
limit = MathMin(Bars-counted_bars,Bars-1);
//
//
//
//
//
for(i=limit; i>=0; i--)
{
work = iEma(iEma(iEma(MathLog(iMA(NULL,0,1,0,MODE_SMA,TrixPrice,i)),TrixPeriod,i,0),TrixPeriod,i,1),TrixPeriod,i,2);
if (work!=0)
TrixBuffer = 10000*(work-work)/work;
else TrixBuffer = 0.00;
SignBuffer = iLinr(TrixBuffer,SignalPeriod,i,0);
}
//
//
//
//
//
return(0);
}
//+------------------------------------------------------------------
//|
//+------------------------------------------------------------------
//
//
//
//
//
double workEma[][3];
double iEma(double price, double period, int r, int instanceNo=0)
{
if (ArraySize(workEma)!= Bars) ArrayResize(workEma,Bars); r = Bars-r-1;
//
//
//
//
//
double alpha = 2.0 / (1.0+period);
workEma[r] = workEma[r-1]+alpha*(price-workEma[r-1]);
return(workEma[r]);
}
//
//
//
//
//
double workLinr[][1];
double iLinr(double price, double period, int r, int instanceNo=0)
{
if (ArraySize(workLinr)!= Bars) ArrayResize(workLinr,Bars); r = Bars-r-1;
//
//
//
//
//
period = MathMax(period,1);
workLinr[r] = price;
double lwmw = period; double lwma = lwmw*price;
double sma = price;
for(int k=1; k=0; k++)
{
double weight = period-k;
lwmw += weight;
lwma += weight*workLinr[r-k];
sma += workLinr[r-k];
}
return(3.0*lwma/lwmw-2.0*sma/period);
}E aqui também, as setas na intersecção das linhas)))
Obrigado U)
Gyazo - 0abf003bea9e9da4c7ebffbe9fd974931.png
//+------------------------------------------------------------------
#property copyright "mladen"
#property link "www.forex-tsd.com"
#property indicator_separate_window
#property indicator_buffers 2
#property indicator_color1 PaleVioletRed
#property indicator_color2 DimGray
#property indicator_width1 2
#property indicator_style2 STYLE_DOT
//
//
//
//
//
extern int TrixPeriod = 5;
extern int TrixPrice = PRICE_CLOSE;
extern int SignalPeriod = 8;
//
//
//
//
//
double TrixBuffer[];
double SignBuffer[];
double work[];
//+------------------------------------------------------------------
//|
//+------------------------------------------------------------------
//
//
//
//
//
int init()
{
IndicatorBuffers(3);
SetIndexBuffer(0,TrixBuffer);
SetIndexBuffer(1,SignBuffer);
SetIndexBuffer(2,work);
//
//
//
//
//
IndicatorShortName("Trix ("+TrixPeriod+")");
return(0);
}
//
//
//
//
//
int start()
{
int limit,i,counted_bars=IndicatorCounted();
if(counted_bars < 0) return(-1);
if(counted_bars>0) counted_bars--;
limit = MathMin(Bars-counted_bars,Bars-1);
//
//
//
//
//
for(i=limit; i>=0; i--)
{
work = iEma(iEma(iEma(MathLog(iMA(NULL,0,1,0,MODE_SMA,TrixPrice,i)),TrixPeriod,i,0),TrixPeriod,i,1),TrixPeriod,i,2);
if (work!=0)
TrixBuffer = 10000*(work-work)/work;
else TrixBuffer = 0.00;
SignBuffer = iLinr(TrixBuffer,SignalPeriod,i,0);
}
//
//
//
//
//
return(0);
}
//+------------------------------------------------------------------
//|
//+------------------------------------------------------------------
//
//
//
//
//
double workEma[][3];
double iEma(double price, double period, int r, int instanceNo=0)
{
if (ArraySize(workEma)!= Bars) ArrayResize(workEma,Bars); r = Bars-r-1;
//
//
//
//
//
double alpha = 2.0 / (1.0+period);
workEma[r] = workEma[r-1]+alpha*(price-workEma[r-1]);
return(workEma[r]);
}
//
//
//
//
//
double workLinr[][1];
double iLinr(double price, double period, int r, int instanceNo=0)
{
if (ArraySize(workLinr)!= Bars) ArrayResize(workLinr,Bars); r = Bars-r-1;
//
//
//
//
//
period = MathMax(period,1);
workLinr[r] = price;
double lwmw = period; double lwma = lwmw*price;
double sma = price;
for(int k=1; k=0; k++)
{
double weight = period-k;
lwmw += weight;
lwma += weight*workLinr[r-k];
sma += workLinr[r-k];
}
return(3.0*lwma/lwmw-2.0*sma/period);
}Alibydubby
Você pode anexar os arquivos mql (use a ferramenta de anexos como marcado na figura inferior)