John Jairo:
Podrá encargarlo en: https://www.mql5.com/es/job
Podrá comprarlo en: https://www.mql5.com/es/market
Y buscarlo, en lugar de preguntar en:
MT4 - https://www.mql5.com/es/code/14582 (Codebase)
MT5 - https://www.mql5.com/en/forum/324732 (Foro)
//+------------------------------------------------------------------+ //| Percentage Drawdown.mq5 | //| Copyright © 2019, Vladimir Karputov | //| http://wmua.ru/slesar/ | //+------------------------------------------------------------------+ #property copyright "Copyright © 2019, Vladimir Karputov" #property link "http://wmua.ru/slesar/" #property version "1.000" //--- #include <Trade\PositionInfo.mqh> #include <Trade\Trade.mqh> //--- CPositionInfo m_position; // object of CPositionInfo class CTrade m_trade; // object of CTrade class //--- input parameters input double InpDrawdown = -1; // drawdown (in %) //+------------------------------------------------------------------+ //| Expert initialization function | //+------------------------------------------------------------------+ int OnInit() { //--- m_trade.SetExpertMagicNumber(456); m_trade.SetMarginMode(); m_trade.SetTypeFillingBySymbol(Symbol()); m_trade.SetDeviationInPoints(10); //--- return(INIT_SUCCEEDED); } //+------------------------------------------------------------------+ //| Expert deinitialization function | //+------------------------------------------------------------------+ void OnDeinit(const int reason) { //--- } //+------------------------------------------------------------------+ //| Expert tick function | //+------------------------------------------------------------------+ void OnTick() { for(int i=PositionsTotal()-1; i>=0; i--) // returns the number of current positions if(m_position.SelectByIndex(i)) // selects the position by index for further access to its properties { double price_current = m_position.PriceCurrent(); double price_open = m_position.PriceOpen(); if(m_position.PositionType()==POSITION_TYPE_BUY) { if(price_open>price_current) { /* price_open | price_current price_open -> 100% price_open-price_current -> x% */ if(((price_open-price_current)*100.0/price_open)<=InpDrawdown) m_trade.PositionClose(m_position.Ticket()); } } else { if(price_open<price_current) { /* price_current | price_open price_open -> 100% price_current-price_open -> x% */ if(((price_current-price_open)*100.0/price_open)<=InpDrawdown) m_trade.PositionClose(m_position.Ticket()); } } } //--- } //+------------------------------------------------------------------+
No he comprobado que ninguno de los dos códigos funcione, pero al menos tienes un punto de referencia
Close all orders once the drawdown reaches a specific percentage
- www.mql5.com
This code has some functions to close all opened orders once the drawdown reaches a specific percentage of the account balance.
Archivos adjuntos:
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
Hola a todos!
Quisiera saber si existe un EA que cierre automáticamente todas las operaciones abiertas al momento de llegar a un drawdown establecido.
Manejo cuentas fondeadas y allí existe el límite de 5% diario como máximo de pérdida. Así que quisiera encontrar un EA para que al momento de llegar,
por ejemplo, al 4% de drawdown, se cierren todas las operaciones.
Gracias de antemano.