Por favor, ayúdame a escribir el código para cerrar las órdenes mínimas y máximas en un EA de rejilla cuando se alcanza un determinado nivel de reducción
He escrito dos funciones para calcular el beneficio de las órdenes máximas y mínimas
Tengo una función que calcula el importe de estos pedidos. Parece que no hay ningún problema.
La pregunta es cómo cerrar sólo estas dos órdenes He encontrado la función ClosseAll().
La pregunta es cómo cambiar la función OrderTicket() que cierra todos los pedidos
adjuntar las variables max_ticket y min_ticket que determinan los tickets de los pedidos mínimos y máximos en la parrilla
¿O tiene USTED la solución a este problema?
void ClosseAll()
{
int slip = MarketInfo(_Symbol,MODE_SPREAD)*2;
for(int i = OrdersTotal()-1; i>=0; i--)
{
if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
{
if (OrderClose(max_ticket , OrderLots(), Bid, slip)&&OrderClose(min_ticket , OrderLots(), Bid, slip))
Print("OK");
elsePrint("Не удалось закрыть ордер! ",GetLastError());
}
}
}
Lo siento, lo he vuelto a escribir mal. Déjame intentarlo de nuevo)
Hay una parrilla de órdenes abiertas. Necesito encontrar el precio de apertura (OrderOpenPrice) de la orden más cercana al precio actual. Para seguir construyendo la red, pero mis órdenes se construyen casi caóticamente.
Entiendo cómo se escribe el rebasamiento, pero soy incapaz de expresarlo correctamente en el idioma (soy como un perro, lo entiendo todo)).
Si tienes ejemplos o enlaces a ejemplos, publícalos, por favor. MQL4
en un bucle:
if (MathAbs(OrderOpenPrice()-Bid)<previous_value)
{
previous_value=MathAbs(OrderOpenPrice()-Bid);
nearest_order=OrderTicket();
}
antes del bucle inicializar previous_value=DBL_MAX a nearest_order=0
Por cierto, ¿en qué se diferencia, aparte de que se llama implícitamente cuando se crea el objeto?
y además cuando se llama en el constructor no se asigna memoria todavía, no compila:
class A
{
public:
int val;
A() {}
};
//+------------------------------------------------------------------ +class B
{
public:
A a;
B():a(),a.val(10) {} //
};
pero en el cuerpo del constructor, no hay problema:
class A
{
public:
int val;
A() {}
};
//+------------------------------------------------------------------ +class B
{
public:
A a;
B():a() {a.val=10;}
};
sobre los constructores de la clase base - pueden ser llamados explícitamente:
class A
{
public:
int val;
A(constint v): val(v) {}
A() {}
};
//+------------------------------------------------------------------ +class B: public A
{
public:
B(): A(100) {}
};
¿Cómo es mejor crear un objeto de clase: después de la descripción de la clase o localmente, por ejemplo en OnTick()? La segunda opción probablemente no sea muy económica: la carga de la CPU y la RAM.
Para iniciar sesión y usar el sitio web MQL5.com es necesario permitir el uso de Сookies.
Por favor, active este ajuste en su navegador, de lo contrario, no podrá iniciar sesión.
Ha iniciado sesión. La autenticación de dos factores se ha desactivado. Vuelva a configurarla y escanee un nuevo código QR, o continúe con la autenticación de dos factores desactivada.
¡¡¡Buenos días!!!
Por favor, ayúdame a escribir el código para cerrar las órdenes mínimas y máximas en un EA de rejilla cuando se alcanza un determinado nivel de reducción
He escrito dos funciones para calcular el beneficio de las órdenes máximas y mínimas
Tengo una función que calcula el importe de estos pedidos. Parece que no hay ningún problema.
La pregunta es cómo cerrar sólo estas dos órdenes He encontrado la función ClosseAll().
La pregunta es cómo cambiar la función OrderTicket() que cierra todos los pedidos
adjuntar las variables max_ticket y min_ticket que determinan los tickets de los pedidos mínimos y máximos en la parrilla
¿O tiene USTED la solución a este problema?
y arreglarlo.
Lo siento, lo he vuelto a escribir mal. Déjame intentarlo de nuevo)
Hay una parrilla de órdenes abiertas. Necesito encontrar el precio de apertura (OrderOpenPrice) de la orden más cercana al precio actual. Para seguir construyendo la red, pero mis órdenes se construyen casi caóticamente.
Entiendo cómo se escribe el rebasamiento, pero soy incapaz de expresarlo correctamente en el idioma (soy como un perro, lo entiendo todo)).
Si tienes ejemplos o enlaces a ejemplos, publícalos, por favor. MQL4
en un bucle:
antes del bucle inicializar previous_value=DBL_MAX a nearest_order=0
Por cierto, ¿en qué se diferencia, aparte de que se llama implícitamente cuando se crea el objeto?
y además cuando se llama en el constructor no se asigna memoria todavía, no compila:
pero en el cuerpo del constructor, no hay problema:
sobre los constructores de la clase base - pueden ser llamados explícitamente:
Arregla eso también.
Sobre el deslizamiento que ya tengo al principio del consejero
y arreglar eso.
arreglar esto
Sólo se cierran las órdenes máximas según los resultados de cierre
en el bucle:
inicializar previous_value=DBL_MAX a nearest_order=0 antes del bucle
y corregir esto
y arreglar eso.
Para los errores en el registro
Sobre el deslizamiento que ya tengo al principio del EA
Este deslizamiento es exactamente para esta función... para que no tenga que pasar por COMPRA o VENTA
Este deslizamiento es sólo para esta función... para que no tenga que pasar por COMPRA o VENTA
Aquí no es necesario multiplicar por un punto
posible pérdida de datos debido a la conversión de tipo NEVALASHKA.mq4 376 13
Recibo una advertencia en tiempo de compilación
No es necesario multiplicar por un punto
posible pérdida de datos debido a la conversión de tipo NEVALASHKA.mq4 376 13
Recibo una advertencia en tiempo de compilación
No multiplicar MODE_SPREAD - Spread en pips
puede comprobar
y hacer así