Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
¡Gracias por la respuesta!
Pero, ¿cómo puedo obtener una línea de ángulo de MA en el gráfico general como en este código indi hystogramm?
#property indicator_separate_window
#property indicator_buffers 3
#property indicator_color1 LimeGreen
#property indicator_color2 FireBrick
#property indicator_color3 Yellow
#property indicator_width1 2
#property indicator_width2 2
#property indicator_width3 2
//---- indicator parameters
extern int TimeFrame = 60;
extern int MAMode = 0;
extern int MAPeriod = 50;
extern int Price = 4;
extern double AngleTreshold = 0.25;
extern int StartMAShift = 2;
extern int EndMAShift = 0;
extern int MaxBars = 500;
string TF1;
//---- indicator buffers
double UpBuffer[];
double DownBuffer[];
double ZeroBuffer[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
//---- 2 additional buffers are used for counting.
IndicatorBuffers(3);
//---- drawing settings
SetIndexStyle(0,DRAW_HISTOGRAM);
SetIndexStyle(1,DRAW_HISTOGRAM);
SetIndexStyle(2,DRAW_HISTOGRAM);
IndicatorDigits(MarketInfo(Symbol(),MODE_DIGITS)+2 );
//---- 3 indicator buffers mapping
if(!SetIndexBuffer(0,UpBuffer) &&
!SetIndexBuffer(1,DownBuffer) &&
!SetIndexBuffer(2,ZeroBuffer))
Print("cannot set indicator buffers!");
SetIndexLabel(0,"");
SetIndexLabel(1,"");
SetIndexLabel(2,"");
switch(TimeFrame)
{
case 1: TF1="M1"; break;
case 5: TF1="M5"; break;
case 15: TF1="M15"; break;
case 30: TF1="M30"; break;
case 60: TF1="H1"; break;
case 240: TF1="H4"; break;
case 1440: TF1="D1"; break;
case 10080: TF1="W1"; break;
case 43200: TF1="MN1"; break;
default: {TimeFrame = Period(); init(); return(0);}
}
IndicatorShortName("MAAngle MTF * "+TF1+" *");
//---- initialization done
return(0);
}
//+------------------------------------------------------------------+
//| The angle for EMA |
//+------------------------------------------------------------------+
int start()
{
double fEndMA, fStartMA;
double fAngle, mFactor, dFactor;
int nLimit, i;
int nCountedBars;
double angle;
int ShiftDif;
string Sym;
if (MAMode >= 4) MAMode = 0;
if(EndMAShift >= StartMAShift)
{
Print("Error: EndMAShift >= StartMAShift");
StartMAShift = 6;
EndMAShift = 0;
}
nCountedBars = IndicatorCounted();
dFactor = 2*3.14159/180.0;
mFactor = 10000.0;
Sym = StringSubstr(Symbol(),3,3);
if (Sym == "JPY") mFactor = 100.0;
ShiftDif = StartMAShift-EndMAShift;
mFactor /= ShiftDif;
//---- check for possible errors
if(nCountedBars<0) return(-1);
//---- last counted bar will be recounted
if(nCountedBars>0) nCountedBars--;
nLimit=Bars-nCountedBars;
nLimit=MathMax(nLimit,TimeFrame/Period());
nLimit=MathMin(nLimit,MaxBars );
//---- main loop
for(i=0; i<nLimit; i++)
{
int y = iBarShift(NULL,TimeFrame,Time);
if (TimeFrame<Period()) TimeFrame=Period();
fEndMA=iMA(NULL,TimeFrame,MAPeriod,0,MAMode,Price,y+EndMAShift);
fStartMA=iMA(NULL,TimeFrame,MAPeriod,0,MAMode,Price,y+StartMAShift);
// 10000.0 : Multiply by 10000 so that the fAngle is not too small
// for the indicator Window.
fAngle = mFactor * (fEndMA - fStartMA)/2.0;
//fAngle = MathArctan(fAngle)/dFactor;
DownBuffer = 0.0;
UpBuffer = 0.0;
ZeroBuffer = 0.0;
if(fAngle > AngleTreshold)
UpBuffer = fAngle;
else if (fAngle < -AngleTreshold)
DownBuffer = fAngle;
else ZeroBuffer = fAngle;
}
return(0);
}
//+------------------------------------------------------------------+
Ese indicador está calculando algo similar a la pendiente (no el ángulo, ya que el ángulo nunca puede ser calculado exactamente en el gráfico de series de tiempo ni una pendiente exacta, ya que está tratando de utilizar algunas matemáticas diferentes a las necesarias para una pendiente) para todos y cada barra de la MA. Si desea invertirlo (sólo estoy adivinando lo que quiere exactamente) va a obtener esa MA inicial como resultado (por lo que va a obtener una media móvil en el gráfico).
Si desea extender la pendiente de la última barra, entonces usted puede utilizar algo similar a este indicador https://www.mql5.com/en/forum/173235/page36 que extiende la media móvil utilizando la pendiente de la última barra
Ese indicador está calculando algo similar a la pendiente (no el ángulo, ya que el ángulo nunca puede ser calculado exactamente en el gráfico de series de tiempo ni una pendiente exacta, ya que está tratando de utilizar algunas matemáticas diferentes a las necesarias para una pendiente) para todos y cada uno de los bares de la ma. Si desea invertirlo (sólo estoy adivinando lo que quiere exactamente) va a obtener esa ma inicial como resultado (por lo que va a obtener una media móvil en el gráfico). Si deseas extender la pendiente de la última barra, entonces puedes usar algo similar a este indicador https://www.mql5.com/en/forum/173235/page36 que extiende la media móvil usando la pendiente de la última barra
¡Gracias mladen! Es muy similar a lo que quiero
¿Tienes lo mismo con el modo MTF?
mladen..
necesito su ayuda para modificar este indicador https://www.mql5.com/en/forum/general
Mladen,
Calcular las BBands utilizando los datos de una media móvil.
Como ejemplo para aplicar a medias no estándar de MT4.
Como ejemplo para uno de los tipos de media móvil de AllAverages.
Es un BBands que utiliza datos reales de la media.
No hay BBands SMA, con un tipo diferente de media móvil.
Mladen,
Calcular las BBands utilizando los datos de una media móvil.
Como ejemplo para aplicar a medias no estándar de MT4.
Como ejemplo para uno de los tipos de media móvil de AllAverages.
Es un BBands que utiliza datos reales de la media.
No hay BBands SMA, con un tipo diferente de media móvil.Antonsan
Puedes calcular las bandas de Bollinger sobre cualquier valor si utilizas la función iStdDevOnArry().
Llena un array con los valores que desees usar (valores de cualquier media por ejemplo) calcula su desviación usando iStdDevOnArray() y calcula una línea media para las bandas de Bollinger usando iMaOnArray() (usando el mismo array que usa iStrDevOnArry()) y entonces las bandas son simples : línea media + desviación*multiplicador para la banda superior, y línea media - desviación*multiplicador para la banda inferior
Antonsan
Aquí hay un ejemplo de código muy sencillo que puedes usar como plantilla para construir bandas de bollinger de cualquier valor. Todo lo que tienes que hacer es reemplazar la llamada a iRsi() en esta línea :
for(i=limit; i >= 0; i--) value = iRSI(NULL,0,RsiLength,RsiPrice,i);
con la función deseada o una llamada a iCustom() de cualquier indicador personalizado y calculará las bandas Bollinger para ese valor
persona77 Se ha añadido una opción más : AllowCloseEqualOpen. así que ahora puedes controlarlo con esa opción
¡Gran trabajo mlanden! Gracias de nuevo.
Buen indicador para EA
Hola,
Este indicador tiene 5 líneas.(pivote+R1+R2+S1+S2)
Quiero hacer un ea que la base de estas líneas. Desafortunadamente estas líneas no tienen búfer, necesito que alguien asigne un búfer a cada línea.
Por favor, ayuda
Saludos cordiales;
Bamik
Hola,
Este indicador tiene 5 líneas.(pivote+R1+R2+S1+S2)
Quiero hacer un ea que base estas líneas. Desafortunadamente estas líneas no tienen buffer.necesito que alguien asigne un buffer a cada línea.
Por favor, ayuda
Saludos cordiales;
Bamikbarnik
¿Has revisado este hilo : https://www.mql5.com/en/forum/172894
Hay una gran cantidad de indicadores de pivote utilizando búferes en ese hilo
barnik
¿Has mirado este hilo : https://www.mql5.com/en/forum/172894
Hay un montón de indicadores pivotantes que utilizan buffers en ese hiloGracias ciervo mladen por su ayuda,
He descargado y probado la mayoría de estos indicadores.Sólo " AutoPivotIndicator_ver5" indicador era igual que "TARGETS-LINES".
Por desgracia, este indicador también no utiliza el búfer y utiliza el objeto.
Would you mind please change my simple indicator.(allocate a buffer to each line).it's a little indicator.
Gracias