Commit 7f43aa06 authored by hetao's avatar hetao
Browse files

upgrade package

parent 5fff693c
......@@ -76,10 +76,12 @@ namespace QuantBox.Servers
var insts = new Dictionary<string, StoreInstrument>();
foreach (var item in list)
{
if (insts.ContainsKey(item.Symbol))
if (insts.TryGetValue(item.Symbol, out var exists))
{
// var exist
return (null, true);
if (exists.TradingDay < item.TradingDay)
{
insts[item.Symbol] = item;
}
}
else
{
......
......@@ -18,13 +18,12 @@
<ItemGroup>
<PackageReference Include="CSharpHdf" Version="1.0.2" />
<PackageReference Include="Hocon" Version="2.0.0" />
<PackageReference Include="LmdbMarketDatabase" Version="1.0.8" />
<PackageReference Include="LmdbMarketDatabase" Version="1.0.10" />
<PackageReference Include="Microsoft.CodeAnalysis.FxCopAnalyzers" Version="2.9.8">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
<PackageReference Include="NLog.Config" Version="4.6.8" />
<PackageReference Include="QuantBox.Tushare" Version="1.4.1" />
<PackageReference Include="Squid-Box.SevenZipSharp" Version="1.2.242" />
<PackageReference Include="TickSerializer" Version="1.0.48" />
<PackageReference Include="XApiSharp" Version="1.0.9" />
......
......@@ -6,8 +6,8 @@ calendar_url = "http://data.quantbox.cn/trading_dates?start_date={0}&end_date={1
# 刷新数据库的间隔时间
db_refresh_interval = 60
# 数据库目录
db_path = 'd:\\temp\\database\\'
db_output_path = 'd:\\temp\\database\\tickzip\\'
db_path = 'f:\\temp\\database\\'
db_output_path = 'f:\\temp\\database\\tickzip\\'
db_file_count = 9
#
tushare.token = 'f700ceaa188e30e9f11f592b5f7b0e2a55740476dcb68f4804f5495f'
......
......@@ -34,7 +34,7 @@ namespace OpenQuant
}
}
public IList<StoreInstrument> InitDatabase(int interval)
public IList<StoreInstrument> InitDatabase(int interval, DateTime tradingDay)
{
var info = Instruments.Select(n => new StoreInstrument {
Id = n.Id,
......@@ -46,7 +46,8 @@ namespace OpenQuant
CallOrPut = n.PutCall == PutCall.Call ? (byte)1 : (byte)0,
TickSize = n.TickSize,
Factor = n.Factor,
ExpireDate = n.Maturity
ExpireDate = n.Maturity,
TradingDay = tradingDay
}).ToArray();
_databases = LmdbMarketDatabase.CreateStores(info, TickPath,
(item) => item.SetFlushInterval(TimeSpan.FromSeconds(interval)));
......
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>WinExe</OutputType>
<OutputType>Exe</OutputType>
<TargetFramework>netcoreapp3.1</TargetFramework>
<StartupObject></StartupObject>
<RootNamespace>OpenQuant</RootNamespace>
......@@ -18,10 +18,9 @@
<ItemGroup>
<PackageReference Include="CSharpHdf" Version="1.0.2" />
<PackageReference Include="Hocon" Version="2.0.0" />
<PackageReference Include="LmdbMarketDatabase" Version="1.0.8" />
<PackageReference Include="LmdbMarketDatabase" Version="1.0.10" />
<PackageReference Include="Microsoft.Win32.Registry" Version="4.7.0" />
<PackageReference Include="Newtonsoft.Json" Version="12.0.3" />
<PackageReference Include="QuantBox.Tushare" Version="1.4.1" />
<PackageReference Include="SkylineStandard" Version="1.0.23" />
<PackageReference Include="Squid-Box.SevenZipSharp" Version="1.2.242" />
<PackageReference Include="TickSerializer" Version="1.0.48" />
......
......@@ -102,7 +102,7 @@ namespace OpenQuant
_logger.Info($"subscription {item.Symbol}");
}
}
saver.InitDatabase(config.GetInt("db_flush_interval"));
saver.InitDatabase(config.GetInt("db_flush_interval"), tradingDay);
static bool IsContinuous(Instrument inst)
{
......@@ -123,7 +123,7 @@ namespace OpenQuant
}
}
return Parser.Parse(File.ReadAllText(name), ConfigResolver);
return HoconParser.Parse(File.ReadAllText(name), ConfigResolver);
}
public static bool Do(string name)
......
......@@ -34,7 +34,7 @@ namespace OpenQuant
}
}
public IList<StoreInstrument> InitDatabase(int interval)
public IList<StoreInstrument> InitDatabase(int interval, DateTime tradingDay)
{
var info = Instruments.Select(n => new StoreInstrument {
Id = n.Id,
......@@ -46,7 +46,8 @@ namespace OpenQuant
CallOrPut = n.PutCall == PutCall.Call ? (byte)1 : (byte)0,
TickSize = n.TickSize,
Factor = n.Factor,
ExpireDate = n.Maturity
ExpireDate = n.Maturity,
TradingDay = tradingDay
}).ToArray();
_databases = LmdbMarketDatabase.CreateStores(info, TickPath,
(item) => item.SetFlushInterval(TimeSpan.FromSeconds(interval)));
......
......@@ -102,7 +102,7 @@ namespace OpenQuant
_logger.Info($"subscription {item.Symbol}");
}
}
saver.InitDatabase(config.GetInt("db_flush_interval"));
saver.InitDatabase(config.GetInt("db_flush_interval"), tradingDay);
static bool IsContinuous(Instrument inst)
{
......@@ -202,7 +202,7 @@ namespace OpenQuant
}
else if (time >= nightOpenTime)
{
RunTickSaver(config, date.AddDays(1).Add(nightCloseTime), calendar.GetNextTradingDay(date), false);
RunTickSaver(config, date.AddDays(1).Add(nightCloseTime), calendar.GetNextTradingDay(date), true);
}
}
framework.StrategyManager.StartStrategy(strategy, StrategyMode.Live);
......
ctp_server = '天风电信'
ctp_user = '008112'
ctp_pwd = '123456'
tick_path = 'd:\\temp\\database\\yinhe\\'
tick_path = 'f:\\temp\\database\\xml_db\\'
include required(file("common.conf"))
\ No newline at end of file
......@@ -17,35 +17,35 @@
<PackageReference Include="Newtonsoft.Json" Version="12.0.3" />
<PackageReference Include="CSharpHdf" Version="1.0.2" />
<PackageReference Include="Hocon" Version="2.0.0" />
<PackageReference Include="LmdbMarketDatabase" Version="1.0.8" />
<PackageReference Include="LmdbMarketDatabase" Version="1.0.10" />
<PackageReference Include="FileServer" Version="1.0.1" />
</ItemGroup>
<ItemGroup>
<None Update="common.conf">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Update="TickSaver.conf">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Update="tick_saver.conf">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
</ItemGroup>
<ItemGroup>
<Content Include="./openquant/config/*.*">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="./openquant/config/quantbox/*.*">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="./openquant/logs/*.*">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="./openquant/data/*.*">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
</ItemGroup>
</Project>
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment