Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. En ninguna parte sin ti - 6. - página 569
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
Y aquí está la solución propuesta:
Hola, tengo una pequeña pregunta mientras estudio MQL4. El problema se encuentra en el tutorial de este sitio. Esta es la condición: Problema 25. Cree un programa, en el que se realicen las siguientes condiciones: si la tasa supera el nivel especificado, emitirá un mensaje, en el que las palabras indicarán que la tasa supera el nivel (hasta 100 puntos); en otros casos, el mensaje informará de que la tasa no supera el nivel especificado.
Y aquí está la solución propuesta:
Muestra posibles soluciones. Útil para la formación.
Hay otras opciones. Hay otros errores.
Confía más en ti mismo. Experimento.
Hola! Al estudiar MQL4, tengo una pequeña pregunta. La tarea se encuentra en el tutorial de este sitio. Esta es la condición: Problema 25. Cree un programa que realice las siguientes condiciones: si la tasa supera el nivel especificado, emitirá un mensaje diciendo que la tasa supera el nivel (hasta 100 puntos); en los demás casos, el mensaje diciendo que la tasa no supera el nivel especificado.
Y aquí está la solución propuesta:
P.D.
En concreto, la utilidad de este ejemplo para tratar un array,
la posible representación de los datos en palabras,
el uso de la función NormalizeDouble y la variable Point predefinida.
Posibilidad de elegir una afición más fácil.
Aparentemente, no hay forma de declarar directamente variables externas en la clase. Entonces, ¿cuáles son las opciones? Si no quiero declarar en el propio Asesor Experto o en otro lugar estas variables externas específicas, que son necesarias sólo cuando se utiliza esta clase. Creo que la única opción es hacer un inluder, que declare estas variables externas. Y entonces la clase debería estar incluida en ella, ¿no?
Entonces, para llamar a la clase, es necesario incluir la propia clase. ¿Es así? ¿O puede haber otras variantes?
Simplemente no me parece bien. Un montón de archivos de inclusión anidados para crear... Por eso tengo esa pregunta.
¿O sigue siendo posible, como en una biblioteca habitual, declarar las variables externas e importar las bibliotecas necesarias antes de declarar la clase? Me refiero a algo así:
Nunca he visto eso antes. Así que me pregunto si estoy yendo en la dirección correcta...Los envía como variables globales a la pantalla del terminal a través de Comment. No había ceros, sólo números negativos. Entonces cambié
Al transferir el código del indicador al Asesor Experto, se produce un error. División a cero en la parte del código
...
Las salidas con variables globales a la pantalla del terminal a través de Comment. No había ceros, sólo números negativos. Entonces cambié
...
a .
...
todo cayó en su lugar, lo puso en su sitio. No hay ningún error. ¿Cuál fue la causa? Apagué un poco más el internet.También obtuve el error "dividir por cero" donde no se pudo pasar el cero en el denominador de la fracción. Ahora, antes de dividir, hago una comprobación formal como:
Y el error desapareció. Es decir, se debe indicar al compilador qué hacer si el denominador=0 aunque el programador esté 100% seguro de que no hay ningún 0 allí.
Hola, ¿puede ayudarme con el código? Necesito que el EA haga lo elemental - abrir posiciones al acercarse a la línea vertical (es decir, estrictamente el tiempo, no el precio), a saber, para un intervalo de shi especificado, que tengo aquí 120 es decir, como entiendo - 2 minutos. El color de la línea debería determinar si es de compra o de venta. Busqué en Internet y lo reescribí y obtuve lo siguiente:
void OnTick()
{
int AllObject = ObjectsTotal();
for ( int i = 0; i < AllObject; i++)
{
string NameObj = ObjectName(i);
Colorrr = ObjectGet(NameObj, OBJPROP_COLOR);
Vremyaaa = (ObjectGet(NameObj, OBJPROP_TIME) - shi);
if(Vremyaaa == TimeLocal())
break;
}
int kolpos = 0;
if((Colorrr == Green)||(Colorrr == Aqua)){operacia = "OP_BUY";}
if((Colorrr == Red)||(Colorrr == Purple)){operacia = "OP_SELL";}
for (int pos = 0; pos < OrdersTotal(); pos++)
{
if(OrderSelect(pos, SELECT_BY_POS, MODE_TRADES) == true)
{
if(OrderSymbol() == Symbol() && OrderMagicNumber() == Magic)
{
kolpos++;
}
}
}
if(kolpos == 0)
{
if (iTime(NULL,0,1) == Vremyaaa)
{
int ticket = OrderSend(Symbol(), operacia, Lot, Bid, 10, 0, 0, "5", Magic, 0, col);
}
}
}
Hola, ¿puede ayudarme con el código? Necesito que el EA haga lo elemental - abrir posiciones al acercarse a la línea vertical (es decir, estrictamente el tiempo, no el precio), a saber, para un intervalo de shi especificado, que tengo aquí 120 es decir, como entiendo - 2 minutos. El color de la línea debería determinar si es de compra o de venta. Busqué en Internet y lo reescribí:
void OnTick()
{
int AllObject = ObjectsTotal();
for ( int i = 0; i < AllObject; i++)
{
string NameObj = ObjectName(i);
Colorrr = ObjectGet(NameObj, OBJPROP_COLOR);
Vremyaaa = (ObjectGet(NameObj, OBJPROP_TIME) - shi);
if(Vremyaaa == TimeLocal())
break;
}
int kolpos = 0;
if((Colorrr == Green)||(Colorrr == Aqua)){operacia = "OP_BUY";}
if((Colorrr == Red)||(Colorrr == Purple)){operacia = "OP_SELL";}
for (int pos = 0; pos < OrdersTotal(); pos++)
{
if(OrderSelect(pos, SELECT_BY_POS, MODE_TRADES) == true)
{
if(OrderSymbol() == Symbol() && OrderMagicNumber() == Magic)
{
kolpos++;
}
}
}
if(kolpos == 0)
{
if (iTime(NULL,0,1) == Vremyaaa)
{
int ticket = OrderSend(Symbol(), operacia, Lot, Bid, 10, 0, 0, "5", Magic, 0, col);
}
}
}
Si su hora coincide con la de la terminal, puede utilizar TimeLocal(), pero TimeCurrent() es más fiable .
Cambiar el tipo de variable de operacia a int y eliminar las comillas OP_BUY y OP_SELL
Si tiene la misma hora que la del terminal, puede utilizar TimeLocal(), pero TimeCurrent() es más fiable .
Cambiar el tipo de variable de operacia a int y eliminar las comillas OP_BUY y OP_SELL
Gracias. Sobre TimeCurrent es cierto, mi hora no coincide con la del servidor. Lo he arreglado, pero sigue sin funcionar... No escribe ningún error en el registro.
P.D. En mi post anterior, el código sin espacios fue insertado de alguna manera. Pero creo que he puesto todas las llaves correctamente.
MT4 - 625, mensaje del probador al intentar probar los búhos con la biblioteca:
2014.03.29 18:38:48.753 'C:\N-Archivos de programaAdmiral1\MQL4\Libraries\ingLib094.mq4' no es una versión de 32 bits
Antes de que ese búho compilara sin problemas, y la biblioteca tampoco tenía una sola palabra. De hecho, no lo entiendo en absoluto.
Mi sistema (me refiero a Windows) es de 32 bits, nunca he tenido otro. Séptima.
La biblioteca es mi nativa, todo el camino con ella. Va bien en tiempo real en la nueva construcción. Incluso con otros búhos. Y en tester en versiones anteriores sin problemas.
Pero no quiere abrirse en el probador, y la razón se la chupan hasta los dedos.
Y no hay ni una palabra sobre los casos de 32 bits en todos los manuales.