включил обработку данных в реальном времени
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);
|
_historyCash.TryAdd(message.Figi, data);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (message.IsHistoricalData)
|
float meanfullDiff;
|
||||||
|
if (message.Figi == "BBG004730N88")
|
||||||
{
|
{
|
||||||
float meanfullDiff;
|
meanfullDiff = 0.05f;
|
||||||
if (message.Figi == "BBG004730N88")
|
}
|
||||||
|
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;
|
declisionAction = DeclisionTradeAction.CloseLong;
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
continue;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
try
|
if (declisionAction != DeclisionTradeAction.Unknown)
|
||||||
{
|
{
|
||||||
//var downtrendStarts = data.CheckDowntrendStarting(TimeSpan.FromSeconds(30), TimeSpan.FromSeconds(7), meanfullDiff);
|
using var context = await _dbContextFactory.CreateDbContextAsync();
|
||||||
var uptrendStarts = data.CheckLongOpen(TimeSpan.FromSeconds(60), TimeSpan.FromSeconds(7), meanfullDiff, 8, 3);
|
context.ChangeTracker.QueryTrackingBehavior = QueryTrackingBehavior.NoTracking;
|
||||||
var uptrendStarts2 = data.CheckLongOpen(TimeSpan.FromSeconds(60), TimeSpan.FromSeconds(3), meanfullDiff, 15, 2);
|
await context.Declisions.AddAsync(new Declision()
|
||||||
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)
|
|
||||||
{
|
{
|
||||||
declisionAction = DeclisionTradeAction.OpenLong;
|
AccountId = string.Empty,
|
||||||
}
|
Figi = message.Figi,
|
||||||
//else if (downtrendEnds)
|
Ticker = message.Ticker,
|
||||||
//{
|
Price = message.Value,
|
||||||
// //declisionAction = DeclisionTradeAction.CloseShort;
|
Time = message.IsHistoricalData ? message.Time : DateTime.UtcNow,
|
||||||
//}
|
Action = declisionAction,
|
||||||
else if (uptrendEnds)
|
});
|
||||||
{
|
await context.SaveChangesAsync();
|
||||||
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)
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue