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
Ilan 2.0
Ilan 2.0
Hola, es posible.
Buenas tardes. Opero con órdenes pendientes (sellstops, bystops). Quiero pedir que se escriba una parte del código en la que se cumpla la condición: se eliminan todas las órdenes pendientes que estén a una distancia (x) del precio actual. Es decir, un "pequeño conjunto" de órdenes pendientes "seguirá" constantemente el precio actual.
Por supuesto, esta idea puede implementarse de alguna otra manera, por ejemplo, para controlar la cantidad de paradas de venta y compra y al mismo tiempo rastrearlas para que las más largas se acerquen al precio actual.
Me parece que es lo mismo, pero me gusta la primera variante. Para el primer caso, la distancia x debe ser variable en la condición.
Entiendo que esto no es mucho código. He tratado de entender qué y cómo se debe describir, he mirado y estudiado EAs similares, pero no tengo suficiente cerebro para eso.
Gracias.
Hola,@Andrey Kuharev.
¿Busca una MT5 o una MT4?
Hola,@Andrey Kuharev.
¿Busca una MT5 o una MT4?
He vuelto a leer tu descripción y me he dado cuenta de que probablemente no entiendo exactamente lo que hay que hacer. Parece que necesitas lo siguiente:
Corríjanme si me equivoco.
He vuelto a leer su descripción y me he dado cuenta de que probablemente no entiendo exactamente lo que hay que hacer. Parece que necesitas lo siguiente:
Corríjanme si me equivoco.
Si veo una orden diferente, entonces hay que colocarla de nuevo, exactamente igual que si veo una orden diferente con una línea de beneficio/pérdida diferente. Lo haré yo mismo, para no distraer a la gente inteligente con mis tonterías. Para una mejor comprensión, aquí está el código de "Expert Advisor" en el que quiero insertar la función de borrado. En mi EA, marqué el parámetro X como externo double v_util = 50; // distancia del precio actual a una orden pendiente de eliminar
//+------------------------------------------------------------------+
//|Pedidos pendientes.mq4 |
//| Copyright 2022, MetaQuotes Software Corp. |
//| https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2022, MetaQuotes Software Corp."
#property link"https://www.mql5.com"
#property version "1.00"
#property strict
//------- Parámetros externos de EA -----------------------------------------+
extern double delitel_Equity_lots = 1400000; // Divisor para determinar el lote de trabajo.
extern double schag = 2; // paso de apertura de la orden pendiente desde el precio actual
extern double v_util = 50;// distancia del precio actual a las órdenes pendientes eliminadas
extern int StopLoss = 10000;
extern int TakeProfit = 5;
extern int MagicBuy = 1111111; // MagicNumber para órdenes de COMPRA
extern int MagicSell = 2222222; // Número mágico para órdenes de VENTA
//+------------------------------------------------------------------+
void OnTick()
{double Lots = NormalizeDouble(AccountBalance()/delitel_Equity_lots, 2); // Volumen de la posición.
OrderSend(Symbol(),OP_BUYSTOP,Lots,NormalizeDouble(Ask+schag*_Point,_Digits) ,0,NormalizeDouble(Ask-(StopLoss-schag)*_Point,_Digits),
NormalizeDouble(Ask+(TakeProfit+schag)*_Point,_Digits),MagicBuy); // Abrir BuyStop
Print (GetLastError()); // Mensaje de error
OrderSend(Symbol(),OP_SELLSTOP,Lots,NormalizeDouble(Bid-schag*_Point,_Digits),0,NormalizeDouble(Bid+(StopLoss-schag)*_Point,_Digits),
NormalizeDouble(Bid-(TakeProfit+schag)*_Point,_Digits),MagicSell;)// Abrir SellStop
Print (GetLastError()); // Mensaje de error
}
//+------------------------------------------------------------------+
Todo es sencillo, sin complejidades. Entiendo que hay que pagar por todo tipo de artilugios, nadie va a inventar superestrategias y supercódigos gratis. Quiero probar el trabajo en esta dirección por ahora y pedir hacer una simple remoción, nada más ... la única cosa es, si no es demasiado largo y no es demasiado difícil, se podría añadir un parámetro - la distancia entre el tapón, entonces sería perfecto. Pero entiendo que todo este trabajo y el tiempo ... así que al menos la eliminación. Gracias.
Esto es lo que tenemos. Espero que esto ayude a probar el funcionamiento.
Por favor, aconsejar, y más 10 aquí:
double minOpenPriceBuy = 1e+10;
double maxOpenPriceBuy = 0;
double minOpenPriceSell = 1e+10;
double maxOpenPriceSell = 0;
, esto es diez que extern int delta = 10;
No, es una forma diferente de escribir el número 10000000000, así que no tienes que escribirlo así
...