From df85d2c77e94e88daa9da73184b495488b82afc8 Mon Sep 17 00:00:00 2001 From: Meng Date: Mon, 10 Mar 2014 22:06:06 +0800 Subject: [PATCH 1/4] Update README.md --- README.md | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 4dcfaef..a75ef98 100644 --- a/README.md +++ b/README.md @@ -3,11 +3,16 @@ OpenQuant.API加强版 此OpenQuant.API.dll是由ILSpy反编译后,经过部分修改,用Visual Studio重新编译而成。 -针对OpenQuant 3.9.2版本(会在OpenQuant新版本出来后跟进合并,OpenQuant 2014除外),x32/x64可通用。 +随时跟进OpenQuant最新版本,OpenQuant 2014除外,x32/x64可通用。 ## Features -1. 增加Bar constructor:`Bar(DateTime dateTime, double open, double high, double low, double close, long volume, long openInt, long size)` +* 增加Bar constructor:`Bar(DateTime dateTime, double open, double high, double low, double close, long volume, long openInt, long size)` +* 增加BarSeries的Crosses系重载函数 + - `Cross Crosses(double level, Bar bar)` + - `bool CrossesAbove(double level, Bar bar)` + - `bool CrossesBelow(double level, Bar bar)` +* 为BarSeries和Indicator增加Implicit Conversion Operator,分别转换为BarSeries.Last.Close和Indicator.Last,支持如`indicator + bars * 0.001`等语句 ## Developer's Guide From 13c9b49fc1380b401aa345db8f12200e0395d06c Mon Sep 17 00:00:00 2001 From: Meng Date: Fri, 14 Mar 2014 00:13:48 +0800 Subject: [PATCH 2/4] add TimeSeries operators --- OpenQuant.API/TimeSeries.cs | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/OpenQuant.API/TimeSeries.cs b/OpenQuant.API/TimeSeries.cs index ae90cb6..02dfed8 100644 --- a/OpenQuant.API/TimeSeries.cs +++ b/OpenQuant.API/TimeSeries.cs @@ -312,17 +312,49 @@ public double GetVariance(DateTime dateTime1, DateTime dateTime2) { return new TimeSeries(series1.series + series2.series); } + public static TimeSeries operator +(TimeSeries series, double value) + { + return new TimeSeries(series.series + value); + } + public static TimeSeries operator +(double value, TimeSeries series) + { + return new TimeSeries(value + series.series); + } public static TimeSeries operator -(TimeSeries series1, TimeSeries series2) { return new TimeSeries(series1.series - series2.series); } + public static TimeSeries operator -(TimeSeries series, double value) + { + return new TimeSeries(series.series - value); + } + public static TimeSeries operator -(double value, TimeSeries series) + { + return new TimeSeries(value - series.series); + } public static TimeSeries operator *(TimeSeries series1, TimeSeries series2) { return new TimeSeries(series1.series * series2.series); } + public static TimeSeries operator *(TimeSeries series, double value) + { + return new TimeSeries(series.series * value); + } + public static TimeSeries operator *(double value, TimeSeries series) + { + return new TimeSeries(value * series.series); + } public static TimeSeries operator /(TimeSeries series1, TimeSeries series2) { return new TimeSeries(series1.series + series2.series); } + public static TimeSeries operator /(TimeSeries series, double value) + { + return new TimeSeries(series.series / value); + } + public static TimeSeries operator /(double value, TimeSeries series) + { + return new TimeSeries(value / series.series); + } } } From 06e9b5aeee219dea5ecb5362c356a897330cb599 Mon Sep 17 00:00:00 2001 From: Meng Date: Fri, 14 Mar 2014 22:13:17 +0800 Subject: [PATCH 3/4] Update README.md --- README.md | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index a75ef98..67d361f 100644 --- a/README.md +++ b/README.md @@ -8,11 +8,15 @@ OpenQuant.API加强版 ## Features * 增加Bar constructor:`Bar(DateTime dateTime, double open, double high, double low, double close, long volume, long openInt, long size)` -* 增加BarSeries的Crosses系重载函数 + +* 增加BarSeries的Crosses系重载函数: - `Cross Crosses(double level, Bar bar)` - `bool CrossesAbove(double level, Bar bar)` - `bool CrossesBelow(double level, Bar bar)` -* 为BarSeries和Indicator增加Implicit Conversion Operator,分别转换为BarSeries.Last.Close和Indicator.Last,支持如`indicator + bars * 0.001`等语句 + +* 为BarSeries和Indicator增加Implicit Conversion Operator,分别转换为BarSeries.Last.Close和Indicator.Last,支持如`indicator + bars * 0.001`等语句; + +* 增加TimeSeries的加减乘除运算符重载,支持`timeseries + 42`或`42 + timeseries`运算,返回TimeSeries类型。 ## Developer's Guide From cf368d5c6e62bbe897f07ecad60e7ceade55d610 Mon Sep 17 00:00:00 2001 From: Meng Date: Fri, 21 Mar 2014 20:55:45 +0800 Subject: [PATCH 4/4] merge code change from OQ 3.9.3 --- OpenQuant.API/BarSeries.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OpenQuant.API/BarSeries.cs b/OpenQuant.API/BarSeries.cs index a9ab8e6..5ed6b00 100644 --- a/OpenQuant.API/BarSeries.cs +++ b/OpenQuant.API/BarSeries.cs @@ -246,7 +246,7 @@ public BarSeries GetRange(DateTime dateTime1, DateTime dateTime2) { BarSeries barSeries = new BarSeries(); int index = this.series.GetIndex(dateTime1, EIndexOption.Next); - int index2 = this.series.GetIndex(dateTime1, EIndexOption.Prev); + int index2 = this.series.GetIndex(dateTime2, EIndexOption.Prev); if (index != -1 && index2 != -1) { for (int i = index; i <= index2; i++)