включил обработку данных в реальном времени
test / deploy_trader_prod (push) Successful in 2m14s
Details
test / deploy_trader_prod (push) Successful in 2m14s
Details
parent
698af45576
commit
faac2b74e4
|
@ -101,79 +101,75 @@ namespace KLHZ.Trader.Core.Declisions.Services
|
|||
_historyCash.TryAdd(message.Figi, data);
|
||||
}
|
||||
|
||||
if (message.IsHistoricalData)
|
||||
float meanfullDiff;
|
||||
if (message.Figi == "BBG004730N88")
|
||||
{
|
||||
float meanfullDiff;
|
||||
if (message.Figi == "BBG004730N88")
|
||||
meanfullDiff = 0.05f;
|
||||
}
|
||||
else if (message.Figi == "FUTIMOEXF000")
|
||||
{
|
||||
meanfullDiff = 1f;
|
||||
}
|
||||
else
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
//var downtrendStarts = data.CheckDowntrendStarting(TimeSpan.FromSeconds(30), TimeSpan.FromSeconds(7), meanfullDiff);
|
||||
var uptrendStarts = data.CheckLongOpen(TimeSpan.FromSeconds(60), TimeSpan.FromSeconds(7), meanfullDiff, 8, 3);
|
||||
var uptrendStarts2 = data.CheckLongOpen(TimeSpan.FromSeconds(60), TimeSpan.FromSeconds(3), meanfullDiff, 15, 2);
|
||||
var downtrendEnds = data.CheckLongOpen(TimeSpan.FromSeconds(120), TimeSpan.FromSeconds(10), meanfullDiff, 15, 5);
|
||||
uptrendStarts |= downtrendEnds;
|
||||
uptrendStarts |= uptrendStarts2;
|
||||
//var downtrendEnds = data.CheckDowntrendEnding(TimeSpan.FromSeconds(60), TimeSpan.FromSeconds(15), meanfullDiff);
|
||||
|
||||
var uptrendEnds = data.CheckLongClose(TimeSpan.FromSeconds(15), TimeSpan.FromSeconds(20), meanfullDiff * 1.5f, 8, 8);
|
||||
var uptrendEnds2 = data.CheckLongClose(TimeSpan.FromSeconds(120), TimeSpan.FromSeconds(30), meanfullDiff, 15, 8);
|
||||
uptrendEnds |= uptrendEnds2;
|
||||
|
||||
//var uptrendEnds2 = data.CheckUptrendEnding(TimeSpan.FromSeconds(20), TimeSpan.FromSeconds(20), meanfullDiff);
|
||||
|
||||
//var uptrendEnds = uptrendEnds1 || uptrendEnds2;
|
||||
|
||||
var declisionAction = DeclisionTradeAction.Unknown;
|
||||
|
||||
//if (downtrendStarts)
|
||||
//{
|
||||
// //declisionAction = DeclisionTradeAction.OpenShort;
|
||||
//}
|
||||
if (uptrendStarts)
|
||||
{
|
||||
meanfullDiff = 0.05f;
|
||||
declisionAction = DeclisionTradeAction.OpenLong;
|
||||
}
|
||||
else if (message.Figi == "FUTIMOEXF000")
|
||||
//else if (downtrendEnds)
|
||||
//{
|
||||
// //declisionAction = DeclisionTradeAction.CloseShort;
|
||||
//}
|
||||
else if (uptrendEnds)
|
||||
{
|
||||
meanfullDiff = 1f;
|
||||
}
|
||||
else
|
||||
{
|
||||
continue;
|
||||
declisionAction = DeclisionTradeAction.CloseLong;
|
||||
}
|
||||
|
||||
try
|
||||
if (declisionAction != DeclisionTradeAction.Unknown)
|
||||
{
|
||||
//var downtrendStarts = data.CheckDowntrendStarting(TimeSpan.FromSeconds(30), TimeSpan.FromSeconds(7), meanfullDiff);
|
||||
var uptrendStarts = data.CheckLongOpen(TimeSpan.FromSeconds(60), TimeSpan.FromSeconds(7), meanfullDiff, 8, 3);
|
||||
var uptrendStarts2 = data.CheckLongOpen(TimeSpan.FromSeconds(60), TimeSpan.FromSeconds(3), meanfullDiff, 15, 2);
|
||||
var downtrendEnds = data.CheckLongOpen(TimeSpan.FromSeconds(120), TimeSpan.FromSeconds(10), meanfullDiff, 15, 5);
|
||||
uptrendStarts |= downtrendEnds;
|
||||
uptrendStarts |= uptrendStarts2;
|
||||
//var downtrendEnds = data.CheckDowntrendEnding(TimeSpan.FromSeconds(60), TimeSpan.FromSeconds(15), meanfullDiff);
|
||||
|
||||
var uptrendEnds = data.CheckLongClose(TimeSpan.FromSeconds(15), TimeSpan.FromSeconds(20), meanfullDiff * 1.5f, 8, 8);
|
||||
var uptrendEnds2 = data.CheckLongClose(TimeSpan.FromSeconds(120), TimeSpan.FromSeconds(30), meanfullDiff, 15, 8);
|
||||
uptrendEnds |= uptrendEnds2;
|
||||
|
||||
//var uptrendEnds2 = data.CheckUptrendEnding(TimeSpan.FromSeconds(20), TimeSpan.FromSeconds(20), meanfullDiff);
|
||||
|
||||
//var uptrendEnds = uptrendEnds1 || uptrendEnds2;
|
||||
|
||||
var declisionAction = DeclisionTradeAction.Unknown;
|
||||
|
||||
//if (downtrendStarts)
|
||||
//{
|
||||
// //declisionAction = DeclisionTradeAction.OpenShort;
|
||||
//}
|
||||
if (uptrendStarts)
|
||||
using var context = await _dbContextFactory.CreateDbContextAsync();
|
||||
context.ChangeTracker.QueryTrackingBehavior = QueryTrackingBehavior.NoTracking;
|
||||
await context.Declisions.AddAsync(new Declision()
|
||||
{
|
||||
declisionAction = DeclisionTradeAction.OpenLong;
|
||||
}
|
||||
//else if (downtrendEnds)
|
||||
//{
|
||||
// //declisionAction = DeclisionTradeAction.CloseShort;
|
||||
//}
|
||||
else if (uptrendEnds)
|
||||
{
|
||||
declisionAction = DeclisionTradeAction.CloseLong;
|
||||
}
|
||||
|
||||
if (declisionAction != DeclisionTradeAction.Unknown)
|
||||
{
|
||||
using var context = await _dbContextFactory.CreateDbContextAsync();
|
||||
context.ChangeTracker.QueryTrackingBehavior = QueryTrackingBehavior.NoTracking;
|
||||
await context.Declisions.AddAsync(new Declision()
|
||||
{
|
||||
AccountId = string.Empty,
|
||||
Figi = message.Figi,
|
||||
Ticker = message.Ticker,
|
||||
Price = message.Value,
|
||||
Time = message.IsHistoricalData ? message.Time : DateTime.UtcNow,
|
||||
Action = declisionAction,
|
||||
});
|
||||
await context.SaveChangesAsync();
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
||||
AccountId = string.Empty,
|
||||
Figi = message.Figi,
|
||||
Ticker = message.Ticker,
|
||||
Price = message.Value,
|
||||
Time = message.IsHistoricalData ? message.Time : DateTime.UtcNow,
|
||||
Action = declisionAction,
|
||||
});
|
||||
await context.SaveChangesAsync();
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue