Расчет кастом breadth индикаторов
C#
Фрагмент кода, который вычисляет и рисует среднее значение цен закрытия MSFT и AAPL. Таким образом можно составлять свои графики advance/decline line, tick, new high, breadth.
Код
using System;
using System.Drawing;
using System.Collections;
using OpenQuant.API;
using OpenQuant.API.Indicators;
public class MyStrategy : Strategy
{
static Hashtable indicators = new Hashtable();
static Instrument MSFT;
static Instrument AAPL;
static TimeSeries mean;
public override void OnStrategyStart()
{
.WriteLine("Adding " + Instrument);
Console
= Instruments["MSFT"];
MSFT = Instruments["AAPL"];
AAPL
[Instrument] = new MACD(Bars, 7, 14);
indicators
if (Instrument == AAPL)
{
= new TimeSeries("Mean", Color.White);
mean
Draw(mean, 2);
}
}
public override void OnBarSlice(long size)
{
if (Instrument == AAPL)
{
foreach(Instrument instrument in indicators.Keys)
{
= indicators[instrument] as Indicator;
Indicator indicator
//if (indicator.Count != 0)
// Console.WriteLine(instrument + " " + indicator.Last);
}
//Console.WriteLine("=====");
.Add(MSFT.Bar.DateTime, (MSFT.Bar.Close + AAPL.Bar.Close) / 2);
mean}
}
}