Pon "Me gusta" y sigue las noticias
Deje un enlace a él, ¡qué los demás también lo valoren!
Evalúe su trabajo en el terminal MetaTrader 5
- Visualizaciones:
- 212
- Ranking:
- Publicado:
- Actualizado:
-
¿Necesita un robot o indicador basado en este código? Solicítelo en la bolsa freelance Pasar a la bolsa
La función CalcularLote está diseñada para calcular automáticamente el tamaño del lote de negociación basándose en los principios de gestión del riesgo. Permite al operador especificar el porcentaje del saldo de la cuenta que está dispuesto a arriesgar en una operación y determinar el volumen de posición óptimo en función de ello.
Sintaxis
double CalculateLot(double riskPercent, double stopLossPips);
Parámetros
Параметр Тип Описание riskPercent double Процент от текущего баланса счета, которым трейдер готов рискнуть. Указывается в абсолютном значении (например, 2.0 = 2% от баланса). stopLossPips double Расстояние до уровня Stop Loss в пунктах. Для 5-значных котировок указывается количество стандартных пунктов (например, 1000 = 1000 пунктов = 100 пипсов).
Valor de retorno
La función devuelve el volumen de lote normalizado ( doble ), que:
-
Se ajusta a las reglas de redondeo al paso de volumen ( VOLUME_STEP );
-
No supera el volumen máximo permitido ( VOLUME_MAX );
-
No sea inferior al volumen mínimo permitido ( VOLUME_MIN ).
Si el valor calculado supera los límites permitidos, la función devuelve un valor limitado (minLot o maxLot).
Algoritmo de funcionamiento
-
Obtención de los parámetros de cuenta y símbolo
-
Saldo actual ( ACCOUNT_BALANCE )
-
Valor del tick ( SYMBOL_TRADE_TICK_VALUE )
-
Mínimo, máximo y paso de cambio de lote
-
-
Cálculo del importe del riesgo en la divisa del depósito
riskAmount = баланс × (риск% / 100) -
Cálculo del volumen del lote
lotSize = riskAmount / (stopLossPips × tickValue)
-
Normalización y validación
-
Redondeo al paso más próximo ( VOLUME_STEP )
-
Validación del valor mínimo y máximo
-
Ejemplos de utilización
Ejemplo 1 Uso básico en un Asesor Experto
//+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ void OnTick() { //--- Riesgo 1.5% del balance y stop loss 500 pips double lot = CalculateLot(1.5, 500); //--- Compruebe que el lote se calcula correctamente if(lot > 0.0) { //--- Obtener precios actuales double ask = SymbolInfoDouble(_Symbol, SYMBOL_ASK); //--- Calcular niveles double sl = ask - 500 * _Point; double tp = ask + 1500 * _Point; //--- Abrir una posición trade.Buy(lot, _Symbol, ask, sl, tp); } }
Ejemplo 2. Uso en un script con comprobación de errores
//+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ void OnStart() { double riskPercent = 2.0; // Riesgo 2% del saldo double stopLossPips = 1000; // Stop loss 1000 puntos double lot = CalculateLot(riskPercent, stopLossPips); //--- Información de salida sobre el cálculo Print("=== Resultados del cálculo del lote ==="); Print("Saldo de cuenta: ", AccountInfoDouble(ACCOUNT_BALANCE)); Print("Riesgo, %: ", riskPercent); Print("Importe del riesgo: ", AccountInfoDouble(ACCOUNT_BALANCE) * riskPercent / 100.0); Print("Stop loss, puntos: ", stopLossPips); Print("Coste del tictac:", SymbolInfoDouble(_Symbol, SYMBOL_TRADE_TICK_VALUE)); Print("Lote calculado: ", lot); Print("================================"); if(lot <= 0.0) { Alert("Error: Falló el cálculo del lote. Compruebe los parámetros de riesgo y stop loss".); } }
Traducción del ruso realizada por MetaQuotes Ltd
Artículo original: https://www.mql5.com/ru/code/71010
ZigZag Support and Resistance Detection
ZigZag SNR Detection identifica los niveles de soporte y resistencia mediante puntos pivote ZigZag.
To Close All Open Trades of Different Symbols
Detalles Técnicos Utiliza el OrderSend de MQL5 con TRADE_ACTION_DEAL para el cierre instantáneo del mercado a los precios Bid/Ask actuales. Incluye tolerancia al deslizamiento (10 puntos), coincidencia de volumen adecuada y preservación del número mágico. Bucles hacia atrás a través de las posiciones para evitar el cambio de índice durante la ejecución.
ICT True Open and Power of 3 (PO3) Lines
Una utilidad ligera y esencial para los operadores de TIC y SMC. Traza automáticamente los precios de apertura diarios, semanales y mensuales reales, sirviendo de base para el concepto Power of 3 (Acumulación, Manipulación, Distribución).
SMC Liquidity Sweep and Rejection Detector
Indicador de alta precisión diseñado para detectar barridos de liquidez institucional (stop hunts). Identifica el rechazo de precios más allá de los niveles de oscilación recientes, marcando zonas potenciales de reversión de alta probabilidad sin indicadores rezagados.
