Reglas para operaciones tick
Descripción general
SimpleTradeRulesStrategy es una estrategia que demuestra el uso de reglas combinadas para analizar precios de operaciones en StockSharp. Se suscribe a operaciones y crea una regla que se activa bajo determinadas condiciones de precio.
Componentes principales
// Componentes principales
public class SimpleTradeRulesStrategy : Strategy
{
}
Método OnStarted
Se llama cuando se inicia la estrategia:
- Crea una suscripción a ticks
- Crea una regla combinada para analizar precios de operaciones
// Método OnStarted
protected override void OnStarted2(DateTime time)
{
var sub = new Subscription(DataType.Ticks, Security);
sub.WhenTickTradeReceived(this).Do(t =>
{
sub
.WhenLastTradePriceMore(this, t.Price + 2)
.Or(sub.WhenLastTradePriceLess(this, t.Price - 2))
.Do(t =>
{
LogInfo($"Regla WhenLastTradePriceMore o WhenLastTradePriceLess tick={t}");
})
.Apply(this);
})
.Once() // llamar esta regla solo una vez
.Apply(this);
// Envío de solicitud para suscribirse a datos de mercado.
Subscribe(sub);
base.OnStarted2(time);
}
Lógica
- Cuando se recibe el primer tick, se crea una regla combinada
- Se basa en el precio del tick recibido: crea una regla que se activa cuando el precio cambia en +/- 2
- La regla se activa cuando el precio de la última operación supera el actual + 2 o queda por debajo del actual - 2
- Cuando la regla se activa, se agrega al log información sobre el tick
- La regla externa se activa solo una vez (
Once())
Características
- Demuestra la creación de reglas combinadas mediante
Or() - Usa
WhenLastTradePriceMoreyWhenLastTradePriceLesspara el análisis de precios - Muestra un ejemplo de logging de información sobre operaciones mediante el método
LogInfo - Ilustra el uso de
Once()para limitar la activación de reglas - Pasa el parámetro tick al controlador de eventos (a diferencia del ejemplo de la documentación)