Estrategia Exp Iin MA Signal MMRec
Un port de StockSharp del experto de MetaTrader "Exp_Iin_MA_Signal_MMRec". La estrategia escucha las señales de cruce producidas por un par de medias móviles configurables (el indicador original Iin_MA_Signal) y aplica un esquema de dimensionamiento de posición adaptativo con reducción basada en pérdidas.
Descripción general
- Generación de señales: las medias móviles rápida y lenta se evalúan en el tipo de vela seleccionado y el precio aplicado. Se crea una señal de compra cuando la media rápida cruza por encima de la lenta, mientras que se produce una señal de venta en el cruce opuesto. El parámetro
SignalBarpospone la ejecución por el número especificado de barras completamente cerradas, reproduciendo el retraso del búfer de indicador utilizado en la versión MQL. - Gestión de posición:
BuyPosOpenySellPosOpenhabilitan o deshabilitan las entradas largas y cortas. Cuando aparece una señal opuesta y el indicadorBuyPosCloseoSellPosClosecorrespondiente está habilitado, la estrategia cierra la exposición actual o revierte directamente a la nueva dirección. - Control de riesgo:
StopLossPointsyTakeProfitPointsse traducen a distancias de precio usandoSecurity.PriceStepy se comprueban contra los extremos de la vela antes de procesar señales nuevas. - Gestión de dinero: las últimas operaciones se rastrean por separado para largos y cortos. Cuando el número de operaciones perdedoras dentro de la ventana
BuyTotalTrigger/SellTotalTriggeralcanza el umbral de pérdidas respectivo, la estrategia cambia deNormalVolumeaReducedVolume. El parámetroMoneyModedefine cómo se interpreta el valor de volumen (lotes fijos, porcentaje de saldo, o porcentaje de riesgo basado en stop).
Parámetros
FastPeriod,SlowPeriod– longitudes de las medias móviles rápida y lenta.FastType,SlowType– tipos de medias móviles (Simple,Exponential,Smoothed,Weighted,VolumeWeighted).FastPrice,SlowPrice– precio aplicado para cada media (Close,Open,High,Low,Median,Typical,Weighted).SignalBar– número de barras cerradas entre una señal detectada y el envío de la orden.BuyPosOpen,SellPosOpen– interruptores para abrir posiciones largas/cortas.BuyPosClose,SellPosClose– interruptores para cerrar o revertir una posición existente en la señal opuesta.BuyTotalTrigger,SellTotalTrigger– cuántas operaciones recientes se inspeccionan para el contador de pérdidas.BuyLossTrigger,SellLossTrigger– número mínimo de pérdidas dentro de la ventana inspeccionada que activa el volumen reducido.NormalVolume,ReducedVolume– volumen primario y de respaldo (o factor de riesgo, dependiendo deMoneyMode).StopLossPoints,TakeProfitPoints– distancias de stop loss y take profit en puntos del instrumento.MoneyMode– interpretación de los valores de volumen (Lot,Balance,FreeMargin,BalanceRisk,FreeMarginRisk). Los modos basados en saldo usanPortfolio.CurrentValue, mientras que los modos basados en riesgo dividen la cantidad de riesgo por la distancia calculada del stop.CandleType– serie de velas utilizada para los cálculos del indicador.
Lógica de Señales
- Cada vela terminada alimenta las medias móviles con el precio aplicado elegido.
- La diferencia entre los valores actuales y anteriores de las medias móviles define un evento de cruce.
- Las señales se ponen en cola, y la entrada más antigua se ejecuta una vez que el tamaño de la cola supera
SignalBar. - Cuando se ejecuta una señal de compra:
- Si existe una posición corta y
SellPosCloseestá habilitado, la estrategia calcula el PnL realizado para ese trade corto. Luego revierte a un largo (siBuyPosOpenestá habilitado) o simplemente cierra la exposición. - Si no hay posición abierta y
BuyPosOpenestá habilitado, se abre un nuevo largo con el volumen calculado.
- Si existe una posición corta y
- Las señales de venta reflejan el flujo de trabajo de compra.
Detalles de Gestión de Dinero
- El historial de operaciones se almacena como una cola FIFO limitada por
BuyTotalTrigger/SellTotalTrigger. - Una operación perdedora (PnL negativo) incrementa el contador de pérdidas. Cuando el contador alcanza
BuyLossTriggeroSellLossTrigger, la siguiente posición usaReducedVolume. MoneyMode = Lottrata los valores de volumen como cantidades brutas.MoneyMode = BalanceyFreeMarginmultiplican el valor configurado porPortfolio.CurrentValuey dividen por el precio de cierre actual para obtener la cantidad.MoneyMode = BalanceRiskyFreeMarginRiskmultiplican el valor configurado porPortfolio.CurrentValuey dividen por la distancia del stop-loss. Si la distancia del stop es cero, el respaldo es idéntico al cálculo del porcentaje de saldo.- Si la información del portafolio no está disponible, el volumen calculado toma el valor predeterminado de cero para evitar órdenes accidentales.
Manejo de Riesgo
- Los niveles de stop-loss y take-profit se recalculan en cada vela usando el precio de entrada y el valor de punto. Si un nivel se toca dentro del rango de la vela, la posición se cierra antes de que se procesen nuevas señales.
- Las acciones de cierre siempre registran el resultado de la operación, asegurando que las colas de gestión de dinero permanezcan sincronizadas con los cierres reales.
Notas
- Asegúrate de que
StopLossPointsyTakeProfitPointssean compatibles con el tamaño de tick del instrumento; la estrategia los multiplica porSecurity.PriceStep. - Cuando
MoneyModedepende de datos del portafolio, la estrategia espera que el objetoPortfolioexpongaCurrentValue. - El algoritmo opera sobre una base de posición neta: los holdings largos y cortos simultáneos no están soportados.