[¡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 885
![MQL5 - Lenguaje de estrategias comerciales para el terminal de cliente MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
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
Nadie ha sido capaz de darme una respuesta... ¿Alguien tiene una pista?
Tal vez necesite comprobar los tipos PARASTEP y PARAMAX y sus valores.
¿Es esta la única opción?
1) escribir en un archivo
2) busque la orden requerida y lea el billete
Inesperadamente se encontró el siguiente problema:
Escribí un EA, una de cuyas funciones es abrir órdenes pendientes. Pero antes de abrir otra orden pendiente, el programa sondea las órdenes ya colocadas (precio) y abre una nueva sólo si no hay una orden ya colocada con el mismo precio. Estoy trabajando en el EURUSD.
for (Price=Max_Price-Step*Point; Price>Ask+10*Point; Price=Price-Step*Point) // pasar del precio máximo al actual
{
int N=0; /contador de pedidos
for (int i=1; i<=OrdersTotal(); i++) //retrocede por las órdenes
{
if(OrderSelect(i-1,SELECT_BY_POS)==true) //selecciona la orden
{ //analiza la orden abierta
if (Price==OrderOpenPrice()) //si el precio es el mismo
{
N=N+1;
}
} //seleccionar la siguiente orden abierta
}
if(N==0) //si no se encuentra ninguna orden con el mismo precio
{ //abrir orden
Alert("New BUYSTOP ", Price);
int Ticket=OrderSend(Symb, OP_BUYSTOP, Lot, Price, 0, 0, Price+TP*Point);
if (GetLastError()>0)
Alert("Error ", GetLastError());
}
} //Contratar con el mercado
Todo va bien hasta que el máximo es 1,3980, pero en cuanto pongo 1,4000 el programa deja de ver órdenes con el mismo precio (el contador N permanece nulo) y genera las mismas órdenes.
Es interesante que si fijamos el precio máximo 1,5000, entonces hasta 1,4000 todo es normal y a partir de 1,3980 comienza la duplicación de órdenes con el mismo precio
QUÉ PUEDE SER????????
Y la situación se repite en la plataforma de otro centro de negociación
Estoy ejecutando en el probador, no puedo entender por qué puede aparecer este error: OrderModify error 1 (No hay error, pero el resultado es desconocido).
Utilizo la función de arrastre, no hay nada más, compruebo tanto el nivel de tope mínimo como el tamaño del punto y todo lo que se requiere, el error no siempre aparece.
¿Es un error grosero o es tolerable que se ejecute en la cuenta real?
Lo he probado en el probador, no sé dónde puede causar ese error: OrderModify error 1 (No hay error, pero el resultado es desconocido).
Utilizo la función de arrastre, no hay nada más, compruebo el nivel de parada mínima y el tamaño del punto y todo lo que se requiere, el error no siempre aparece.
He probado en el probador, no puedo entender qué tipo de error es.
https://docs.mql4.com/ru/trading/OrderModify dice aquí sobre este error
Esta es la función :
double ObFindObjectsByPrefix(string Prefix)
{
string OBJECT_PREFIX="NIVELES";
double price_max;
int L = StringLen(Prefix);
int i = 0;
int time_min=TimeCurrent();
while(i < ObjectsTotal()-1)
{
string ObjName = ObjectName(i);
if(StringSubstr(ObjName, 0, L) != Prefix)
{
i++;
continue;
}
double price=ObjectGet(ObjName,OBJPROP_PRICE1);
if (MathAbs(price-Bid)/Point<m)
{
int time1=ObjectGet(ObjName,OBJPROP_TIME1);
if (time1<time_min)
{
time_min=time1; price_max=price;
}
}
}
return(price);
}
¿qué le pasa, por qué no funciona?
busca el segmento más largo con un prefijo y devuelve el valor del precio.
Gente, ¿dónde debo escribir para que MT5 haga una traducción decente al alemán? Es una pena... Se rompe para "salvar" (guardar) archivos en formato CSV, para seleccionar sonidos para diferentes "eventos" (acontecimientos) y para terminar los programas haciendo clic en "Salir" (desde el edificio, no desde el programa)
Es posible que tenga que comprobar los tipos PARASTEP y PARAMAX y sus valores.
Gente, ¿dónde debo escribir para que MT5 haga una traducción decente al alemán? Es una pena... Se está rompiendo para "salvar" (guardar) archivos en formato CSV, para elegir sonidos para diferentes "eventos" (acontecimientos) y para terminar los programas pulsando "Exit" (desde el edificio, no desde el programa)
Si no puedes escribir en el foro de mql5.com, sólo hay una salida: escribir a la ONU.
PS. Ya estamos arreglando la interfaz alemana en el foro de mql5.com. Gracias por el mensaje.