Mira cómo descargar robots gratis
¡Búscanos en Telegram!
Pon "Me gusta" y sigue las noticias
¿Es interesante este script?
Deje un enlace a él, ¡qué los demás también lo valoren!
¿Le ha gustado el script?
Evalúe su trabajo en el terminal MetaTrader 5
Visualizaciones:
38
Ranking:
(2)
Publicado:
Actualizado:
Modify_Orders.mq5 (65.76 KB) ver
Modify_Orders.mqh (59.57 KB) ver
MQL5 Freelance ¿Necesita un robot o indicador basado en este código? Solicítelo en la bolsa freelance Pasar a la bolsa


Modify_Orders.mqh está destinado a la gestión de posiciones y órdenes en MetaTrader 5

Propósito

Modificar_Órdenes.mqh proporciona dos potentes funciones para la gestión de posiciones abiertas y órdenes pendientes en Asesores Expertos e indicadores en la plataforma MetaTrader 5. Está diseñado para automatizar las operaciones de rutina para modificar Stop Loss, Take Profit niveles y precios de las órdenes.

Características principales:

  • Modificación de Stop Loss y Take Profit para posiciones abiertas

  • Modificación de preciosde órdenes pendientes

  • Filtrado flexible por tipos de posición, rentabilidad y símbolos

  • Soporte para diferentes modos de cálculo del valor (en pips o precios absolutos).

Estructura

Función Modify_Position()

Diseñada para modificar los niveles de Stop Loss y Take Profit de las posiciones abiertas.

void Modify_Position(
   string tp_and_sl,      // "SL" o "TP" - lo que cambiamos.
   string price_and_value, // "Valor" o "Precio" - tipo de valor
   string type_position,   // Filtrar por tipo de posición
   double price_tp_and_sl, // Valor a fijar
   string symb,           // Símbolo del instrumento de negociación
   long   magicNumber     // Experto en números mágicos.
);

Parámetros del filtrado de posiciones:


Parámetro tipo_posición Descripción
"Todas Todas las posiciones
"All Profit" Sólo posiciones rentables
"Todas las pérdidas Sólo posiciones perdedoras
"Comprar" Sólo comprar posiciones
"Comprar ganancias" Sólo posiciones de compra rentables
"Buy Loss Sólo posiciones de compra perdedoras
"Vender Sólo posiciones de venta
"Sell Profit Sólo posiciones de venta rentables
"Vender pérdida Sólo posiciones de venta perdedoras


Ejemplos de uso:

// Fijar SL en 1000 puntos para todas las posiciones
Modify_Position("SL", "Value", "All", 1000, _Symbol, 0);

// Fijar TP en 1.2345 para posiciones de Compra rentables
Modify_Position("TP", "Price", "Buy Profit", 1.2345, _Symbol, 12345);

// Fijar SL a 500 puntos para posiciones de Venta no rentables
Modify_Position("SL", "Value", "Sell Loss", 500, "EURUSD", 98765);

Función Modify_Order()

Diseñada para modificar órdenes pendientes (órdenes Stop y Límite).

void Modify_Order(
   string tp_sl_price,     // "Precio", "SL" o "TP".
   string type_order,      // Tipo de orden para filtrar
   double price_tp_sl_price, // Un nuevo significado.
   string symb,            // Símbolo del instrumento de negociación
   long   magicNumber      // Experto en números mágicos.
);


Tipos de órdenes soportadas:

  • "Buy Stop" - orden pendiente Buy Stop

  • " Buy Limit" - orden pendiente Buy Limit.

  • "Sell Stop" - orden pendiente Sell Stop.

  • "Sell Limit" - orden pendiente Sell Limit.


Ejemplos de uso:

// Cambiar el precio de la orden Buy Stop
Modify_Order("Price", "Buy Stop", 1.2345, _Symbol, 0);

// Establecer Stop Loss para orden Limitada de Venta
Modify_Order("SL", "Sell Limit", 1.2350, "GBPUSD", 12345);

// Cambiar el Take Profit para la orden Buy Limit
Modify_Order("TP", "Buy Limit", 1.2300, "EURUSD", 98765);

Principio de funcionamiento

Algoritmo Modify_Position:

  1. Búsqueda de todas las posiciones abiertas en orden inverso

  2. Filtrado de posiciones por símbolo y Magic Number

  3. Comprobación de condiciones adicionales ( tipo de posición, rentabilidad)

  4. Cálculo de nuevos valores SL/TP :

    • Para el modo "Valor" : Precio ± (Valor × Punto)

    • Para el modo "Precio" : asignación directa del valor

  5. Envío de la orden de modificación mediante OrderSend()


Algoritmo Modify_Order:

  1. Enumera todas las órdenes pendientes

  2. Filtrado por símbolo, Magic Number y tipo de orden

  3. Modificación del parámetro especificado ( precio, SL o TP)

  4. Guardado de los parámetros no modificados

  5. Envío de la orden de modificación


Características de la aplicación

Seguridad y fiabilidad:

  1. Doble comprobación de los tipos de órdenes - por parámetro de cadena y tipo real del sistema

  2. Filtrado complejo - garantiza que sólo se vean afectadas las posiciones/órdenes de destino

  3. Conservación de los parámetros no modificados - cuando se modifica SL, se conserva TP y viceversa


Cálculos matemáticos:

Paraposiciones de Compra:

  • Stop Loss: Precio actual - (Valor × Punto)

  • Take Profit: Precio actual + (Valor × Punto)

Paraposiciones de Venta:

  • Stop Loss: Precio actual + (Valor × Punto)

  • Toma de beneficios: precio actual - (valor × punto)


Recomendaciones de uso

Para expertos en trading:

#include <Modify_Order.mqh>

// En función OnTick() o por condición:
if(Условие_для_трейлинга)
{
    // Tirar SL al precio cuando se mueve en la dirección deseada
    Modify_Position("SL", "Value", "All Profit", 500, _Symbol, ExpertMagic);
}

Para scripts manuales:

// Script para SL rápido en todas las posiciones
void OnStart()
{
    Modify_Position("SL", "Value", "All", 1000, _Symbol, 0);
}

Parámetros óptimos:

  • Marco temporal: cualquiera (las funciones son independientes del marco temporal)

  • Instrumentos: cualquier par de divisas, metales, índices.

  • Número mágico: se recomienda utilizar valores únicos para cada Asesor Experto.

Ventajas de la Biblioteca

  1. Versatilidad - funciona con cualquier instrumento de negociación

  2. Flexibilidad - 18 modos diferentes de filtrado de posiciones

  3. Facilidad de uso - interfaz intuitiva

  4. Fiabilidad - comprobaciones exhaustivas antes de la modificación

  5. Eficacia: gasto mínimo de recursos informáticos

Traducción del ruso realizada por MetaQuotes Ltd
Artículo original: https://www.mql5.com/ru/code/68540

nPosiciones de pérdidas y ganancias nPosiciones de pérdidas y ganancias

Calculadora de pérdidas y ganancias de posiciones (órdenes abiertas)

nCerrar órdenes nCerrar órdenes

Función para cerrar posiciones y borrar órdenes

Sideways Martingale Sideways Martingale

Martingala detector de tendencias uso onnx AI

VR Breakdown level - Estrategia de trading basada en la ruptura del máximo o mínimo anterior VR Breakdown level - Estrategia de trading basada en la ruptura del máximo o mínimo anterior

Estrategia de trading basada en la simple ruptura de los niveles anteriores de máximo (High) o mínimo (Low)