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
airquest
Hay que tenerlo en cuenta o no funcionará bien
La mejor forma de llamar a los indicadores con dicho parámetro es la siguiente :
iCustom(NULL,targetTimeFrame,indicatorName,"",...,buffer,shift);
Entonces, usa "" para ese parámetroGracias Mladen, como siempre, eres de gran ayuda.
¿alguien podría hacer que este indicador trazara en la apertura de la barra cuando está presente? la versión en TradeStation trazará un indicador de marco de tiempo más alto (cuando está presente) en la barra de marco de tiempo más bajo antes de que el precio realmente opere a través del valor. sin embargo, en la versión MT4 este no es el caso, y no trazará hasta que el precio haya operado a través de él.
Muchas gracias,
Scott
***
#property indicator_chart_window
#property indicator_buffers 2
#property indicator_color1 Blanco
#property indicator_color2 Blanco
//#property indicator_width1 5
//#propiedad indicator_width2 5
//---- parámetros de entrada
/************************************************** ***********************
PERIOD_M1 1
PERIOD_M5 5
PERIOD_M15 15
PERIOD_M30 30
PERIOD_H1 60
PERIOD_H4 240
PERIOD_D1 1440
PERIODO_W1 10080
PERIOD_MN1 43200
Debe utilizar el valor numérico del timeframe que desea utilizar
cuando establezca el valor de TimeFrame' con las entradas del indicador.
************************************************** ************************/
extern int TimeFrame = 240;
extern int num = 6;
extern color Color = White;
double vftop[];
double vfbot[];
//+------------------------------------------------------------------+
//| Función de inicialización de los indicadores personalizados ||.
//+------------------------------------------------------------------+
int init()
{
//---- indicadores
IndicatorBuffers(2);
SetIndexBuffer(0, vfbot);
SetIndexStyle(0, DRAW_LINE, STYLE_SOLID, 5, Color);
// SetIndexArrow(0, 117);
SetIndexEmptyValue(0, 0);
SetIndexBuffer(1, vftop);
SetIndexStyle(1, DRAW_LINE, STYLE_SOLID, 5, Color);
// SetIndexArrow(1, 117);
SetIndexEmptyValue(1, 0);
switch(TimeFrame)
{
case 1 : string TimeFrameStr="Period_M1"; break;
case 5 : TimeFrameStr="Period_M5"; break;
case 15 : TimeFrameStr="Period_M15"; break;
case 30 : TimeFrameStr="Period_M30"; break
case 60 : TimeFrameStr="Period_H1"; break
caso 240 : TimeFrameStr="Period_H4"; break;
case 1440 : TimeFrameStr="Period_D1"; break;
case 10080 : TimeFrameStr="Period_W1"; break
case 43200 : TimeFrameStr="Period_MN1"; break
por defecto : TimeFrameStr="Periodoactual";
}
IndicatorShortName("MTF_VolumeFinder ("+TimeFrameStr+")";
//----
return(0);
}
//+------------------------------------------------------------------+
//| Función de desinicialización del indicador personalizada ||.
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| Función de iteración del indicador personalizada ||
//+------------------------------------------------------------------+
int inicio()
{
int barras_contadas=IndicadorContado();
int i = Bars - counted_bars;
if(barras_contadas == 0) i = Bares - num*2;
int j = 0;
double t1, t2;
int y = 0;
while(i >= 0)
{
y = iBarShift(Symbol(), TimeFrame, Time);
t1 = iLow(Symbol(), TimeFrame, y);
t2 = iHigh(Symbol(), TimeFrame, y);
for(j = y+1; j < y + num; j++)
{
t1 = MathMax(t1, iLow(Symbol(), TimeFrame, j));
t2 = MathMin(t2, iHigh(Symbol(), TimeFrame, j));
}
if(t1 <= t2)
{
vftop = t2;
vfbot = t1;
}
i--;
}
//----
return(0);
}
//+------------------------------------------------------------------+
¿podría alguien hacer que este indicador trace en la apertura de la barra cuando esté presente? la versión en TradeStation trazará un indicador de marco de tiempo superior (cuando esté presente) en la barra de marco de tiempo inferior antes de que el precio realmente opere a través del valor. sin embargo, en la versión de MT4 este no es el caso, y no trazará hasta que el precio haya operado a través de él.
muchas gracias,
Scott
***
#property ventana_del_gráfico
#property indicator_buffers 2
#property indicator_color1 Blanco
#property indicator_color2 Blanco
//#property indicator_width1 5
//#propiedad indicator_width2 5
//---- parámetros de entrada
/************************************************** ***********************
PERIOD_M1 1
PERIOD_M5 5
PERIOD_M15 15
PERIOD_M30 30
PERIOD_H1 60
PERIOD_H4 240
PERIOD_D1 1440
PERIODO_W1 10080
PERIOD_MN1 43200
Debe utilizar el valor numérico del timeframe que desea utilizar
cuando establezca el valor de TimeFrame' con las entradas del indicador.
************************************************** ************************/
extern int TimeFrame = 240;
extern int num = 6;
extern color Color = White;
double vftop[];
double vfbot[];
//+------------------------------------------------------------------+
//| Función de inicialización de los indicadores personalizados ||.
//+------------------------------------------------------------------+
int init()
{
//---- indicadores
IndicatorBuffers(2);
SetIndexBuffer(0, vfbot);
SetIndexStyle(0, DRAW_LINE, STYLE_SOLID, 5, Color);
// SetIndexArrow(0, 117);
SetIndexEmptyValue(0, 0);
SetIndexBuffer(1, vftop);
SetIndexStyle(1, DRAW_LINE, STYLE_SOLID, 5, Color);
// SetIndexArrow(1, 117);
SetIndexEmptyValue(1, 0);
switch(TimeFrame)
{
case 1 : string TimeFrameStr="Period_M1"; break;
case 5 : TimeFrameStr="Period_M5"; break;
case 15 : TimeFrameStr="Period_M15"; break;
case 30 : TimeFrameStr="Period_M30"; break
case 60 : TimeFrameStr="Period_H1"; break
caso 240 : TimeFrameStr="Period_H4"; break;
case 1440 : TimeFrameStr="Period_D1"; break;
case 10080 : TimeFrameStr="Period_W1"; break
case 43200 : TimeFrameStr="Period_MN1"; break
por defecto : TimeFrameStr="Periodo actual";
}
IndicatorShortName("MTF_VolumeFinder ("+TimeFrameStr+")";
//----
return(0);
}
//+------------------------------------------------------------------+
//| Función de desinicialización del indicador personalizada ||.
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| Función de iteración del indicador personalizada ||
//+------------------------------------------------------------------+
int inicio()
{
int barras_contadas=IndicadorContado();
int i = Bars - counted_bars;
if(barras_contadas == 0) i = Bares - num*2;
int j = 0;
double t1, t2;
int y = 0;
while(i >= 0)
{
y = iBarShift(Symbol(), TimeFrame, Time);
t1 = iLow(Symbol(), TimeFrame, y);
t2 = iHigh(Symbol(), TimeFrame, y);
for(j = y+1; j < y + num; j++)
{
t1 = MathMax(t1, iLow(Symbol(), TimeFrame, j));
t2 = MathMin(t2, iHigh(Symbol(), TimeFrame, j));
}
if(t1 <= t2)
{
vftop = t2;
vfbot = t1;
}
i--;
}
//----
return(0);
}
//+------------------------------------------------------------------+¿Puede publicar el código original de tradestation?
Lo he buscado, pero no lo encuentro. Compré el indicador en 2004.
Lo he buscado, pero no lo encuentro. Compré el indicador en 2004.
Lo pregunto porque me gustaría comparar el código - a veces el código de lenguaje fácil parece una tarea sencilla para convertir a metatrader, pero las diferencias son demasiado grandes para ser 100% en algunos casos que la conversión se hace como debería
Por favor, ayúdenme
hola
¿Podría por favor ayudar a hacer que funcione para MT4 Build 600+
¡Gracias de antemano!
Error WPR_MA
¡Hola mladen!
¿Puedo pedir un poco de ayuda en la codificación?
Yo, más o menos, escribí un indicador que está promediando otros 4 WPR en una ventana de indicador.
Si cargas la plantilla, puedes ver la diferencia entre los MA de los WPR.
El superior es el indicador, el inferior se mezcla manualmente. El objetivo es, hacer el manual a un indicador.
Mi pregunta es ¿por qué está haciendo eso? Donde codifiqué mal el WPR_MA..
Gracias por su tiempo
Adledion
¡Hola mladen!
¿Puedo pedir un poco de ayuda en la codificación?
Yo, más o menos, escribí un indicador que está promediando otros 4 WPR en una ventana de indicador.
Si usted carga la plantilla, puede ver la diferencia entre el MA en WPRs.
El superior es el indicador, el inferior se mezcla manualmente. El objetivo es, hacer el manual a un indicador.
Mi pregunta es ¿por qué está haciendo eso? Donde codifiqué mal el WPR_MA..
Gracias por su tiempo
AdledionAdledion
En la plantilla ma se aplica a un solo WPR (WPR(50) en el caso de esa plantilla). No se puede aplicar ma a varios indicadores y por eso hay una diferencia entre tu indicador y la plantilla
Pruébalo - pon todos los periodos WPR de tu indicador a 50 y compara los valores del indicador con el valor anterior de ma en la plantilla (anterior ya que usas el desplazamiento uno en el indicador para iMAOnArray() ) y verás que tienes exactamente los mismos valores en ese caso
Adledion
En la plantilla ma se aplica a un solo WPR (WPR(50) en el caso de esa plantilla). No se puede aplicar ma a varios indicadores y por eso hay una diferencia entre su indicador y la plantilla
Pruébalo - pon todos los periodos WPR de tu indicador a 50 y compara los valores del indicador con el valor anterior de ma en la plantilla (anterior ya que usas el desplazamiento uno en el indicador para iMAOnArray() ) y verás que tienes exactamente los mismos valores en ese casoVaya, gracias, no había indagado tanto
edit: y eso quiere decir, que en la mezcla del manual el ma es solo en un wpr? datos de los primeros indicadores..? así que básicamente el manual es el equivocado (calculando un wpr ma), comparado con mi idea original, que es calcular 3 o 4 wpr ma.
Mladen ,
Estoy un poco desconcertado ¿son estos 2 indicadores repintados? https://www.mql5.com/en/forum/172895
¿Qué representan esos histogramas sabes?