[¡AVISO CERRADO!] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen. No puedo ir a ningún sitio sin ti. - página 1101

 
raduga7:
Estimados expertos en MQL4

En metastock entiendo que If((Ref(H,-1) >Ref(H,0)) AND (Ref(H,-2) < Ref(H,-1) ), Ref( H,-1),PREV); pero soy nuevo en MQL4.

Nunca he visto meta-stock, y la sintaxis de MT4/MT% es casi idéntica a la de C/C++.

el tutorial/manual tiene ejemplos del operador if(): https: //book.mql4.com/ru/operators/if nada parece demasiado complicado.

Aquí también hay información sobre las funciones y cómo escribirlas usted mismo: https: //book.mql4.com/ru/operators/function

 
Danil93:
Error 4109 - comercio no permitido. ¿Cómo solucionarlo?


El servidor no te deja comerciar - debe ser un día festivo, o no hay ninguna casilla en la configuración del terminal para permitir el comercio. Póngalo así (Servicio - Configuración):

 
IgorM:

Nunca he visto metastock, y la sintaxis de MT4/MT% es casi la misma que la de C/C++

hay ejemplos del operador if() en el tutorial/manual: https: //book.mql4.com/ru/operators/if

también hay información sobre las funciones y cómo escribirlas usted mismo: https: //book.mql4.com/ru/operators/function


Yo solía ser un gran usuario de Metastock. Por desgracia, MT4 es más simple y más conveniente. Es cierto que hay muchos más indicadores en Metastock. Pero aprender MQl elimina este problema. Más aún, incluso sin el lenguaje la codobase de la MT no es lo suficientemente pequeña.
 
Gracias por el consejo, es mi primer día de trabajo con MTK. Así que escribí esa pregunta. Pero lo busqué en Google y encontré lo que buscaba.

Pero aún no he encontrado una solución con huecos. Así que si alguien no es perezoso por favor envíeme el código.


//+------------------------------------------------------------------+

//| Soporte y resistencia |
//| Copyright © 2004 Barry Stander |
//| http://myweb.absa.co.za/stander/4meta/ |
//+------------------------------------------------------------------+
#property copyright "Haga clic aquí: Barry Stander"
#enlace de propiedad "http://myweb.absa.co.za/stander/4meta/"

#propiedad ventana_del_gráfica_del_indicador
#property indicator_buffers 2
#property indicator_color1 Rojo
#property indicator_color2 Azul

//---- buffers
doble v1[];
doble v2[];
doble val1;
doble val2;
int i;

int init()
{

IndicatorBuffers(2);

//---- ajustes de dibujo
SetIndexArrow(0, 119);
SetIndexArrow(1, 119);

SetIndexStyle(0,DRAW_ARROW,STYLE_DOT,1,Red);
SetIndexDrawBegin(0,i-1);
SetIndexBuffer(0, v1);
SetIndexLabel(0, "Resistencia");


SetIndexStyle(1,DRAW_ARROW,STYLE_DOT,1,Blue);
SetIndexDrawBegin(1,i-1);
SetIndexBuffer(1,v2);
SetIndexLabel(1, "Soporte");

return(0);
}

int inicio()
{

i=Barras;
while(i>=0)
{

val1 = iFractals(NULL, 0, MODE_UPPER,i);
si (val1 > 0)
v1[i]=High[i]+(High[i]-Low[i]);
si no
v1[i] = v1[i+1];

val2 = iFractals(NULL, 0, MODE_LOWER,i);
si (val2 > 0)
v2[i]=Low[i];
si no
v2[i] = v2[i+1];

i--;
}
return(0);
}

//+------------------------------------------------------------------+

 
raduga7, No entiendo qué significa "El indicador llama al precio". Pues bien, el indicador ha encontrado el precio que necesita. ¿Qué debe hacer ahora? ¿Simplemente lo pone en su buffer y lo almacena en algún lugar sin renderizar? ¿Guardarlo para utilizarlo en los códigos de otros programas?
 

Naturalmente, dibujará una línea de precio en el gráfico, como se describe en el indicador publicado anteriormente


//---- ajustes de dibujo
SetIndexArrow(0, 119);
SetIndexArrow(1, 119);

SetIndexStyle(0,DRAW_ARROW,STYLE_DOT,1,Red);
SetIndexDrawBegin(0,i-1);
SetIndexBuffer(0, v1);
SetIndexLabel(0, "Resistance")

===================================================

Una pregunta más.
¿Es posible mostrar varios gráficos 2 o 3 con diferentes plazos en una sola ventana? ¿Existen soluciones o ejemplos ya hechos?

 
raduga7:


Otra pregunta.
¿Es posible mostrar varios 2 o 3 gráficos con diferentes plazos en una misma ventana? ¿Existen soluciones o ejemplos ya hechos?

¿intervalos de tiempo? ¿marco de tiempo?

hay algunos inconvenientes en los indicadores MT - como coordenadas X e Y, los indicadores utilizan el precio y el tiempo, el tiempo a su vez también se divide en barras y la indicación de tiempo específico como tipo datetime, si el indicador dibuja utilizando buffers de indicadores, definitivamente dibujará por barras, y si el indicador utiliza objetos gráficos, entonces el tiempo especificado

si su pregunta es sobre el número de líneas - buffers de los indicadores, entonces MT4 tiene un máximo de 8 para un indicador, pero nadie prohíbe el uso de varios indicadores

 

Hola, ¿puedo hacer una pregunta, si un indicador puede tomar los valores de una barra establecida por el tiempo a través de variables externas?

Por ejemplo, si se introduce la fecha en variables externas - 6 de enero de 2011 a las 04h 25m, cómo se puede hacer en un indicador, gracias de antemano.
 
Eliza:

Hola, puedo hacer una pregunta, ¿puede el indicador tomar valores de barra establecidos por tiempo a través de variables externas?

Por ejemplo, si se pone la fecha en variables externas - 6 de enero de 2011 04h 25 min, cómo se puede hacer esto en un indicador, gracias de antemano.


iBarShift

iTime

puedes combinarlos, así:

iBarShift(NULL,PERIOD_D1,Time[1 00])

y las variables externas son una forma de intercambiar datos entre diferentes EAs/indicadores, no veo por qué las variables externas tienen algo que ver

 
raduga7:

Naturalmente, dibujará una línea de precio en el gráfico como se describe en el indicador publicado anteriormente.


//---- ajustes de dibujo
SetIndexArrow(0, 119);
SetIndexArrow(1, 119);

SetIndexStyle(0,DRAW_ARROW,STYLE_DOT,1,Red);
SetIndexDrawBegin(0,i-1);
SetIndexBuffer(0, v1);
SetIndexLabel(0, "Resistencia");

===================================================

Una pregunta más.
¿Es posible mostrar varios gráficos 2 o 3 con diferentes plazos en una sola ventana? ¿Existen soluciones o ejemplos ya hechos?




No dijiste que querías un renderizado - dijiste que encontraste tal cosa en google. Bueno, DRAW_ARROW no es una línea - es una flecha (también puede usar simplemente un carácter de la tabla de caracteres permitidos). El ordenador es un tonto que sólo entiende "Hay señal - No hay señal" - necesita instrucciones precisas. Así que aquí hay que saber exactamente lo que se necesita aparte de los precios encontrados.
Razón de la queja: