Estrategia de tendencia de una vela
Descripción general
OneCandleTrendStrategy es una estrategia simple de tendencia que toma decisiones basándose en el análisis de una sola vela.
Componentes principales
public class OneCandleTrendStrategy : Strategy
{
private readonly StrategyParam<DataType> _candleType;
}
Parámetros de estrategia
La estrategia permite personalizar los siguientes parámetros:
- CandleType - tipo de vela con el que trabajar (predeterminado 5 minutos)
Inicialización de la estrategia
En el método OnStarted2, se crea la suscripción a velas y se prepara la visualización:
protected override void OnStarted2(DateTime time)
{
base.OnStarted2(time);
// Crear suscripción
var subscription = SubscribeCandles(CandleType);
subscription
.Bind(ProcessCandle)
.Start();
// Configurar visualización en el gráfico
var area = CreateChartArea();
if (area != null)
{
DrawCandles(area, subscription);
DrawOwnTrades(area);
}
}
Procesamiento de velas
El método ProcessCandle se llama para cada vela completada e implementa la lógica de trading:
private void ProcessCandle(ICandleMessage candle)
{
// Comprobar si la vela está finalizada
if (candle.State != CandleStates.Finished)
return;
// Comprobar si la estrategia está lista para operar
if (!IsFormedAndOnlineAndAllowTrading())
return;
// Estrategia de tendencia: comprar en vela alcista, vender en vela bajista
if (candle.OpenPrice < candle.ClosePrice && Position <= 0)
{
// Vela alcista - comprar
BuyMarket(Volume + Math.Abs(Position));
}
else if (candle.OpenPrice > candle.ClosePrice && Position >= 0)
{
// Vela bajista - vender
SellMarket(Volume + Math.Abs(Position));
}
}
Lógica de trading
- Señal de compra: vela alcista (precio de cierre por encima del precio de apertura) cuando no hay posición larga
- Señal de venta: vela bajista (precio de cierre por debajo del precio de apertura) cuando no hay posición corta
- El volumen de posición aumenta por el importe de la posición actual con cada nueva operación
Características
- La estrategia determina automáticamente los instrumentos con los que trabajar mediante el método
GetWorkingSecurities() - La estrategia solo trabaja con velas completadas
- La estrategia usa órdenes de mercado para entrada en posición
- La estrategia aplica una lógica simple de detección de tendencia basada en una sola vela
- Las velas y operaciones se visualizan en el gráfico cuando hay un área gráfica disponible