Estrategia ASCPlusPlus
La estrategia de ruptura ASC++ Williams transfiere el experto heredado MQL4 "ASC++.mq4" al API de alto nivel de StockSharp. La lógica busca rangos de negociación estrechos confirmados por el oscilador Williams %R y luego coloca órdenes stop ligeramente más allá de los extremos de las velas. Una vez activada, la gestión de riesgos integrada mantiene la posición protegida con toma de ganancias automática, stop loss y comportamiento de seguimiento opcional.
Cómo funciona la estrategia
- Preparación de indicadores
- Los osciladores %R Williams rápidos y lentos (por defecto, 9 y 54 períodos) miden el impulso a corto plazo.
- Un rango verdadero promedio de 10 períodos suaviza el cálculo del rango ponderado "ASC".
- Los umbrales dinámicos
x1 = 67 + RiskLevelyx2 = 33 - RiskLevelimitan las bandas de sobrecompra/sobreventa adaptativas originales.
- Puntuación de señal
- Cada vela terminada calcula
value2 = 100 - |%R_fast|. Los valores por debajo dex2indican un entorno de sobreventa con presión para romper al alza; los valores superiores ax1indican una condición de sobrecompra que puede romperse a la baja. - Velas consecutivas que permanecen dentro de los mismos contadores de confirmación de incremento extremo. Se permite una operación solo después de
SignalConfirmationbarras consecutivas (5 por defecto) para aproximarse a losSigValtemporizadores originales.
- Cada vela terminada calcula
- Realización de pedidos
- Cuando el filtro de rango (
ATR < EntryRange) confirma la consolidación y el impulso coincide (%R_fastpor encima/por debajo de%R_slow), la estrategia coloca una orden de parada:- Compre stop en
High + ATR * 0.5 + EntryStopLevel * PriceSteppara rupturas alcistas. - Stop de venta en
Low - ATR * 0.5 - EntryStopLevel * PriceSteppara rupturas bajistas.
- Compre stop en
- Las órdenes pendientes del lado opuesto se cancelan para evitar exposiciones conflictivas.
- Cuando el filtro de rango (
- Gestión de posiciones
- Las órdenes de protección se configuran a través de
StartProtection(takeprofit y stop loss expresados en puntos, seguimiento opcional habilitado cuandoTrailingStopPoints > 0). - Si una nueva señal entra en conflicto con una posición existente (por ejemplo, una ruptura alcista en corto), el motor inmediatamente aplana la exposición opuesta antes de poner en cola la orden de ruptura, al igual que la fuente EA.
- Las órdenes de protección se configuran a través de
Parámetros
| Parámetro | Predeterminado | Descripción |
|---|---|---|
CandleType |
plazo de 15 minutos | Fuente de vela base utilizada para los cálculos. |
FastLength |
9 | Williams Longitud %R utilizada para el detector de impulso rápido. |
SlowLength |
54 | Williams Longitud %R utilizada para el oscilador de confirmación. |
RangeLength |
10 | ATR ventana de suavizado que reemplaza el bucle de rango ponderado manual. |
EntryStopLevel |
10 puntos | Compensación adicional (en incrementos de precio) agregada a las órdenes stop de ruptura. |
EntryRange |
27 puntos | Rango promedio máximo permitido antes de aceptar una configuración. |
RiskLevel |
3 | Ajusta los umbrales x1/x2, haciendo que las bandas de confirmación sean más estrechas o más amplias. |
SignalConfirmation |
5 barras | Número de velas consecutivas que deben permanecer en el mismo extremo antes de que se arme una orden. |
TakeProfitPoints |
100 puntos | Distancia de la orden de toma de ganancias automática. |
StopLossPoints |
40 puntos | Distancia de la orden automática de stop-loss. |
TrailingStopPoints |
20 puntos | Habilita el comportamiento de seguimiento cuando es mayor que cero. |
Notas de conversión
- El EA original construyó un ATR ponderado manualmente; el puerto StockSharp utiliza el indicador nativo
AverageTrueRangecon la misma retrospectiva de 10 períodos. Esto coincide con la intención de suavizar y al mismo tiempo evita los búferes personalizados. - Los temporizadores
SigValBuyySigValSellen el código MQL dependían de contadores basados en minutos. La versión C# los emula conSignalConfirmationcomprobaciones de velas consecutivas para mantener la cadencia de entrada constante sin acceder a marcas de tiempo de minutos. - Las órdenes de entrada pendientes se implementan con
BuyStop/SellStopayudantes. Antes de realizar un nuevo pedido, se cancela el lado opuesto, reflejando la lógica heredadaOrderDelete. - La gestión de paradas se basa en
StartProtection, que gestiona automáticamente la obtención de beneficios, la parada de pérdidas y el seguimiento. Esto cubre la escalera final MQL (TSLevel1,TSLevel2) de una manera simplificada pero sólida. - Todo el acceso a los indicadores se realiza a través de suscripciones y enlaces de alto nivel, según lo exigen las pautas del proyecto, sin llamadas
GetValuemanuales ni cachés de indicadores personalizados.
Consejos de uso
- La estrategia espera instrumentos con un
PriceStepdefinido; de lo contrario, el valor predeterminado es1. AjusteEntryStopLevel,EntryRangey los parámetros de riesgo para que coincidan con el tamaño de tick del instrumento. - Reduzca
SignalConfirmationpara realizar operaciones más agresivas en períodos de tiempo más cortos, o auméntelo para operar solo con consolidaciones pronunciadas. - Considere habilitar el dibujo de gráficos en una aplicación host para visualizar las órdenes stop y confirmar que los niveles de ruptura se alinean con los máximos y mínimos recientes.
- Pruebe siempre con datos históricos porque la estrategia es muy sensible a las definiciones de diferenciales, deslizamientos y pasos de precios específicos del corredor.