code cleanup
parent
13ecf126ed
commit
c0e29c06a5
|
@ -10,10 +10,10 @@
|
||||||
return (x, y);
|
return (x, y);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static (bool res,DateTime x, decimal y) IsLinesCrossing(DateTime time1, DateTime time2, decimal val1_1, decimal val1_2, decimal val2_1, decimal val2_2)
|
public static (bool res, DateTime x, decimal y) IsLinesCrossing(DateTime time1, DateTime time2, decimal val1_1, decimal val1_2, decimal val2_1, decimal val2_2)
|
||||||
{
|
{
|
||||||
var dtime = (decimal)(time2 - time1).TotalSeconds;
|
var dtime = (decimal)(time2 - time1).TotalSeconds;
|
||||||
if (dtime == 0) return (false, DateTime.MinValue,0);
|
if (dtime == 0) return (false, DateTime.MinValue, 0);
|
||||||
var dval1 = val1_2 - val1_1;
|
var dval1 = val1_2 - val1_1;
|
||||||
var k1 = dval1 / dtime;
|
var k1 = dval1 / dtime;
|
||||||
var b1 = val1_1;
|
var b1 = val1_1;
|
||||||
|
|
|
@ -63,7 +63,7 @@ namespace KLHZ.Trader.Core.Math.Declisions.Utils
|
||||||
twavbs[i2 + 1]);
|
twavbs[i2 + 1]);
|
||||||
|
|
||||||
if (shift == 1 && !isCrossing.res) //если нет пересечения скользящих средний с окном 120 и 15 секунд между
|
if (shift == 1 && !isCrossing.res) //если нет пересечения скользящих средний с окном 120 и 15 секунд между
|
||||||
//текущей и предыдущей точкой - можно не продолжать выполнение.
|
//текущей и предыдущей точкой - можно не продолжать выполнение.
|
||||||
{
|
{
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -112,7 +112,7 @@ namespace KLHZ.Trader.Core.Math.Declisions.Utils
|
||||||
// если фильтрация окном 120 наползает на окно 15 сверху, потенциальное время открытия лонга и закрытия шорта
|
// если фильтрация окном 120 наползает на окно 15 сверху, потенциальное время открытия лонга и закрытия шорта
|
||||||
if (twavss[size - 1] >= twavbs[size - 1] && twavss[size - 2] < twavbs[size - 2])
|
if (twavss[size - 1] >= twavbs[size - 1] && twavss[size - 2] < twavbs[size - 2])
|
||||||
{
|
{
|
||||||
if (pricesForFinalComparison[crossings[0]] - pricesForFinalComparison[crossings[1]] <= - meanfullStep
|
if (pricesForFinalComparison[crossings[0]] - pricesForFinalComparison[crossings[1]] <= -meanfullStep
|
||||||
&& times[crossings[0]] - times[crossings[1]] >= timeForUptreandStart)
|
&& times[crossings[0]] - times[crossings[1]] >= timeForUptreandStart)
|
||||||
{
|
{
|
||||||
res |= TradingEvent.UptrendStart;
|
res |= TradingEvent.UptrendStart;
|
||||||
|
|
|
@ -1,6 +1,4 @@
|
||||||
using System;
|
namespace KLHZ.Trader.Core.Math.Declisions.Utils
|
||||||
|
|
||||||
namespace KLHZ.Trader.Core.Math.Declisions.Utils
|
|
||||||
{
|
{
|
||||||
public static class ShapeAreaCalculator
|
public static class ShapeAreaCalculator
|
||||||
{
|
{
|
||||||
|
|
|
@ -129,7 +129,7 @@ namespace KLHZ.Trader.Core.Exchange.Services
|
||||||
{
|
{
|
||||||
AccountId = asset.AccountId,
|
AccountId = asset.AccountId,
|
||||||
Figi = message.Figi,
|
Figi = message.Figi,
|
||||||
CommandType = asset.Count < 0? Contracts.Messaging.Dtos.Enums.TradeCommandType.MarketBuy
|
CommandType = asset.Count < 0 ? Contracts.Messaging.Dtos.Enums.TradeCommandType.MarketBuy
|
||||||
: Contracts.Messaging.Dtos.Enums.TradeCommandType.MarketSell,
|
: Contracts.Messaging.Dtos.Enums.TradeCommandType.MarketSell,
|
||||||
Count = (long)asset.Count,
|
Count = (long)asset.Count,
|
||||||
RecomendPrice = null,
|
RecomendPrice = null,
|
||||||
|
@ -180,7 +180,7 @@ namespace KLHZ.Trader.Core.Exchange.Services
|
||||||
var max = fullData.prices.Max();
|
var max = fullData.prices.Max();
|
||||||
var min = fullData.prices.Min();
|
var min = fullData.prices.Min();
|
||||||
|
|
||||||
if (max - min < 15 && fullData.prices.Last() - fullData.prices.First() < 4 && fullData.prices.Last() - fullData.prices.First()>-4)
|
if (max - min < 15 && fullData.prices.Last() - fullData.prices.First() < 4 && fullData.prices.Last() - fullData.prices.First() > -4)
|
||||||
{
|
{
|
||||||
if (!message.IsHistoricalData && BotModeSwitcher.CanPurchase())
|
if (!message.IsHistoricalData && BotModeSwitcher.CanPurchase())
|
||||||
{
|
{
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
using Google.Protobuf.WellKnownTypes;
|
using KLHZ.Trader.Core.Contracts.Declisions.Interfaces;
|
||||||
using KLHZ.Trader.Core.Contracts.Declisions.Interfaces;
|
|
||||||
using KLHZ.Trader.Core.Contracts.Messaging.Dtos;
|
using KLHZ.Trader.Core.Contracts.Messaging.Dtos;
|
||||||
using KLHZ.Trader.Core.Contracts.Messaging.Dtos.Interfaces;
|
using KLHZ.Trader.Core.Contracts.Messaging.Dtos.Interfaces;
|
||||||
using KLHZ.Trader.Core.DataLayer;
|
using KLHZ.Trader.Core.DataLayer;
|
||||||
|
@ -166,7 +165,7 @@ namespace KLHZ.Trader.Core.Exchange.Services
|
||||||
|
|
||||||
_ = WritePricesTask();
|
_ = WritePricesTask();
|
||||||
}
|
}
|
||||||
catch(Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -21,7 +21,7 @@ namespace KLHZ.Trader.Core.TG.Services
|
||||||
private readonly TraderDataProvider _traderDataProvider;
|
private readonly TraderDataProvider _traderDataProvider;
|
||||||
public BotMessagesHandler(IDataBus eventBus, IOptions<TgBotConfig> options, ILogger<BotMessagesHandler> logger, TraderDataProvider traderDataProvider)
|
public BotMessagesHandler(IDataBus eventBus, IOptions<TgBotConfig> options, ILogger<BotMessagesHandler> logger, TraderDataProvider traderDataProvider)
|
||||||
{
|
{
|
||||||
_traderDataProvider = traderDataProvider;
|
_traderDataProvider = traderDataProvider;
|
||||||
_logger = logger;
|
_logger = logger;
|
||||||
_eventBus = eventBus;
|
_eventBus = eventBus;
|
||||||
_admins = ImmutableArray.CreateRange(options.Value.Admins);
|
_admins = ImmutableArray.CreateRange(options.Value.Admins);
|
||||||
|
@ -79,7 +79,7 @@ namespace KLHZ.Trader.Core.TG.Services
|
||||||
{
|
{
|
||||||
|
|
||||||
var assets = await _traderDataProvider.GetAssetsByFigi("FUTIMOEXF000");
|
var assets = await _traderDataProvider.GetAssetsByFigi("FUTIMOEXF000");
|
||||||
foreach(var asset in assets)
|
foreach (var asset in assets)
|
||||||
{
|
{
|
||||||
if (asset.Count > 0)
|
if (asset.Count > 0)
|
||||||
{
|
{
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
using KLHZ.Trader.Core.Contracts.Messaging.Dtos;
|
using KLHZ.Trader.Core.Contracts.Messaging.Dtos;
|
||||||
using KLHZ.Trader.Core.Contracts.Messaging.Interfaces;
|
using KLHZ.Trader.Core.Contracts.Messaging.Interfaces;
|
||||||
using KLHZ.Trader.Core.DataLayer;
|
using KLHZ.Trader.Core.DataLayer;
|
||||||
using KLHZ.Trader.Core.DataLayer.Entities.Prices;
|
|
||||||
using Microsoft.AspNetCore.Mvc;
|
using Microsoft.AspNetCore.Mvc;
|
||||||
using Microsoft.EntityFrameworkCore;
|
using Microsoft.EntityFrameworkCore;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue