Los punteros en MQL4 son complicados. No hay ayudas directas. Alguien aquí en el foro intentó hacerlo con arrays, creo. No puedo ser más preciso. Búsquelo usted mismo.
Sólo se puede cambiar la primera dimensión del array mediante programación. La función ArrayResize(). La segunda, la tercera y la cuarta dimensión deben fijarse de forma rígida.
Bueno, olvidemos también los punteros y las matrices dinámicas...
Esperando la 5ª versión de la lengua...
Gracias por la ayuda...
Trabajar con una cuadrícula es fácil de implementar.
Lo curioso es que para mi idea una red no era suficiente, y quería hacer un algoritmo para cambiar entre redes, con punteros no es difícil.
Esta función establece el objeto OBJ_TRENDBYANGLE de la línea de tendencia por el ángulo de la pendiente en el gráfico actual.
cl - Color del objeto TRENDBYANGLE. Parámetro obligatorio.
nm - Nombre del objeto. Cuando se pasa el valor por defecto - "", se utiliza como nombre la hora de apertura de la barra actual.
t1 - Primera coordenada del tiempo de ajuste del objeto. Valor por defecto - 0 - tiempo de apertura del décimo compás.
p1 - Primera coordenada del objeto que fija el precio. Valor por defecto - 0 - mínimo de la décima barra.
t2 - Segunda coordenada del tiempo de ajuste del objeto. Valor por defecto - 0 - tiempo de apertura de la barra actual.
p2 - Segunda coordenada del objeto que fija el precio. Este parámetro es una especie de interruptor. Su valor no nulo equipara esta función a SetTLine(), es decir, se dibujará una línea de tendencia utilizando el par de coordenadas tiempo/precio, mientras que el valor del ángulo de la pendiente de la línea de tendencia se ignorará. Valor por defecto - 0 - construcción de la línea de tendencia por el ángulo de la pendiente.
an - Ángulo de inclinación en grados. Valor por defecto - 0 - Línea horizontal.
ry - Bandera de la propiedad BOW. El valor por defecto es False.
st - Estilo de línea. Los valores válidos son STYLE_SOLID (por defecto), STYLE_DASH, STYLE_DOT, STYLE_DASHDOT.
wd - Ancho de línea. El valor por defecto es 1.
//+----------------------------------------------------------------------------+//| Автор : Ким Игорь В. aka KimIV, http://www.kimiv.ru |//+----------------------------------------------------------------------------+//| Версия : 12.10.2007 |//| Описание : Установка объекта OBJ_TRENDBYANGLE трендовая линия по углу |//+----------------------------------------------------------------------------+//| Параметры: |//| cl - цвет линии |//| nm - наименование ( "" - время открытия текущего бара) |//| t1 - время открытия бара ( 0 - Time[10] |//| p1 - ценовой уровень ( 0 - Low[10]) |//| t2 - время открытия бара ( 0 - время открытия текущего бара) |//| p2 - ценовой уровень ( 0 - по углу) |//| an - угол ( 0 - по умолчанию) |//| ry - луч (False - не луч) |//| st - стиль линии ( 0 - простая линия) |//| wd - ширина линии ( 1 - по умолчанию) |//+----------------------------------------------------------------------------+voidSetTLineByAngle(colorcl, stringnm="",
datetimet1=0, doublep1=0, datetimet2=0, doublep2=0,
doublean=0, boolry=False, intst=0, intwd=1){if(nm=="")nm=DoubleToStr(Time[0], 0);
if(t1<=0)t1=Time[10];
if(p1<=0)p1=Low[10];
if(t2<=0)t2=Time[0];
if(ObjectFind(nm)<0)ObjectCreate(nm, OBJ_TRENDBYANGLE, 0, 0,0);
ObjectSet(nm, OBJPROP_TIME1 , t1);
ObjectSet(nm, OBJPROP_PRICE1, p1);
ObjectSet(nm, OBJPROP_TIME2 , t2);
if(p2>0)ObjectSet(nm, OBJPROP_PRICE2, p2);
elseObjectSet(nm, OBJPROP_ANGLE, an);
ObjectSet(nm, OBJPROP_COLOR, cl);
ObjectSet(nm, OBJPROP_RAY , ry);
ObjectSet(nm, OBJPROP_STYLE, st);
ObjectSet(nm, OBJPROP_WIDTH, wd);
}
Esta función establece el icono del objeto OBJ_ARROW en el gráfico actual.
cd - código de icono. Parámetro obligatorio.
cl - Color del icono. Parámetro obligatorio.
nm - Nombre del objeto. Si se transfiere el valor por defecto - "", se utiliza como nombre la hora de apertura de la barra actual.
t1 - Primera coordenada del tiempo de ajuste del objeto. Valor por defecto - 0 - tiempo de apertura de la barra actual.
p1 - Primera coordenada del objeto que fija el precio. Valor por defecto - 0 - precio de oferta actual.
sz - Tamaño del icono. Valor por defecto - 0.
//+----------------------------------------------------------------------------+//| Автор : Ким Игорь В. aka KimIV, http://www.kimiv.ru |//+----------------------------------------------------------------------------+//| Версия : 12.10.2007 |//| Описание : Установка значка на графике, объекта OBJ_ARROW. |//+----------------------------------------------------------------------------+//| Параметры: |//| cd - код значка |//| cl - цвет значка |//| nm - наименование ("" - время открытия текущего бара) |//| t1 - время открытия бара (0 - текущий бар) |//| p1 - ценовой уровень (0 - Bid) |//| sz - размер значка (0 - по умолчанию) |//+----------------------------------------------------------------------------+voidSetArrow(intcd, colorcl,
stringnm="", datetimet1=0, doublep1=0, intsz=0){if(nm=="")nm=DoubleToStr(Time[0], 0);
if(t1<=0)t1=Time[0];
if(p1<=0)p1=Bid;
if(ObjectFind(nm)<0)ObjectCreate(nm, OBJ_ARROW, 0, 0,0);
ObjectSet(nm, OBJPROP_TIME1 , t1);
ObjectSet(nm, OBJPROP_PRICE1 , p1);
ObjectSet(nm, OBJPROP_ARROWCODE, cd);
ObjectSet(nm, OBJPROP_COLOR , cl);
ObjectSet(nm, OBJPROP_WIDTH , sz);
}
Muchas gracias por lo que haces, ¿te importa si recojo las características de este hilo, y las cuelgo en mi web, en una sección aparte con un enlace al foro, y a tu web
En general, estaría bien tener un "Índice" en la primera página de este post. Una tabla con una lista de funciones, descripciones y enlaces a páginas. O mantener un archivo actualizado en la primera página, y las descripciones se pueden encontrar en las otras páginas.
Así que, si xrust hace su sugerencia, sería bueno repetirla aquí. En aras de la sistematización de lo ganado con esfuerzo :))
xrust писал (а)>> ...¿te importa si recojo las características de este hilo, y las pongo en mi sitio web, en una sección separada con un enlace al foro, y a tu sitio
xrust писал (а)>> Muchas gracias por lo que estás haciendo, te importaría si recojo las funciones de esta rama, y las cuelgo en mi sitio, en una sección aparte con una referencia al foro y a tu sitio
Crear un archivo "inluder" (mqh) (probablemente 2 - "comercio" y "otros"), acordar su nombre y obligar a los "desarrolladores" a incluirlo en la distribución. Para que todos en cada EA no tengan que reinventar la rueda.
Gracias de nuevo, es que me da un poco de pereza, quiero recopilar todo a mano. Otra pregunta, ¿te importaría que usara la misma sintaxis y nombres de variables en mis funciones que tú, para estandarizarlas, por así decirlo.
Los punteros en MQL4 son complicados. No hay ayudas directas. Alguien aquí en el foro intentó hacerlo con arrays, creo. No puedo ser más preciso. Búsquelo usted mismo.
MathRand()
Sólo se puede cambiar la primera dimensión del array mediante programación. La función ArrayResize(). La segunda, la tercera y la cuarta dimensión deben fijarse de forma rígida.Bueno, olvidemos también los punteros y las matrices dinámicas...
Esperando la 5ª versión de la lengua...
Gracias por la ayuda...
Trabajar con una cuadrícula es fácil de implementar.
Lo curioso es que para mi idea una red no era suficiente, y quería hacer un algoritmo para cambiar entre redes, con punteros no es difícil.
Pero no... ...tendremos que codificarla.
La función SetTLineByAngle().
Esta función establece el objeto OBJ_TRENDBYANGLE de la línea de tendencia por el ángulo de la pendiente en el gráfico actual.
Ejemplos de cómo utilizar SetTLineByAngle().
ZY. Se adjunta un script para probar SetTLineByAngle().
La función SetArrow().
Esta función establece el icono del objeto OBJ_ARROW en el gráfico actual.
Ejemplos de cómo utilizar SetArrow().
SZY. Se adjunta un script para probar la función SetArrow().
En general, estaría bien tener un "Índice" en la primera página de este post. Una tabla con una lista de funciones, descripciones y enlaces a páginas. O mantener un archivo actualizado en la primera página, y las descripciones se pueden encontrar en las otras páginas.
Así que, si xrust hace su sugerencia, sería bueno repetirla aquí. En aras de la sistematización de lo ganado con esfuerzo :))
...¿te importa si recojo las características de este hilo, y las pongo en mi sitio web, en una sección separada con un enlace al foro, y a tu sitio
No, no lo haré...
Muchas gracias por lo que estás haciendo, te importaría si recojo las funciones de esta rama, y las cuelgo en mi sitio, en una sección aparte con una referencia al foro y a tu sitio
Crear un archivo "inluder" (mqh) (probablemente 2 - "comercio" y "otros"), acordar su nombre y obligar a los "desarrolladores" a incluirlo en la distribución. Para que todos en cada EA no tengan que reinventar la rueda.
:)