Sí… el primer producto de pago después de muchos años de compromiso de código abierto… y inspirar a los desarrolladores para crear productos de alta calidad para cTrader.
Primero que nada, gracias a todos que descargaron mis creaciones a través de la tienda cTrader,
demostró el gran apoyo al autor original y me hizo querer refinarlos aún más.
Sabes, un desarrollador/operador genuino siempre es una fuente de innovación.
Y ahora... ¡es hora de automatizar!
Permíteme presentarte => El Gestor de Posiciones
- La gestión todo en uno de operaciones para operadores y desarrolladores
Para operadores => Protege ganancias, Limita pérdidas y Aplica disciplina mediante entradas configurables.
El Gestor de Posiciones tiene 4 módulos que justifican su nombre:
- Protector de Portafolio
- Guardian Trading
- Gestor de Riesgos (para trading manual/semi-automatizado)
- Gestor de Operaciones (TP móvil, cierres parciales TP/SL)
Cada uno con submódulos para una mejor gestión.
Casos de uso:
- Operadores que buscan protección de portafolio + escalado inteligente al operar en Escritorio, Móvil y Web.
-
- Si operas completamente desde Escritorio, usa modo Headless => APAGADO
- Si también operas desde Móvil/Web, usa modo Headless => ENCENDIDO
- Prop-Traders con límites de riesgo fijos.
- Desarrolladores que quieren convertir señales de trading en entradas reales.
Cómo usar:
- Para el primer uso, recomiendo encarecidamente:
- Crear solo una instancia de "El Gestor de Posiciones" con:
- Modo Headless => APAGADO (modo UI)
- Modo Instancia => Ambos (Gestor + Panel de Trading)
- Luego aprender sobre su comportamiento, preferiblemente en backtesting(modo visual) antes de operar en vivo.
Ten en cuenta => "El Gestor de Posiciones" no abre posiciones por sí mismo:
- ¡Gestiona las existentes!
- mientras proporciona gestión a nivel de cuenta.
Para cuentas pequeñas, puedes aumentar los porcentajes.
Para cuentas grandes, puedes disminuir los porcentajes.
En cualquier caso, siempre adapta las entradas al tamaño de tu cuenta.
Una vez familiarizado con los parámetros/comportamiento, puedes ejecutarlo en cTrader Cloud para gestionar posiciones en Móvil/Web, solo hay dos reglas simples a seguir:
- Modo Headless => ENCENDIDO
- Además, solo debe añadirse una instancia de "El Gestor de Posiciones" :
-
- De lo contrario, podrían “pelearse” entre ellas, ya que la mayoría de las operaciones son a nivel de símbolos.
- La misma regla aplica al ejecutarlo localmente.
Permíteme explicar los parámetros y comportamiento esperado para cada uno:
Aunque algunos son intuitivos, hay muchos parámetros...
Por favor lee cada uno con paciencia.
==== La Gestión de Posiciones ====
- ¿Modo Headless? => Las funciones disponibles en este modo son:
-
- Protector de Portafolio
-
- Todas las funciones están disponibles.
- Guardian Trading
-
- El filtro de noticias está deshabilitado si el Modo Headless => ENCENDIDO.
- Ganancia Móvil
-
- Para cualquier símbolo, las posiciones no deben tener Take Profit.
- Cierres Parciales
-
- Para cualquier símbolo, las posiciones deben tener Take Profit o Stop Loss
=> Headless APAGADO (modo UI)
- Modo Instancia:
-
- Gestor => Solo una instancia debe ser añadida.
- Trading => Panel de trading puro (módulo Gestor de Riesgos), puedes añadir múltiples instancias.
- Ambos => Solo una instancia debe ser añadida:
-
- Gestor se mostrará como ventana.
- Trading se mostrará en el gráfico.
- Tipo/Posición del Panel: Autoexplicativo
- Almacenamiento Por:
-
- Usa Broker para guardar/cargar la misma configuración en cada reinicio.
- Usa Broker_Symbol si quieres usar la configuración de cada símbolo como una especie de “perfil de riesgo”.
=> Headless APAGADO/ENCENDIDO - Localmente
- ¿Permitir modo mensaje?
-
- Autoexplicativo
- Al usar [Trading, Ambos] Modo Instancia, cambia el “TP/SL => Tipo” a “Pips” en la configuración del panel para que el TP/SL pueda ser establecido por mensaje.
- ¿Permitir trading por mensaje?
-
- Permite abrir posiciones mediante mensajes.
- Si Headless ENCENDIDO, la configuración del Gestor de Riesgos no es posible.
- Si Headless APAGADO, al usar [Trading, Ambos] Modo Instancia, puedes configurar el módulo Gestor de Riesgos como desees.
=> Headless ENCENDIDO / Cuenta General
- Breakeven Mínimo(%):
-
- Para cada posición, cuando la lógica de Breakeven se ejecute mediante módulos de Ganancia Parcial/Móvil, en lugar de mover el SL justo al Precio de Entrada (lo que lleva a PnL negativo).
- El SL se moverá x% hacia adelante al Precio de Entrada.
=> Headless ENCENDIDO / Protector de Drawdown
- Modo Drawdown:
-
- Diario => Basado en el saldo del día
- Móvil => Basado en el pico de capital
- Tipo de Drawdown:
-
- Porcentaje => % del saldo del día, ideal para crecimiento dinámico.
- Fijo => Cantidad fija, ideal para reglas estrictas
- Drawdown Máximo => % o fijo (autoexplicativo)
=> Headless ENCENDIDO / Protector de Pérdidas
- Fuente de Pérdida: => Actualmente, basado solo en “Saldo del Día”.
-
- Si el capital baja del saldo del día, entonces se activará/contará.
- Tipo de Pérdida:
-
- Porcentaje => % del saldo del día, ideal para crecimiento dinámico.
- Fijo => Cantidad fija, ideal para reglas estrictas
- Pérdida Diaria Máxima² => % o fijo (autoexplicativo)
- Pérdidas Consecutivas(CL):
-
- Habilita el cierre de posiciones cuando ocurren pérdidas consecutivas.
- Conteo Consecutivo:
-
- Autoexplicativo
- Tiempo de Enfriamiento para Reiniciar(CL):
-
- Tiempo de enfriamiento para reiniciar el conteo y permitir abrir nuevas posiciones.
=> Headless ENCENDIDO / Protector de Ganancias
- ¿Habilitar límite de ganancias? => Autoexplicativo
-
- Una vez alcanzado el Máximo de Ganancias, se cerrarán nuevas posiciones.
- Fuente de Ganancias: => Siempre basada en el saldo del día
- Tipo de Ganancias:
-
- Porcentaje => % del saldo del día, ideal para crecimiento dinámico.
- Fijo => Cantidad fija, ideal para reglas estrictas
- Ganancia Máxima² => % o fijo (autoexplicativo)
=> Headless ENCENDIDO / Protector de Riesgo
- Exposición Total(%):
-
- También toma en cuenta posiciones que están en Breakeven.
- Total de Operaciones Abiertas:
-
- Se cerrarán nuevas posiciones si el Conteo Total es igual al Total de Operaciones Abiertas
=> Headless ENCENDIDO / Protector CerrarTodo
- ¿Cerrar al final del día? => Cierra todas las posiciones al final del día
- ¿Cerrar al final de la semana? => Cierra todas las posiciones al final de la semana (viernes), usa las horas del final del día como referencia.
=> Headless ENCENDIDO / Protector Reiniciar(EOD)
- Hora para “reiniciar” el seguimiento del pico de capital, así como la lógica ejecutada de CerrarTodo, si aplica.
- Reiniciar (Hora) => 0h - 23h
- Reiniciar (Minuto) => 0m – 59m
=> Headless ENCENDIDO / Guardian
- Las posiciones abiertas fuera de las horas de trading o días permitidos se cerrarán automáticamente.
-
- Inicio/Fin (Hora) => 0h – 23h
- Inicio/Fin (Minuto) => 0m – 59m
- ¿Permitir viernes? => Autoexplicativo
- ¿Permitir fin de semana? (cripto) => Autoexplicativo
=> Headless ENCENDIDO / Ganancia Móvil
- Es un Take Profit basado en capital
- ¿Habilitar?
-
- Para posiciones sin TP, ideal para posiciones que siguen la tendencia.
- => Tipo:
-
- Porcentaje => % puro de capital
- Drawdown => Basado en el concepto de DD móvil (Pico de Capital), piensa en términos de retrocesos/retracciones del precio.
- Ambos => El comportamiento Partial_Close está habilitado por defecto:
-
- Tipo porcentaje para parciales.
- Tipo drawdown para salida completa.
- Comportamiento:
-
- Cierre Completo:
-
- Una vez alcanzado el % objetivo de capital, cierra todas las posiciones sin TP.
- Además, cuando se alcanza la mitad del % objetivo de capital, el SL se mueve a Breakeven.
- Cierre Parcial:
-
- Habilita cierres parciales.
- Ten en cuenta => Si el tamaño de la posición (lote) es demasiado pequeño para un cierre parcial, la posición se cerrará completamente.
- Ganancia Mínima(%):
-
- La ganancia mínima para activar la lógica móvil.
- => Cierre Completo en(%):
-
- Solo para comportamiento “Cierre_Completo”.
- => [Ambos] Cierre Drawdown(%):
-
- Solo para tipo “Ambos” .
- => ¿SL Inteligente [% solo]?"
-
- Solo para tipo “Porcentaje” .
- Es bastante similar al tipo Drawdown, pero más reactivo usando SL móvil
- Parcial 1(%) / Parcial 2(%)
-
- % objetivo de capital para ejecutar los parciales (Porcentaje o Ambos)
- Siempre verifica si el tipo móvil es Porcentaje o Drawdown
- Parcial 1(% orden) / Parcial 2(% orden)
-
- Autoexplicativo
- => Cerrar 3(%):
-
- % objetivo de capital para cerrar completamente las posiciones sin TP.
- Solo para tipos Porcentaje o Drawdown .
=> Headless ENCENDIDO / Ganancia Parcial
- ¿Habilitar?
-
- Para posiciones con TP, ideal para posiciones de day-trading o scalping.
- El Precio de Entrada será el 0%
- El Take Profit será el 100%
- Los Precios Parciales se calcularán basándose en este enfoque.
- Breakeven en:
-
- Autoexplicativo, mueve el SL a BE cuando se activa el parcial seleccionado.
- => Mover móvil en:
-
- Autoexplicativo, mueve el SL al precio parcial anterior cuando se activa el parcial seleccionado.
- Ten en cuenta => Asegúrate de que el Parcial 2º o 3º esté activado.
- Parcial 1(%) /
Parcial 2(%) /
Parcial 3(%) -
- Porcentajes entre PrecioEntrada y TakeProfit.
- => ¿Habilitar 2º?
=> ¿Habilitar 3º? -
- Autoexplicativo
- Parcial 1(% orden) /
Parcial 2(% orden) /
Parcial 3(% orden) -
- Autoexplicativo
=> Headless ENCENDIDO / Pérdida Parcial
- ¿Habilitar?
-
- Para posiciones con SL, ideal para limitar pérdidas de operaciones perdedoras que pueden volver a la dirección.
- El Precio de Entrada será el 0%
- El Stop loss será el 100%
- Los Precios Parciales se calcularán basándose en este enfoque.
- Parcial 1(%) /
Parcial 2(%) /
Parcial 3(%) -
- Porcentajes entre PrecioEntrada y StopLoss.
- => ¿Habilitar 2º?
=> ¿Habilitar 3º? -
- Autoexplicativo
- Parcial 1(% orden) /
Parcial 2(% orden) /
Parcial 3(% orden) -
- Autoexplicativo
====================================================
Para desarrolladores => Plug-and-Play para cualquier estrategia a través de mensajes/suscripciones de cTrader Algo.
- Para sistemas semi o totalmente automatizados:
- Semi: Las órdenes aún se abren por nosotros mismos, pero:
-
- SL y TP se establecen mediante mensajes/suscripciones.
- Totalmente: Las señales de orden se envían mediante mensajes/suscripciones a “El Gestor de Posiciones”
-
- La configuración del “Gestor de Riesgos” puede no estar disponible en este enfoque.
Es bastante sencillo, solo necesitas enviar la señal usando la siguiente clase:
public class TradeSignal
{
public string Symbol { get; set; }
public TradeType Direction { get; set; }
public double StopLossPips { get; set; }
public double? TakeProfitPips { get; set; } // null = sin TP
public string StrategyId { get; set; }
public double? EntryPrice { get; set; } // null = mercado, de lo contrario orden límite.
public DateTime Timestamp { get; set; }
public int Confidence { get; set; } // 1–5
}
Luego:
Messages.Send("ThePositionManager", signal);
Ejemplo corto:
TradeSignal signal = new()
{
Symbol = Symbol.Name,
Direction = TradeType.Buy,
StopLossPips = 1500,
TakeProfitPips = 3000,
StrategyId = "MyStrategy",
Confidence = 5
};
Messages.Send("ThePositionManager", signal);
5 | 0 % | |
4 | 67 % | |
3 | 33 % | |
2 | 0 % | |
1 | 0 % |