sync
This commit is contained in:
parent
0bb4c5a486
commit
5cd509161b
26
SignalsTestCmd/.vscode/launch.json
vendored
Normal file
26
SignalsTestCmd/.vscode/launch.json
vendored
Normal file
|
|
@ -0,0 +1,26 @@
|
||||||
|
{
|
||||||
|
"version": "0.2.0",
|
||||||
|
"configurations": [
|
||||||
|
{
|
||||||
|
// Use IntelliSense to find out which attributes exist for C# debugging
|
||||||
|
// Use hover for the description of the existing attributes
|
||||||
|
// For further information visit https://github.com/OmniSharp/omnisharp-vscode/blob/master/debugger-launchjson.md
|
||||||
|
"name": ".NET Core Launch (console)",
|
||||||
|
"type": "coreclr",
|
||||||
|
"request": "launch",
|
||||||
|
"preLaunchTask": "build",
|
||||||
|
// If you have changed target frameworks, make sure to update the program path.
|
||||||
|
"program": "${workspaceFolder}/bin/Debug/net7.0/SignalsTestCmd.dll",
|
||||||
|
"args": [],
|
||||||
|
"cwd": "${workspaceFolder}",
|
||||||
|
// For more information about the 'console' field, see https://aka.ms/VSCode-CS-LaunchJson-Console
|
||||||
|
"console": "internalConsole",
|
||||||
|
"stopAtEntry": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": ".NET Core Attach",
|
||||||
|
"type": "coreclr",
|
||||||
|
"request": "attach"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
41
SignalsTestCmd/.vscode/tasks.json
vendored
Normal file
41
SignalsTestCmd/.vscode/tasks.json
vendored
Normal file
|
|
@ -0,0 +1,41 @@
|
||||||
|
{
|
||||||
|
"version": "2.0.0",
|
||||||
|
"tasks": [
|
||||||
|
{
|
||||||
|
"label": "build",
|
||||||
|
"command": "dotnet",
|
||||||
|
"type": "process",
|
||||||
|
"args": [
|
||||||
|
"build",
|
||||||
|
"${workspaceFolder}/SignalsTestCmd.csproj",
|
||||||
|
"/property:GenerateFullPaths=true",
|
||||||
|
"/consoleloggerparameters:NoSummary"
|
||||||
|
],
|
||||||
|
"problemMatcher": "$msCompile"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "publish",
|
||||||
|
"command": "dotnet",
|
||||||
|
"type": "process",
|
||||||
|
"args": [
|
||||||
|
"publish",
|
||||||
|
"${workspaceFolder}/SignalsTestCmd.csproj",
|
||||||
|
"/property:GenerateFullPaths=true",
|
||||||
|
"/consoleloggerparameters:NoSummary"
|
||||||
|
],
|
||||||
|
"problemMatcher": "$msCompile"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "watch",
|
||||||
|
"command": "dotnet",
|
||||||
|
"type": "process",
|
||||||
|
"args": [
|
||||||
|
"watch",
|
||||||
|
"run",
|
||||||
|
"--project",
|
||||||
|
"${workspaceFolder}/SignalsTestCmd.csproj"
|
||||||
|
],
|
||||||
|
"problemMatcher": "$msCompile"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
24
SignalsTestCmd/Brian.cs
Normal file
24
SignalsTestCmd/Brian.cs
Normal file
|
|
@ -0,0 +1,24 @@
|
||||||
|
using BinanceExchange.API.Client;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace SignalsTest
|
||||||
|
{
|
||||||
|
public class Brian
|
||||||
|
{
|
||||||
|
private static BinanceClient m_client;
|
||||||
|
|
||||||
|
public static BinanceClient Client { get { if(m_client == null)
|
||||||
|
{
|
||||||
|
m_client = new BinanceClient(new ClientConfiguration()
|
||||||
|
{
|
||||||
|
ApiKey = "oYPETR7iNwXEkVTS4DeUSpI9CchTiz7yvQqjls3LDdgnT3sY5pCcTyh4HcQVhLAX",
|
||||||
|
SecretKey = "8hZ85QwnGfUItWe288TjQRN3mlDWq3bPUMSsze4nyslaA96OPEUH9r1fwrC9ni7t",
|
||||||
|
});
|
||||||
|
} return m_client;
|
||||||
|
} }
|
||||||
|
}
|
||||||
|
}
|
||||||
118
SignalsTestCmd/CoinWatch.cs
Normal file
118
SignalsTestCmd/CoinWatch.cs
Normal file
|
|
@ -0,0 +1,118 @@
|
||||||
|
using BinanceExchange.API.Client;
|
||||||
|
using BinanceExchange.API.Enums;
|
||||||
|
using BinanceExchange.API.Models.Request;
|
||||||
|
using BinanceExchange.API.Models.Response;
|
||||||
|
using BinanceExchange.API.Models.WebSocket;
|
||||||
|
using BinanceExchange.API.Websockets;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using static System.Runtime.InteropServices.JavaScript.JSType;
|
||||||
|
|
||||||
|
namespace SignalsTest
|
||||||
|
{
|
||||||
|
|
||||||
|
|
||||||
|
public class CoinWatch
|
||||||
|
{
|
||||||
|
public string pair;
|
||||||
|
public KlineInterval interval = KlineInterval.FifteenMinutes;
|
||||||
|
public List<KlineCandleStickResponse> candles=new List<KlineCandleStickResponse>();
|
||||||
|
public List<TAReport> reports = new List<TAReport>();
|
||||||
|
public event EventHandler<BinanceTradeData> PriceUpdated;
|
||||||
|
bool usingCache;
|
||||||
|
public CoinWatch(string pair, KlineInterval _interval = KlineInterval.FifteenMinutes , bool useCache=false)
|
||||||
|
{
|
||||||
|
this.pair = pair;
|
||||||
|
interval = _interval;
|
||||||
|
usingCache = useCache;
|
||||||
|
Init();
|
||||||
|
}
|
||||||
|
|
||||||
|
void Init()
|
||||||
|
{
|
||||||
|
if(usingCache){
|
||||||
|
if(File.Exists(AppDomain.CurrentDomain.BaseDirectory+"/"+pair+".txt")){
|
||||||
|
try{
|
||||||
|
|
||||||
|
}catch{
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
InitLivestream();
|
||||||
|
KeepUpdatingCandles();
|
||||||
|
// TestCallbacks();
|
||||||
|
}
|
||||||
|
|
||||||
|
async void TestCallbacks()
|
||||||
|
{
|
||||||
|
while (true)
|
||||||
|
{
|
||||||
|
await Task.Delay(1000);
|
||||||
|
PriceUpdated?.Invoke(this, new BinanceTradeData() { BestAskPrice=0 });
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
async Task UpdateCandles()
|
||||||
|
{
|
||||||
|
GetKlinesCandlesticksRequest req = new GetKlinesCandlesticksRequest();
|
||||||
|
req.Interval = interval;
|
||||||
|
req.Symbol = pair;
|
||||||
|
req.EndTime = DateTime.Now;
|
||||||
|
req.Limit = 100;
|
||||||
|
|
||||||
|
candles = await Brian.Client.GetKlinesCandlesticks(req);
|
||||||
|
Console.WriteLine($"Done gettings Kandles for {req.Symbol}, {candles.Count} kandles retreived");
|
||||||
|
Analyze();
|
||||||
|
}
|
||||||
|
|
||||||
|
async void Analyze(){
|
||||||
|
int[] mas = new int[] { 7, 12, 25 };
|
||||||
|
reports = new List<TAReport>();
|
||||||
|
decimal max = 0;
|
||||||
|
decimal min = 10000000;
|
||||||
|
for(int i=0; i < candles.Count; i++){
|
||||||
|
|
||||||
|
TAReport report = TAReport.Generate(pair, Utils.GetMinutesForInterval(interval) ,candles, i,reports);
|
||||||
|
if(candles[i].Close > max){
|
||||||
|
max = candles[i].Close;
|
||||||
|
}
|
||||||
|
if(candles[i].Close < min){
|
||||||
|
min = candles[i].Close;
|
||||||
|
}
|
||||||
|
reports.Add(report);
|
||||||
|
}
|
||||||
|
|
||||||
|
Picasso.DrawChart(reports, max ,min);
|
||||||
|
Console.WriteLine("Picasso did his job");
|
||||||
|
await Messenger.instance.SendLastChart();
|
||||||
|
Console.WriteLine(reports[reports.Count-1].toJson());
|
||||||
|
await Messenger.instance.SendMessage(reports[reports.Count-1].toJson());
|
||||||
|
}
|
||||||
|
|
||||||
|
async void KeepUpdatingCandles()
|
||||||
|
{
|
||||||
|
UpdateCandles();
|
||||||
|
while(true)
|
||||||
|
{
|
||||||
|
await Task.Delay(60000);
|
||||||
|
Console.WriteLine($"Loop call {DateTime.Now.Minute} = {DateTime.Now.Minute % Utils.GetMinutesForInterval(interval)} ");
|
||||||
|
if (DateTime.Now.Minute % Utils.GetMinutesForInterval(interval) == 0) { UpdateCandles(); }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void InitLivestream()
|
||||||
|
{
|
||||||
|
var manualWebsocket = new InstanceBinanceWebSocketClient(Brian.Client);
|
||||||
|
var socketId = manualWebsocket.ConnectToIndividualSymbolTickerWebSocket(pair, data =>
|
||||||
|
{
|
||||||
|
if(candles.Count > 0){
|
||||||
|
candles[candles.Count - 1].Close = data.BestAskPrice;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
168
SignalsTestCmd/Indicators.cs
Normal file
168
SignalsTestCmd/Indicators.cs
Normal file
|
|
@ -0,0 +1,168 @@
|
||||||
|
using BinanceExchange.API.Models.Response;
|
||||||
|
|
||||||
|
public static class Indicators
|
||||||
|
{
|
||||||
|
|
||||||
|
public static decimal getSMA(List<KlineCandleStickResponse> responses, int curIndex, int interval, int startIndex = 0)
|
||||||
|
{
|
||||||
|
// curIndex = Math.Clamp(curIndex,0, responses.Count);
|
||||||
|
// decimal total = 0;
|
||||||
|
// for(int i=curIndex-interval; i < curIndex; i++){
|
||||||
|
// total += responses[i].Close;
|
||||||
|
// }
|
||||||
|
// // decimal length = (curIndex-startIndex); if(length <= 0){length=1;}
|
||||||
|
// // decimal N = (length / (decimal)interval);
|
||||||
|
// Console.WriteLine($"SMA Cacl ({interval}) : {total}/{interval} = {total/interval}");
|
||||||
|
|
||||||
|
// return total / interval;
|
||||||
|
|
||||||
|
decimal total = 0;
|
||||||
|
for (int x = (curIndex > 1500) ? 1500 : 0; x < interval; x++)
|
||||||
|
{
|
||||||
|
total += (curIndex - x >= 0) ? responses[curIndex - x].Close : (decimal)0;
|
||||||
|
}
|
||||||
|
return total / (decimal)interval;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static decimal getSMA(List<decimal> responses, int curIndex, int interval, int startIndex = 0)
|
||||||
|
{
|
||||||
|
decimal total = 0;
|
||||||
|
for (int x = (curIndex > 1500) ? 1500 : 0; x < interval; x++)
|
||||||
|
{
|
||||||
|
total += (curIndex - x >= 0) ? responses[curIndex - x] : (decimal)0;
|
||||||
|
}
|
||||||
|
return total / (decimal)interval;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static decimal getEMA(List<KlineCandleStickResponse> responses, int curIndex, int startIndex, int periods, decimal? prevEma = null)
|
||||||
|
{
|
||||||
|
if (curIndex < 1) { return 0; }
|
||||||
|
if (startIndex - curIndex > 1500) { return 0; }; if (curIndex >= responses.Count) { return 0; };
|
||||||
|
|
||||||
|
|
||||||
|
// decimal N = (decimal)curIndex / (decimal)periods;
|
||||||
|
|
||||||
|
decimal multiplier = (decimal)2 / ((decimal)(periods + 1));
|
||||||
|
decimal firstHalf = responses[curIndex].Close * multiplier; //First half of the equation
|
||||||
|
decimal secondHalf = getEMA(responses, curIndex - 1, startIndex, periods) * (1 - multiplier); //Second half of the equation
|
||||||
|
// decimal secondHalf = (prevEma ?? getSMA(responses, curIndex-1, periods)) * (1- multiplier); //Second half of the equation
|
||||||
|
|
||||||
|
return firstHalf + secondHalf;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static decimal getEMA(List<decimal> responses, int curIndex, int startIndex, int periods)
|
||||||
|
{
|
||||||
|
if (curIndex < 1) { return 0; }
|
||||||
|
if (startIndex - curIndex > 1500) { return 0; };
|
||||||
|
if (curIndex >= responses.Count) { return 0; };
|
||||||
|
|
||||||
|
// decimal N = (decimal)curIndex / (decimal)periods;
|
||||||
|
|
||||||
|
decimal multiplier = (decimal)2 / ((decimal)(periods + 1));
|
||||||
|
|
||||||
|
decimal firstHalf = responses[curIndex] * multiplier; //First half of the equation
|
||||||
|
decimal secondHalf = getEMA(responses, curIndex - 1, startIndex, periods) * (1 - multiplier); //Second half of the equation
|
||||||
|
// decimal secondHalf = (prevEma ?? getSMA(responses, curIndex-1, periods)) * (1- multiplier); //Second half of the equation
|
||||||
|
|
||||||
|
return firstHalf + secondHalf;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static decimal getMACD(List<KlineCandleStickResponse> responses, int shortPeriod, int longPeriod, int curIndex)
|
||||||
|
{
|
||||||
|
return getEMA(responses, curIndex, curIndex, shortPeriod) - getEMA(responses, curIndex, curIndex, longPeriod);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static decimal getATR(List<KlineCandleStickResponse> responses, int period, int curIndex, List<decimal> prevATRs)
|
||||||
|
{
|
||||||
|
if (curIndex <= 0 || curIndex > responses.Count) { return 0; }
|
||||||
|
|
||||||
|
if (curIndex >= responses.Count) { return 0; };
|
||||||
|
|
||||||
|
decimal TR = responses[curIndex].High - responses[curIndex].Low;
|
||||||
|
if (curIndex > 1)
|
||||||
|
{
|
||||||
|
decimal tr2 = responses[curIndex].High - responses[curIndex - 1].Close;
|
||||||
|
decimal tr3 = responses[curIndex].Low - responses[curIndex - 1].Close;
|
||||||
|
if (tr2 > TR)
|
||||||
|
{
|
||||||
|
TR = tr2;
|
||||||
|
}
|
||||||
|
if (tr3 > TR)
|
||||||
|
{
|
||||||
|
TR = tr3;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (curIndex < period)
|
||||||
|
{
|
||||||
|
//get just the TR
|
||||||
|
return TR;
|
||||||
|
}
|
||||||
|
decimal prevATR = 0;
|
||||||
|
if (prevATRs.Count > 0)
|
||||||
|
{
|
||||||
|
// int start = curIndex - period;
|
||||||
|
// for (int i = start; i < curIndex; i++)
|
||||||
|
// {
|
||||||
|
// prevATR += prevATRs[i];
|
||||||
|
// }
|
||||||
|
|
||||||
|
// prevATR = (prevATR) / (decimal)(curIndex-start);
|
||||||
|
prevATR = prevATRs[curIndex - 1];
|
||||||
|
}
|
||||||
|
decimal ATR = (decimal)((prevATR * (decimal)(period - 1)) + TR) / (decimal)period;
|
||||||
|
return ATR;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static decimal getRSI(List<KlineCandleStickResponse> responses, int index, int period = 14){
|
||||||
|
decimal avgGain = 0;
|
||||||
|
decimal avgLoss =0;
|
||||||
|
if(index < 2){return 0;}
|
||||||
|
int length = 0;
|
||||||
|
for(int i=index; i > index - period && i > 0; i--){
|
||||||
|
length++;
|
||||||
|
avgGain += responses[i].Close - responses[i-1].Close;
|
||||||
|
avgLoss += responses[i-1].Close - responses[i].Close;
|
||||||
|
}
|
||||||
|
if(length <=0){return 0;}
|
||||||
|
avgGain /= length;
|
||||||
|
avgLoss /= length;
|
||||||
|
decimal f =(1.0m+(avgGain/avgLoss));
|
||||||
|
if(f<=0){return 0;}
|
||||||
|
return 100.0m - (100.0m/f);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static bool didMACDLineCrossSignalLine(decimal[] MACDs, decimal[] Signals, int index, int period = 7, decimal threshold = (decimal)0.1)
|
||||||
|
{
|
||||||
|
int counter = 0;
|
||||||
|
if (index >= MACDs.Length || index >= Signals.Length) { return false; }
|
||||||
|
if (index - period < 0) { return false; };
|
||||||
|
for (int i = index; i > index - period; i--)
|
||||||
|
{
|
||||||
|
if (MACDs[i] < Signals[i])
|
||||||
|
{
|
||||||
|
counter++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
bool wasMACDUnder = counter > ((float)period / 2f);
|
||||||
|
return wasMACDUnder && MACDs[index] > Signals[index];
|
||||||
|
}
|
||||||
|
|
||||||
|
public static decimal getAvgDiff(List<KlineCandleStickResponse> responses, int i)
|
||||||
|
{
|
||||||
|
decimal avgDiff = 0;
|
||||||
|
|
||||||
|
if (i > 10)
|
||||||
|
{
|
||||||
|
for (int k = 1; k < 6; k++)
|
||||||
|
{
|
||||||
|
avgDiff += responses[i - k].Close;
|
||||||
|
}
|
||||||
|
|
||||||
|
avgDiff = avgDiff / (decimal)5;
|
||||||
|
avgDiff = responses[i].Close - avgDiff;
|
||||||
|
}
|
||||||
|
|
||||||
|
return avgDiff;
|
||||||
|
}
|
||||||
|
}
|
||||||
45
SignalsTestCmd/Messenger.cs
Normal file
45
SignalsTestCmd/Messenger.cs
Normal file
|
|
@ -0,0 +1,45 @@
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using Telegram.Bot;
|
||||||
|
using Telegram.Bot.Exceptions;
|
||||||
|
using Telegram.Bot.Polling;
|
||||||
|
using Telegram.Bot.Types;
|
||||||
|
using Telegram.Bot.Types.Enums;
|
||||||
|
|
||||||
|
namespace SignalsTest
|
||||||
|
{
|
||||||
|
public class Messenger
|
||||||
|
{
|
||||||
|
TelegramBotClient botClient;
|
||||||
|
|
||||||
|
private static Messenger m_instance;
|
||||||
|
public static Messenger instance { get { if (m_instance == null) { m_instance = new Messenger(); } return m_instance; } }
|
||||||
|
|
||||||
|
public async Task SendMessage(string text, string chat = "@doralockscryptosignals")
|
||||||
|
{
|
||||||
|
await botClient.SendTextMessageAsync(chat, text);
|
||||||
|
}
|
||||||
|
|
||||||
|
public async Task SendLastChart(string chat = "@doralockscryptosignals"){
|
||||||
|
FileStream fsSource = new FileStream("/var/www/html/test.png", FileMode.Open, FileAccess.Read);
|
||||||
|
InputFile photo = InputFile.FromStream(fsSource);
|
||||||
|
await botClient.SendPhotoAsync(chat, photo);
|
||||||
|
Console.WriteLine("Photo sent success");
|
||||||
|
}
|
||||||
|
|
||||||
|
public Messenger()
|
||||||
|
{
|
||||||
|
botClient = new TelegramBotClient("6878629725:AAGWFqmtsvf2xFLOTvsixY-LEG4ho2sLqrw");
|
||||||
|
using CancellationTokenSource cts = new();
|
||||||
|
|
||||||
|
// StartReceiving does not block the caller thread. Receiving is done on the ThreadPool.
|
||||||
|
ReceiverOptions receiverOptions = new()
|
||||||
|
{
|
||||||
|
AllowedUpdates = Array.Empty<UpdateType>() // receive all update types except ChatMember related updates
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
86
SignalsTestCmd/Picasso.cs
Normal file
86
SignalsTestCmd/Picasso.cs
Normal file
|
|
@ -0,0 +1,86 @@
|
||||||
|
using SignalsTest;
|
||||||
|
using System;
|
||||||
|
using SixLabors.Fonts;
|
||||||
|
using SixLabors.ImageSharp;
|
||||||
|
using SixLabors.ImageSharp.Drawing;
|
||||||
|
using SixLabors.ImageSharp.Drawing.Processing;
|
||||||
|
using SixLabors.ImageSharp.PixelFormats;
|
||||||
|
using SixLabors.ImageSharp.Processing;
|
||||||
|
using Newtonsoft.Json;
|
||||||
|
|
||||||
|
public class Picasso{
|
||||||
|
public static void DrawChart(List<TAReport> reports, decimal max, decimal min){
|
||||||
|
// float height = (float)Math.Ceiling(max - min) * 2f;
|
||||||
|
// float width = ((float)height / 9f) * 16f;
|
||||||
|
float heightRange = (float)Math.Ceiling(max - min);
|
||||||
|
float height=1080;
|
||||||
|
float width = 1920;
|
||||||
|
float widthMultiplier = width / (float)reports.Count;
|
||||||
|
using (Image img = new Image<Rgba32>((int)width + 100, (int)height)){
|
||||||
|
|
||||||
|
//Draw Candles
|
||||||
|
for(int i=0; i < reports.Count; i++){
|
||||||
|
// img.Mutate(ctx=> ctx.DrawLine()))
|
||||||
|
PointF[] points = new PointF[2];
|
||||||
|
points[0] =new PointF(i * widthMultiplier, (float)(reports[i].candle.Open - min));
|
||||||
|
points[1] =new PointF(i * widthMultiplier, (float)(reports[i].candle.Close - min));
|
||||||
|
|
||||||
|
PointF[] rangePoints = new PointF[2];
|
||||||
|
rangePoints[0] = new PointF(i * widthMultiplier, (float)(reports[i].candle.High-min));
|
||||||
|
rangePoints[1] = new PointF(i * widthMultiplier, (float)(reports[i].candle.Low-min));
|
||||||
|
|
||||||
|
img.Mutate(ctx=> ctx.DrawLine(reports[i].candle.Close > reports[i].candle.Open ? Color.Green : Color.Red, 10, points).DrawLine(
|
||||||
|
reports[i].candle.Close > reports[i].candle.Open ? Color.Green : Color.Red, 3, rangePoints
|
||||||
|
));
|
||||||
|
|
||||||
|
}
|
||||||
|
Console.WriteLine("Getting paths");
|
||||||
|
object t = GetPropByName(reports[reports.Count- 1], "SMA7");
|
||||||
|
Console.WriteLine(t);
|
||||||
|
Console.WriteLine(float.Parse(t.ToString()));
|
||||||
|
|
||||||
|
//Overlay
|
||||||
|
IPath sma7Path = GetPath(reports, "SMA7", widthMultiplier,heightRange, (float)min);
|
||||||
|
IPath sma25Path = GetPath(reports, "SMA25", widthMultiplier,heightRange, (float)min);
|
||||||
|
IPath stPath = GetPath(reports, "ST", widthMultiplier,heightRange, (float)min);
|
||||||
|
|
||||||
|
//NewChart
|
||||||
|
|
||||||
|
|
||||||
|
img.Mutate(ctx => ctx.Draw(Color.Yellow, 2, sma7Path).
|
||||||
|
Draw(Color.Purple, 2, sma25Path).
|
||||||
|
Draw(Color.Green, 3, stPath).
|
||||||
|
Flip(FlipMode.Vertical));
|
||||||
|
|
||||||
|
img.Save("/var/www/html/test.png");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
static IPath GetPath(List<TAReport> reports, string propName, float widthMultiplier,float heightRange, float min, float offset =0){
|
||||||
|
PathBuilder builder = new PathBuilder();
|
||||||
|
builder.SetOrigin(new PointF(0,0));
|
||||||
|
|
||||||
|
for(int i=0; i < reports.Count; i++){
|
||||||
|
float newVal = float.Parse(GetPropByName(reports[i],propName).ToString() ?? "0");
|
||||||
|
// Console.WriteLine( newVal);
|
||||||
|
|
||||||
|
float prevVal = i > 0 ? float.Parse(GetPropByName(reports[i-1],propName).ToString() ?? "0") : 0;
|
||||||
|
// Console.WriteLine( prevVal);
|
||||||
|
float preValY = prevVal - min;
|
||||||
|
float newValY=newVal - min;
|
||||||
|
PointF prevPoint = new PointF((i-1)* widthMultiplier, );
|
||||||
|
PointF newPoint = new PointF(i * widthMultiplier, );
|
||||||
|
//Console.WriteLine("new line");
|
||||||
|
builder.AddLine(prevPoint, newPoint);
|
||||||
|
}
|
||||||
|
|
||||||
|
return builder.Build();
|
||||||
|
}
|
||||||
|
|
||||||
|
static object GetPropByName(TAReport report, string propName){
|
||||||
|
string json = report.toJson();
|
||||||
|
Dictionary<string,string> dic = JsonConvert.DeserializeObject<Dictionary<string,string>>(json) ?? new Dictionary<string, string>();
|
||||||
|
// Console.WriteLine(dic[propName]);
|
||||||
|
return dic[propName];
|
||||||
|
}
|
||||||
|
}
|
||||||
20
SignalsTestCmd/Program.cs
Normal file
20
SignalsTestCmd/Program.cs
Normal file
|
|
@ -0,0 +1,20 @@
|
||||||
|
using BinanceExchange.API.Models.WebSocket;
|
||||||
|
using SignalsTest;
|
||||||
|
|
||||||
|
class Program
|
||||||
|
{
|
||||||
|
static ManualResetEvent _quitEvent = new ManualResetEvent(false);
|
||||||
|
private static void Main(string[] args)
|
||||||
|
{
|
||||||
|
Console.WriteLine("Initializing Messiah");
|
||||||
|
Messenger.instance.SendMessage("Rebooted bot");
|
||||||
|
CoinWatch btcWatch = new CoinWatch("BTCUSDT");
|
||||||
|
btcWatch.PriceUpdated += BtcWatch_OnPriceUpdate;
|
||||||
|
_quitEvent.WaitOne();
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void BtcWatch_OnPriceUpdate(Object? sender,BinanceTradeData data)
|
||||||
|
{
|
||||||
|
Console.WriteLine(data.BestAskPrice);
|
||||||
|
}
|
||||||
|
}
|
||||||
16
SignalsTestCmd/SignalsTestCmd.csproj
Normal file
16
SignalsTestCmd/SignalsTestCmd.csproj
Normal file
|
|
@ -0,0 +1,16 @@
|
||||||
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
|
|
||||||
|
<PropertyGroup>
|
||||||
|
<OutputType>Exe</OutputType>
|
||||||
|
<TargetFramework>net7.0</TargetFramework>
|
||||||
|
<ImplicitUsings>enable</ImplicitUsings>
|
||||||
|
<Nullable>enable</Nullable>
|
||||||
|
</PropertyGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<PackageReference Include="SixLabors.ImageSharp" Version="3.1.2" />
|
||||||
|
<PackageReference Include="SixLabors.ImageSharp.Drawing" Version="2.1.0" />
|
||||||
|
|
||||||
|
<PackageReference Include="BinanceDotNet" Version="4.12.0" />
|
||||||
|
<PackageReference Include="Telegram.Bot" Version="19.0.0" />
|
||||||
|
</ItemGroup>
|
||||||
|
</Project>
|
||||||
141
SignalsTestCmd/TAReport.cs
Normal file
141
SignalsTestCmd/TAReport.cs
Normal file
|
|
@ -0,0 +1,141 @@
|
||||||
|
using BinanceExchange.API.Models.Response;
|
||||||
|
using Newtonsoft.Json;
|
||||||
|
using SignalsTest;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace SignalsTest
|
||||||
|
{
|
||||||
|
public class TAReport
|
||||||
|
{
|
||||||
|
public string pair;
|
||||||
|
public int interval;
|
||||||
|
[JsonIgnore]
|
||||||
|
public KlineCandleStickResponse candle;
|
||||||
|
public decimal Close;
|
||||||
|
public decimal Open;
|
||||||
|
public decimal High;
|
||||||
|
public decimal Low;
|
||||||
|
public DateTime CloseTime;
|
||||||
|
public decimal SMA7;
|
||||||
|
public decimal SMA25;
|
||||||
|
public decimal SMA99;
|
||||||
|
|
||||||
|
public decimal EMA7,EMA25, EMA99;
|
||||||
|
|
||||||
|
public decimal MACD = 0;
|
||||||
|
public decimal EMACD = 0;
|
||||||
|
|
||||||
|
public decimal ATR14;
|
||||||
|
public decimal ATR10;
|
||||||
|
public decimal AVGDiff = 0;
|
||||||
|
|
||||||
|
public decimal STHigh;
|
||||||
|
public decimal STLow;
|
||||||
|
public decimal ST;
|
||||||
|
|
||||||
|
public decimal RSI=0;
|
||||||
|
|
||||||
|
public bool STUp => STHigh > Close;
|
||||||
|
|
||||||
|
public static TAReport Generate(string _pair, int _interval,List<KlineCandleStickResponse> response, int index, List<TAReport> history)
|
||||||
|
{
|
||||||
|
TAReport report = new TAReport();
|
||||||
|
report.pair = _pair;
|
||||||
|
report.interval = _interval;
|
||||||
|
report.candle = response[index];
|
||||||
|
report.Open = response[index].Open;
|
||||||
|
report.Close = response[index].Close;
|
||||||
|
report.High = response[index].High;
|
||||||
|
report.Low = response[index].Low;
|
||||||
|
report.CloseTime = response[index].CloseTime;
|
||||||
|
// foreach(int sma in m_SMA)
|
||||||
|
// {
|
||||||
|
// report.SMAs.Add(sma, Indicators.getSMA(response, index, sma));
|
||||||
|
// }
|
||||||
|
|
||||||
|
// foreach (int ema in m_EMA)
|
||||||
|
// {
|
||||||
|
// report.SMAs.Add(ema, Indicators.getEMA(response, index, 0, ema));
|
||||||
|
// }
|
||||||
|
report.SMA7 = Indicators.getSMA(response, index,7);
|
||||||
|
report.SMA25 = Indicators.getSMA(response, index,25);
|
||||||
|
report.SMA99 = Indicators.getSMA(response, index,99);
|
||||||
|
|
||||||
|
report.EMA7 = Indicators.getEMA(response, index,0, 7);
|
||||||
|
report.EMA25 = Indicators.getEMA(response, index,0,25);
|
||||||
|
report.EMA99 = Indicators.getEMA(response, index,0,99);
|
||||||
|
report.MACD = Indicators.getMACD(response, 12, 26, index);
|
||||||
|
|
||||||
|
report.RSI = Indicators.getRSI(response,index);
|
||||||
|
|
||||||
|
if(history == null){
|
||||||
|
return report;
|
||||||
|
}
|
||||||
|
//MACD Signal
|
||||||
|
List<decimal> MACDHistory = new List<decimal>();
|
||||||
|
List<decimal> ATR10History = new List<decimal>();
|
||||||
|
List<decimal> ATR14History = new List<decimal>();
|
||||||
|
|
||||||
|
foreach(TAReport item in history){
|
||||||
|
MACDHistory.Add(item.MACD);
|
||||||
|
ATR10History.Add(item.ATR10);
|
||||||
|
ATR14History.Add(item.ATR14);
|
||||||
|
}
|
||||||
|
report.EMACD = Indicators.getEMA(MACDHistory, index,0,9);
|
||||||
|
|
||||||
|
report.ATR10 = Indicators.getATR(response, 10,index, ATR10History);
|
||||||
|
report.ATR14 = Indicators.getATR(response, 14,index, ATR14History);
|
||||||
|
|
||||||
|
|
||||||
|
//SuperTrend
|
||||||
|
decimal SuperTrendUpper = (response[index].High + response[index].Low) / 2 + 3 * report.ATR10;
|
||||||
|
decimal SuperTrendLower = (response[index].High + response[index].Low) / 2 - 3 * report.ATR10;
|
||||||
|
decimal SuperTrendFinal = 0;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
if (index > 0)
|
||||||
|
{
|
||||||
|
if (history[index - 1].STHigh > SuperTrendUpper || history[index - 1].Close > history[index - 1].STHigh)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
SuperTrendUpper = history[index - 1].STHigh;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (history[index - 1].STLow < SuperTrendLower || history[index - 1].Close < history[index - 1].STLow)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
SuperTrendLower = history[index - 1].STLow;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
SuperTrendFinal = report.STUp ? SuperTrendLower : SuperTrendUpper;
|
||||||
|
report.ST = SuperTrendFinal;
|
||||||
|
|
||||||
|
return report;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public static class CustomExtensions
|
||||||
|
{
|
||||||
|
|
||||||
|
public static string toJson(this TAReport report)
|
||||||
|
{
|
||||||
|
return JsonConvert.SerializeObject(report, Formatting.Indented);
|
||||||
|
}
|
||||||
|
}
|
||||||
65
SignalsTestCmd/Utils.cs
Normal file
65
SignalsTestCmd/Utils.cs
Normal file
|
|
@ -0,0 +1,65 @@
|
||||||
|
using BinanceExchange.API.Enums;
|
||||||
|
using BinanceExchange.API.Models.Response;
|
||||||
|
using BinanceExchange.API.Models.WebSocket;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace SignalsTest
|
||||||
|
{
|
||||||
|
public class Utils
|
||||||
|
{
|
||||||
|
public static int GetMinutesForInterval(KlineInterval interval)
|
||||||
|
|
||||||
|
{
|
||||||
|
switch (interval)
|
||||||
|
{
|
||||||
|
case KlineInterval.OneMinute:
|
||||||
|
return 1;
|
||||||
|
case KlineInterval.ThreeMinutes:
|
||||||
|
return 3;
|
||||||
|
case KlineInterval.FiveMinutes:
|
||||||
|
return 5;
|
||||||
|
case KlineInterval.FifteenMinutes:
|
||||||
|
return 15;
|
||||||
|
case KlineInterval.ThirtyMinutes:
|
||||||
|
return 30;
|
||||||
|
case KlineInterval.OneHour:
|
||||||
|
return 60;
|
||||||
|
case KlineInterval.TwoHours:
|
||||||
|
return 120;
|
||||||
|
case KlineInterval.FourHours:
|
||||||
|
return 240;
|
||||||
|
case KlineInterval.EightHours:
|
||||||
|
return 60 * 8;
|
||||||
|
case KlineInterval.TwelveHours:
|
||||||
|
return 60 * 12;
|
||||||
|
case KlineInterval.SixHours:
|
||||||
|
return 60 * 6;
|
||||||
|
case KlineInterval.OneDay:
|
||||||
|
return 60 * 24;
|
||||||
|
case KlineInterval.ThreeDays:
|
||||||
|
return 60 * 24 * 3;
|
||||||
|
|
||||||
|
default:
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static KlineCandleStickResponse KlineToResponse(BinanceKlineData data)
|
||||||
|
{
|
||||||
|
KlineCandleStickResponse response = new KlineCandleStickResponse();
|
||||||
|
response.Open = data.Kline.Open;
|
||||||
|
response.Close = data.Kline.Close;
|
||||||
|
response.CloseTime = data.Kline.EndTime;
|
||||||
|
response.OpenTime = data.Kline.StartTime;
|
||||||
|
response.High = data.Kline.High;
|
||||||
|
response.Low = data.Kline.Low;
|
||||||
|
response.Volume = data.Kline.Volume;
|
||||||
|
|
||||||
|
return response;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
BIN
SignalsTestCmd/bin/Debug/net7.0/BinanceExchange.API.dll
Executable file
BIN
SignalsTestCmd/bin/Debug/net7.0/BinanceExchange.API.dll
Executable file
Binary file not shown.
BIN
SignalsTestCmd/bin/Debug/net7.0/Microsoft.Extensions.Caching.Abstractions.dll
Executable file
BIN
SignalsTestCmd/bin/Debug/net7.0/Microsoft.Extensions.Caching.Abstractions.dll
Executable file
Binary file not shown.
BIN
SignalsTestCmd/bin/Debug/net7.0/Microsoft.Extensions.Caching.Memory.dll
Executable file
BIN
SignalsTestCmd/bin/Debug/net7.0/Microsoft.Extensions.Caching.Memory.dll
Executable file
Binary file not shown.
Binary file not shown.
BIN
SignalsTestCmd/bin/Debug/net7.0/Microsoft.Extensions.Options.dll
Executable file
BIN
SignalsTestCmd/bin/Debug/net7.0/Microsoft.Extensions.Options.dll
Executable file
Binary file not shown.
BIN
SignalsTestCmd/bin/Debug/net7.0/Microsoft.Extensions.Primitives.dll
Executable file
BIN
SignalsTestCmd/bin/Debug/net7.0/Microsoft.Extensions.Primitives.dll
Executable file
Binary file not shown.
BIN
SignalsTestCmd/bin/Debug/net7.0/Newtonsoft.Json.dll
Executable file
BIN
SignalsTestCmd/bin/Debug/net7.0/Newtonsoft.Json.dll
Executable file
Binary file not shown.
BIN
SignalsTestCmd/bin/Debug/net7.0/SignalsTestCmd
Executable file
BIN
SignalsTestCmd/bin/Debug/net7.0/SignalsTestCmd
Executable file
Binary file not shown.
1718
SignalsTestCmd/bin/Debug/net7.0/SignalsTestCmd.deps.json
Normal file
1718
SignalsTestCmd/bin/Debug/net7.0/SignalsTestCmd.deps.json
Normal file
File diff suppressed because it is too large
Load Diff
BIN
SignalsTestCmd/bin/Debug/net7.0/SignalsTestCmd.dll
Normal file
BIN
SignalsTestCmd/bin/Debug/net7.0/SignalsTestCmd.dll
Normal file
Binary file not shown.
BIN
SignalsTestCmd/bin/Debug/net7.0/SignalsTestCmd.pdb
Normal file
BIN
SignalsTestCmd/bin/Debug/net7.0/SignalsTestCmd.pdb
Normal file
Binary file not shown.
|
|
@ -0,0 +1,9 @@
|
||||||
|
{
|
||||||
|
"runtimeOptions": {
|
||||||
|
"tfm": "net7.0",
|
||||||
|
"framework": {
|
||||||
|
"name": "Microsoft.NETCore.App",
|
||||||
|
"version": "7.0.0"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
BIN
SignalsTestCmd/bin/Debug/net7.0/SixLabors.Fonts.dll
Executable file
BIN
SignalsTestCmd/bin/Debug/net7.0/SixLabors.Fonts.dll
Executable file
Binary file not shown.
BIN
SignalsTestCmd/bin/Debug/net7.0/SixLabors.ImageSharp.Drawing.dll
Executable file
BIN
SignalsTestCmd/bin/Debug/net7.0/SixLabors.ImageSharp.Drawing.dll
Executable file
Binary file not shown.
BIN
SignalsTestCmd/bin/Debug/net7.0/SixLabors.ImageSharp.dll
Executable file
BIN
SignalsTestCmd/bin/Debug/net7.0/SixLabors.ImageSharp.dll
Executable file
Binary file not shown.
BIN
SignalsTestCmd/bin/Debug/net7.0/Telegram.Bot.dll
Executable file
BIN
SignalsTestCmd/bin/Debug/net7.0/Telegram.Bot.dll
Executable file
Binary file not shown.
BIN
SignalsTestCmd/bin/Debug/net7.0/log4net.dll
Executable file
BIN
SignalsTestCmd/bin/Debug/net7.0/log4net.dll
Executable file
Binary file not shown.
BIN
SignalsTestCmd/bin/Debug/net7.0/websocket-sharp.dll
Executable file
BIN
SignalsTestCmd/bin/Debug/net7.0/websocket-sharp.dll
Executable file
Binary file not shown.
|
|
@ -0,0 +1,4 @@
|
||||||
|
// <autogenerated />
|
||||||
|
using System;
|
||||||
|
using System.Reflection;
|
||||||
|
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v7.0", FrameworkDisplayName = ".NET 7.0")]
|
||||||
|
|
@ -0,0 +1,22 @@
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
// <auto-generated>
|
||||||
|
// This code was generated by a tool.
|
||||||
|
//
|
||||||
|
// Changes to this file may cause incorrect behavior and will be lost if
|
||||||
|
// the code is regenerated.
|
||||||
|
// </auto-generated>
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
using System;
|
||||||
|
using System.Reflection;
|
||||||
|
|
||||||
|
[assembly: System.Reflection.AssemblyCompanyAttribute("SignalsTestCmd")]
|
||||||
|
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
|
||||||
|
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
|
||||||
|
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")]
|
||||||
|
[assembly: System.Reflection.AssemblyProductAttribute("SignalsTestCmd")]
|
||||||
|
[assembly: System.Reflection.AssemblyTitleAttribute("SignalsTestCmd")]
|
||||||
|
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
|
||||||
|
|
||||||
|
// Generated by the MSBuild WriteCodeFragment class.
|
||||||
|
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
7060ad6c3ca3f77ac1c513d5d4c99447fea22aba
|
||||||
|
|
@ -0,0 +1,11 @@
|
||||||
|
is_global = true
|
||||||
|
build_property.TargetFramework = net7.0
|
||||||
|
build_property.TargetPlatformMinVersion =
|
||||||
|
build_property.UsingMicrosoftNETSdkWeb =
|
||||||
|
build_property.ProjectTypeGuids =
|
||||||
|
build_property.InvariantGlobalization =
|
||||||
|
build_property.PlatformNeutralAssembly =
|
||||||
|
build_property.EnforceExtendedAnalyzerRules =
|
||||||
|
build_property._SupportedPlatformList = Linux,macOS,Windows
|
||||||
|
build_property.RootNamespace = SignalsTestCmd
|
||||||
|
build_property.ProjectDir = /root/c projcts/SignalsTest/SignalsTestCmd/
|
||||||
|
|
@ -0,0 +1,8 @@
|
||||||
|
// <auto-generated/>
|
||||||
|
global using global::System;
|
||||||
|
global using global::System.Collections.Generic;
|
||||||
|
global using global::System.IO;
|
||||||
|
global using global::System.Linq;
|
||||||
|
global using global::System.Net.Http;
|
||||||
|
global using global::System.Threading;
|
||||||
|
global using global::System.Threading.Tasks;
|
||||||
BIN
SignalsTestCmd/obj/Debug/net7.0/SignalsTestCmd.assets.cache
Normal file
BIN
SignalsTestCmd/obj/Debug/net7.0/SignalsTestCmd.assets.cache
Normal file
Binary file not shown.
Binary file not shown.
|
|
@ -0,0 +1 @@
|
||||||
|
c71fe83dcf60f2527a7c98e03bc0f0cd2a6ef067
|
||||||
|
|
@ -0,0 +1,29 @@
|
||||||
|
/root/c projcts/SignalsTest/SignalsTestCmd/bin/Debug/net7.0/SignalsTestCmd
|
||||||
|
/root/c projcts/SignalsTest/SignalsTestCmd/bin/Debug/net7.0/SignalsTestCmd.deps.json
|
||||||
|
/root/c projcts/SignalsTest/SignalsTestCmd/bin/Debug/net7.0/SignalsTestCmd.runtimeconfig.json
|
||||||
|
/root/c projcts/SignalsTest/SignalsTestCmd/bin/Debug/net7.0/SignalsTestCmd.dll
|
||||||
|
/root/c projcts/SignalsTest/SignalsTestCmd/bin/Debug/net7.0/SignalsTestCmd.pdb
|
||||||
|
/root/c projcts/SignalsTest/SignalsTestCmd/bin/Debug/net7.0/BinanceExchange.API.dll
|
||||||
|
/root/c projcts/SignalsTest/SignalsTestCmd/bin/Debug/net7.0/log4net.dll
|
||||||
|
/root/c projcts/SignalsTest/SignalsTestCmd/bin/Debug/net7.0/Microsoft.Extensions.Caching.Abstractions.dll
|
||||||
|
/root/c projcts/SignalsTest/SignalsTestCmd/bin/Debug/net7.0/Microsoft.Extensions.Caching.Memory.dll
|
||||||
|
/root/c projcts/SignalsTest/SignalsTestCmd/bin/Debug/net7.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll
|
||||||
|
/root/c projcts/SignalsTest/SignalsTestCmd/bin/Debug/net7.0/Microsoft.Extensions.Options.dll
|
||||||
|
/root/c projcts/SignalsTest/SignalsTestCmd/bin/Debug/net7.0/Microsoft.Extensions.Primitives.dll
|
||||||
|
/root/c projcts/SignalsTest/SignalsTestCmd/bin/Debug/net7.0/Newtonsoft.Json.dll
|
||||||
|
/root/c projcts/SignalsTest/SignalsTestCmd/bin/Debug/net7.0/Telegram.Bot.dll
|
||||||
|
/root/c projcts/SignalsTest/SignalsTestCmd/bin/Debug/net7.0/websocket-sharp.dll
|
||||||
|
/root/c projcts/SignalsTest/SignalsTestCmd/obj/Debug/net7.0/SignalsTestCmd.csproj.AssemblyReference.cache
|
||||||
|
/root/c projcts/SignalsTest/SignalsTestCmd/obj/Debug/net7.0/SignalsTestCmd.GeneratedMSBuildEditorConfig.editorconfig
|
||||||
|
/root/c projcts/SignalsTest/SignalsTestCmd/obj/Debug/net7.0/SignalsTestCmd.AssemblyInfoInputs.cache
|
||||||
|
/root/c projcts/SignalsTest/SignalsTestCmd/obj/Debug/net7.0/SignalsTestCmd.AssemblyInfo.cs
|
||||||
|
/root/c projcts/SignalsTest/SignalsTestCmd/obj/Debug/net7.0/SignalsTestCmd.csproj.CoreCompileInputs.cache
|
||||||
|
/root/c projcts/SignalsTest/SignalsTestCmd/obj/Debug/net7.0/SignalsTestCmd.csproj.CopyComplete
|
||||||
|
/root/c projcts/SignalsTest/SignalsTestCmd/obj/Debug/net7.0/SignalsTestCmd.dll
|
||||||
|
/root/c projcts/SignalsTest/SignalsTestCmd/obj/Debug/net7.0/refint/SignalsTestCmd.dll
|
||||||
|
/root/c projcts/SignalsTest/SignalsTestCmd/obj/Debug/net7.0/SignalsTestCmd.pdb
|
||||||
|
/root/c projcts/SignalsTest/SignalsTestCmd/obj/Debug/net7.0/SignalsTestCmd.genruntimeconfig.cache
|
||||||
|
/root/c projcts/SignalsTest/SignalsTestCmd/obj/Debug/net7.0/ref/SignalsTestCmd.dll
|
||||||
|
/root/c projcts/SignalsTest/SignalsTestCmd/bin/Debug/net7.0/SixLabors.Fonts.dll
|
||||||
|
/root/c projcts/SignalsTest/SignalsTestCmd/bin/Debug/net7.0/SixLabors.ImageSharp.dll
|
||||||
|
/root/c projcts/SignalsTest/SignalsTestCmd/bin/Debug/net7.0/SixLabors.ImageSharp.Drawing.dll
|
||||||
BIN
SignalsTestCmd/obj/Debug/net7.0/SignalsTestCmd.dll
Normal file
BIN
SignalsTestCmd/obj/Debug/net7.0/SignalsTestCmd.dll
Normal file
Binary file not shown.
|
|
@ -0,0 +1 @@
|
||||||
|
b0a4e34895ba0a24e1212702cd281b993d00b12b
|
||||||
BIN
SignalsTestCmd/obj/Debug/net7.0/SignalsTestCmd.pdb
Normal file
BIN
SignalsTestCmd/obj/Debug/net7.0/SignalsTestCmd.pdb
Normal file
Binary file not shown.
BIN
SignalsTestCmd/obj/Debug/net7.0/apphost
Executable file
BIN
SignalsTestCmd/obj/Debug/net7.0/apphost
Executable file
Binary file not shown.
BIN
SignalsTestCmd/obj/Debug/net7.0/ref/SignalsTestCmd.dll
Normal file
BIN
SignalsTestCmd/obj/Debug/net7.0/ref/SignalsTestCmd.dll
Normal file
Binary file not shown.
BIN
SignalsTestCmd/obj/Debug/net7.0/refint/SignalsTestCmd.dll
Normal file
BIN
SignalsTestCmd/obj/Debug/net7.0/refint/SignalsTestCmd.dll
Normal file
Binary file not shown.
79
SignalsTestCmd/obj/SignalsTestCmd.csproj.nuget.dgspec.json
Normal file
79
SignalsTestCmd/obj/SignalsTestCmd.csproj.nuget.dgspec.json
Normal file
|
|
@ -0,0 +1,79 @@
|
||||||
|
{
|
||||||
|
"format": 1,
|
||||||
|
"restore": {
|
||||||
|
"/root/c projcts/SignalsTest/SignalsTestCmd/SignalsTestCmd.csproj": {}
|
||||||
|
},
|
||||||
|
"projects": {
|
||||||
|
"/root/c projcts/SignalsTest/SignalsTestCmd/SignalsTestCmd.csproj": {
|
||||||
|
"version": "1.0.0",
|
||||||
|
"restore": {
|
||||||
|
"projectUniqueName": "/root/c projcts/SignalsTest/SignalsTestCmd/SignalsTestCmd.csproj",
|
||||||
|
"projectName": "SignalsTestCmd",
|
||||||
|
"projectPath": "/root/c projcts/SignalsTest/SignalsTestCmd/SignalsTestCmd.csproj",
|
||||||
|
"packagesPath": "/root/.nuget/packages/",
|
||||||
|
"outputPath": "/root/c projcts/SignalsTest/SignalsTestCmd/obj/",
|
||||||
|
"projectStyle": "PackageReference",
|
||||||
|
"configFilePaths": [
|
||||||
|
"/root/.nuget/NuGet/NuGet.Config"
|
||||||
|
],
|
||||||
|
"originalTargetFrameworks": [
|
||||||
|
"net7.0"
|
||||||
|
],
|
||||||
|
"sources": {
|
||||||
|
"https://api.nuget.org/v3/index.json": {}
|
||||||
|
},
|
||||||
|
"frameworks": {
|
||||||
|
"net7.0": {
|
||||||
|
"targetAlias": "net7.0",
|
||||||
|
"projectReferences": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"warningProperties": {
|
||||||
|
"warnAsError": [
|
||||||
|
"NU1605"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"frameworks": {
|
||||||
|
"net7.0": {
|
||||||
|
"targetAlias": "net7.0",
|
||||||
|
"dependencies": {
|
||||||
|
"BinanceDotNet": {
|
||||||
|
"target": "Package",
|
||||||
|
"version": "[4.12.0, )"
|
||||||
|
},
|
||||||
|
"SixLabors.ImageSharp": {
|
||||||
|
"target": "Package",
|
||||||
|
"version": "[3.1.2, )"
|
||||||
|
},
|
||||||
|
"SixLabors.ImageSharp.Drawing": {
|
||||||
|
"target": "Package",
|
||||||
|
"version": "[2.1.0, )"
|
||||||
|
},
|
||||||
|
"Telegram.Bot": {
|
||||||
|
"target": "Package",
|
||||||
|
"version": "[19.0.0, )"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"imports": [
|
||||||
|
"net461",
|
||||||
|
"net462",
|
||||||
|
"net47",
|
||||||
|
"net471",
|
||||||
|
"net472",
|
||||||
|
"net48",
|
||||||
|
"net481"
|
||||||
|
],
|
||||||
|
"assetTargetFallback": true,
|
||||||
|
"warn": true,
|
||||||
|
"frameworkReferences": {
|
||||||
|
"Microsoft.NETCore.App": {
|
||||||
|
"privateAssets": "all"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"runtimeIdentifierGraphPath": "/usr/share/dotnet/sdk/7.0.201/RuntimeIdentifierGraph.json"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
18
SignalsTestCmd/obj/SignalsTestCmd.csproj.nuget.g.props
Normal file
18
SignalsTestCmd/obj/SignalsTestCmd.csproj.nuget.g.props
Normal file
|
|
@ -0,0 +1,18 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8" standalone="no"?>
|
||||||
|
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<PropertyGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
|
||||||
|
<RestoreSuccess Condition=" '$(RestoreSuccess)' == '' ">True</RestoreSuccess>
|
||||||
|
<RestoreTool Condition=" '$(RestoreTool)' == '' ">NuGet</RestoreTool>
|
||||||
|
<ProjectAssetsFile Condition=" '$(ProjectAssetsFile)' == '' ">$(MSBuildThisFileDirectory)project.assets.json</ProjectAssetsFile>
|
||||||
|
<NuGetPackageRoot Condition=" '$(NuGetPackageRoot)' == '' ">/root/.nuget/packages/</NuGetPackageRoot>
|
||||||
|
<NuGetPackageFolders Condition=" '$(NuGetPackageFolders)' == '' ">/root/.nuget/packages/</NuGetPackageFolders>
|
||||||
|
<NuGetProjectStyle Condition=" '$(NuGetProjectStyle)' == '' ">PackageReference</NuGetProjectStyle>
|
||||||
|
<NuGetToolVersion Condition=" '$(NuGetToolVersion)' == '' ">6.5.0</NuGetToolVersion>
|
||||||
|
</PropertyGroup>
|
||||||
|
<ItemGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
|
||||||
|
<SourceRoot Include="/root/.nuget/packages/" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ImportGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
|
||||||
|
<Import Project="$(NuGetPackageRoot)sixlabors.imagesharp/3.1.2/build/SixLabors.ImageSharp.props" Condition="Exists('$(NuGetPackageRoot)sixlabors.imagesharp/3.1.2/build/SixLabors.ImageSharp.props')" />
|
||||||
|
</ImportGroup>
|
||||||
|
</Project>
|
||||||
2
SignalsTestCmd/obj/SignalsTestCmd.csproj.nuget.g.targets
Normal file
2
SignalsTestCmd/obj/SignalsTestCmd.csproj.nuget.g.targets
Normal file
|
|
@ -0,0 +1,2 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8" standalone="no"?>
|
||||||
|
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
|
||||||
5970
SignalsTestCmd/obj/project.assets.json
Normal file
5970
SignalsTestCmd/obj/project.assets.json
Normal file
File diff suppressed because it is too large
Load Diff
109
SignalsTestCmd/obj/project.nuget.cache
Normal file
109
SignalsTestCmd/obj/project.nuget.cache
Normal file
|
|
@ -0,0 +1,109 @@
|
||||||
|
{
|
||||||
|
"version": 2,
|
||||||
|
"dgSpecHash": "0dy1fIH4LXaYJNzXAGhPMDd/2Pui2dxCh3DhqG4BUXOxDx6IC01Oan1Eowgrl2aH8HNjRzJ4Ox4qNMamruXXzQ==",
|
||||||
|
"success": true,
|
||||||
|
"projectFilePath": "/root/c projcts/SignalsTest/SignalsTestCmd/SignalsTestCmd.csproj",
|
||||||
|
"expectedPackageFiles": [
|
||||||
|
"/root/.nuget/packages/binancedotnet/4.12.0/binancedotnet.4.12.0.nupkg.sha512",
|
||||||
|
"/root/.nuget/packages/log4net/2.0.8/log4net.2.0.8.nupkg.sha512",
|
||||||
|
"/root/.nuget/packages/microsoft.extensions.caching.abstractions/1.0.0/microsoft.extensions.caching.abstractions.1.0.0.nupkg.sha512",
|
||||||
|
"/root/.nuget/packages/microsoft.extensions.caching.memory/1.0.0/microsoft.extensions.caching.memory.1.0.0.nupkg.sha512",
|
||||||
|
"/root/.nuget/packages/microsoft.extensions.dependencyinjection.abstractions/1.0.0/microsoft.extensions.dependencyinjection.abstractions.1.0.0.nupkg.sha512",
|
||||||
|
"/root/.nuget/packages/microsoft.extensions.options/1.0.0/microsoft.extensions.options.1.0.0.nupkg.sha512",
|
||||||
|
"/root/.nuget/packages/microsoft.extensions.primitives/1.0.0/microsoft.extensions.primitives.1.0.0.nupkg.sha512",
|
||||||
|
"/root/.nuget/packages/microsoft.netcore.platforms/1.1.0/microsoft.netcore.platforms.1.1.0.nupkg.sha512",
|
||||||
|
"/root/.nuget/packages/microsoft.netcore.targets/1.1.0/microsoft.netcore.targets.1.1.0.nupkg.sha512",
|
||||||
|
"/root/.nuget/packages/microsoft.win32.primitives/4.0.1/microsoft.win32.primitives.4.0.1.nupkg.sha512",
|
||||||
|
"/root/.nuget/packages/microsoft.win32.registry/4.0.0/microsoft.win32.registry.4.0.0.nupkg.sha512",
|
||||||
|
"/root/.nuget/packages/newtonsoft.json/13.0.1/newtonsoft.json.13.0.1.nupkg.sha512",
|
||||||
|
"/root/.nuget/packages/runtime.debian.8-x64.runtime.native.system.security.cryptography.openssl/4.3.2/runtime.debian.8-x64.runtime.native.system.security.cryptography.openssl.4.3.2.nupkg.sha512",
|
||||||
|
"/root/.nuget/packages/runtime.fedora.23-x64.runtime.native.system.security.cryptography.openssl/4.3.2/runtime.fedora.23-x64.runtime.native.system.security.cryptography.openssl.4.3.2.nupkg.sha512",
|
||||||
|
"/root/.nuget/packages/runtime.fedora.24-x64.runtime.native.system.security.cryptography.openssl/4.3.2/runtime.fedora.24-x64.runtime.native.system.security.cryptography.openssl.4.3.2.nupkg.sha512",
|
||||||
|
"/root/.nuget/packages/runtime.native.system/4.3.0/runtime.native.system.4.3.0.nupkg.sha512",
|
||||||
|
"/root/.nuget/packages/runtime.native.system.net.http/4.3.0/runtime.native.system.net.http.4.3.0.nupkg.sha512",
|
||||||
|
"/root/.nuget/packages/runtime.native.system.security.cryptography.apple/4.3.0/runtime.native.system.security.cryptography.apple.4.3.0.nupkg.sha512",
|
||||||
|
"/root/.nuget/packages/runtime.native.system.security.cryptography.openssl/4.3.2/runtime.native.system.security.cryptography.openssl.4.3.2.nupkg.sha512",
|
||||||
|
"/root/.nuget/packages/runtime.opensuse.13.2-x64.runtime.native.system.security.cryptography.openssl/4.3.2/runtime.opensuse.13.2-x64.runtime.native.system.security.cryptography.openssl.4.3.2.nupkg.sha512",
|
||||||
|
"/root/.nuget/packages/runtime.opensuse.42.1-x64.runtime.native.system.security.cryptography.openssl/4.3.2/runtime.opensuse.42.1-x64.runtime.native.system.security.cryptography.openssl.4.3.2.nupkg.sha512",
|
||||||
|
"/root/.nuget/packages/runtime.osx.10.10-x64.runtime.native.system.security.cryptography.apple/4.3.0/runtime.osx.10.10-x64.runtime.native.system.security.cryptography.apple.4.3.0.nupkg.sha512",
|
||||||
|
"/root/.nuget/packages/runtime.osx.10.10-x64.runtime.native.system.security.cryptography.openssl/4.3.2/runtime.osx.10.10-x64.runtime.native.system.security.cryptography.openssl.4.3.2.nupkg.sha512",
|
||||||
|
"/root/.nuget/packages/runtime.rhel.7-x64.runtime.native.system.security.cryptography.openssl/4.3.2/runtime.rhel.7-x64.runtime.native.system.security.cryptography.openssl.4.3.2.nupkg.sha512",
|
||||||
|
"/root/.nuget/packages/runtime.ubuntu.14.04-x64.runtime.native.system.security.cryptography.openssl/4.3.2/runtime.ubuntu.14.04-x64.runtime.native.system.security.cryptography.openssl.4.3.2.nupkg.sha512",
|
||||||
|
"/root/.nuget/packages/runtime.ubuntu.16.04-x64.runtime.native.system.security.cryptography.openssl/4.3.2/runtime.ubuntu.16.04-x64.runtime.native.system.security.cryptography.openssl.4.3.2.nupkg.sha512",
|
||||||
|
"/root/.nuget/packages/runtime.ubuntu.16.10-x64.runtime.native.system.security.cryptography.openssl/4.3.2/runtime.ubuntu.16.10-x64.runtime.native.system.security.cryptography.openssl.4.3.2.nupkg.sha512",
|
||||||
|
"/root/.nuget/packages/sixlabors.fonts/2.0.1/sixlabors.fonts.2.0.1.nupkg.sha512",
|
||||||
|
"/root/.nuget/packages/sixlabors.imagesharp/3.1.2/sixlabors.imagesharp.3.1.2.nupkg.sha512",
|
||||||
|
"/root/.nuget/packages/sixlabors.imagesharp.drawing/2.1.0/sixlabors.imagesharp.drawing.2.1.0.nupkg.sha512",
|
||||||
|
"/root/.nuget/packages/system.appcontext/4.1.0/system.appcontext.4.1.0.nupkg.sha512",
|
||||||
|
"/root/.nuget/packages/system.collections/4.3.0/system.collections.4.3.0.nupkg.sha512",
|
||||||
|
"/root/.nuget/packages/system.collections.concurrent/4.3.0/system.collections.concurrent.4.3.0.nupkg.sha512",
|
||||||
|
"/root/.nuget/packages/system.collections.immutable/1.2.0/system.collections.immutable.1.2.0.nupkg.sha512",
|
||||||
|
"/root/.nuget/packages/system.collections.nongeneric/4.0.1/system.collections.nongeneric.4.0.1.nupkg.sha512",
|
||||||
|
"/root/.nuget/packages/system.componentmodel/4.0.1/system.componentmodel.4.0.1.nupkg.sha512",
|
||||||
|
"/root/.nuget/packages/system.console/4.0.0/system.console.4.0.0.nupkg.sha512",
|
||||||
|
"/root/.nuget/packages/system.diagnostics.debug/4.3.0/system.diagnostics.debug.4.3.0.nupkg.sha512",
|
||||||
|
"/root/.nuget/packages/system.diagnostics.diagnosticsource/4.3.0/system.diagnostics.diagnosticsource.4.3.0.nupkg.sha512",
|
||||||
|
"/root/.nuget/packages/system.diagnostics.process/4.1.0/system.diagnostics.process.4.1.0.nupkg.sha512",
|
||||||
|
"/root/.nuget/packages/system.diagnostics.stacktrace/4.0.1/system.diagnostics.stacktrace.4.0.1.nupkg.sha512",
|
||||||
|
"/root/.nuget/packages/system.diagnostics.tracesource/4.0.0/system.diagnostics.tracesource.4.0.0.nupkg.sha512",
|
||||||
|
"/root/.nuget/packages/system.diagnostics.tracing/4.3.0/system.diagnostics.tracing.4.3.0.nupkg.sha512",
|
||||||
|
"/root/.nuget/packages/system.globalization/4.3.0/system.globalization.4.3.0.nupkg.sha512",
|
||||||
|
"/root/.nuget/packages/system.globalization.calendars/4.3.0/system.globalization.calendars.4.3.0.nupkg.sha512",
|
||||||
|
"/root/.nuget/packages/system.globalization.extensions/4.3.0/system.globalization.extensions.4.3.0.nupkg.sha512",
|
||||||
|
"/root/.nuget/packages/system.io/4.3.0/system.io.4.3.0.nupkg.sha512",
|
||||||
|
"/root/.nuget/packages/system.io.filesystem/4.3.0/system.io.filesystem.4.3.0.nupkg.sha512",
|
||||||
|
"/root/.nuget/packages/system.io.filesystem.primitives/4.3.0/system.io.filesystem.primitives.4.3.0.nupkg.sha512",
|
||||||
|
"/root/.nuget/packages/system.io.filesystem.watcher/4.0.0/system.io.filesystem.watcher.4.0.0.nupkg.sha512",
|
||||||
|
"/root/.nuget/packages/system.linq/4.3.0/system.linq.4.3.0.nupkg.sha512",
|
||||||
|
"/root/.nuget/packages/system.linq.expressions/4.1.0/system.linq.expressions.4.1.0.nupkg.sha512",
|
||||||
|
"/root/.nuget/packages/system.net.http/4.3.3/system.net.http.4.3.3.nupkg.sha512",
|
||||||
|
"/root/.nuget/packages/system.net.nameresolution/4.0.0/system.net.nameresolution.4.0.0.nupkg.sha512",
|
||||||
|
"/root/.nuget/packages/system.net.primitives/4.3.0/system.net.primitives.4.3.0.nupkg.sha512",
|
||||||
|
"/root/.nuget/packages/system.net.requests/4.0.11/system.net.requests.4.0.11.nupkg.sha512",
|
||||||
|
"/root/.nuget/packages/system.net.sockets/4.1.0/system.net.sockets.4.1.0.nupkg.sha512",
|
||||||
|
"/root/.nuget/packages/system.net.webheadercollection/4.0.1/system.net.webheadercollection.4.0.1.nupkg.sha512",
|
||||||
|
"/root/.nuget/packages/system.objectmodel/4.0.12/system.objectmodel.4.0.12.nupkg.sha512",
|
||||||
|
"/root/.nuget/packages/system.reflection/4.3.0/system.reflection.4.3.0.nupkg.sha512",
|
||||||
|
"/root/.nuget/packages/system.reflection.emit/4.0.1/system.reflection.emit.4.0.1.nupkg.sha512",
|
||||||
|
"/root/.nuget/packages/system.reflection.emit.ilgeneration/4.0.1/system.reflection.emit.ilgeneration.4.0.1.nupkg.sha512",
|
||||||
|
"/root/.nuget/packages/system.reflection.emit.lightweight/4.0.1/system.reflection.emit.lightweight.4.0.1.nupkg.sha512",
|
||||||
|
"/root/.nuget/packages/system.reflection.extensions/4.0.1/system.reflection.extensions.4.0.1.nupkg.sha512",
|
||||||
|
"/root/.nuget/packages/system.reflection.metadata/1.3.0/system.reflection.metadata.1.3.0.nupkg.sha512",
|
||||||
|
"/root/.nuget/packages/system.reflection.primitives/4.3.0/system.reflection.primitives.4.3.0.nupkg.sha512",
|
||||||
|
"/root/.nuget/packages/system.reflection.typeextensions/4.1.0/system.reflection.typeextensions.4.1.0.nupkg.sha512",
|
||||||
|
"/root/.nuget/packages/system.resources.resourcemanager/4.3.0/system.resources.resourcemanager.4.3.0.nupkg.sha512",
|
||||||
|
"/root/.nuget/packages/system.runtime/4.3.0/system.runtime.4.3.0.nupkg.sha512",
|
||||||
|
"/root/.nuget/packages/system.runtime.extensions/4.3.0/system.runtime.extensions.4.3.0.nupkg.sha512",
|
||||||
|
"/root/.nuget/packages/system.runtime.handles/4.3.0/system.runtime.handles.4.3.0.nupkg.sha512",
|
||||||
|
"/root/.nuget/packages/system.runtime.interopservices/4.3.0/system.runtime.interopservices.4.3.0.nupkg.sha512",
|
||||||
|
"/root/.nuget/packages/system.runtime.interopservices.runtimeinformation/4.0.0/system.runtime.interopservices.runtimeinformation.4.0.0.nupkg.sha512",
|
||||||
|
"/root/.nuget/packages/system.runtime.numerics/4.3.0/system.runtime.numerics.4.3.0.nupkg.sha512",
|
||||||
|
"/root/.nuget/packages/system.runtime.serialization.formatters/4.3.0/system.runtime.serialization.formatters.4.3.0.nupkg.sha512",
|
||||||
|
"/root/.nuget/packages/system.runtime.serialization.primitives/4.3.0/system.runtime.serialization.primitives.4.3.0.nupkg.sha512",
|
||||||
|
"/root/.nuget/packages/system.security.claims/4.0.1/system.security.claims.4.0.1.nupkg.sha512",
|
||||||
|
"/root/.nuget/packages/system.security.cryptography.algorithms/4.3.0/system.security.cryptography.algorithms.4.3.0.nupkg.sha512",
|
||||||
|
"/root/.nuget/packages/system.security.cryptography.cng/4.3.0/system.security.cryptography.cng.4.3.0.nupkg.sha512",
|
||||||
|
"/root/.nuget/packages/system.security.cryptography.csp/4.3.0/system.security.cryptography.csp.4.3.0.nupkg.sha512",
|
||||||
|
"/root/.nuget/packages/system.security.cryptography.encoding/4.3.0/system.security.cryptography.encoding.4.3.0.nupkg.sha512",
|
||||||
|
"/root/.nuget/packages/system.security.cryptography.openssl/4.3.0/system.security.cryptography.openssl.4.3.0.nupkg.sha512",
|
||||||
|
"/root/.nuget/packages/system.security.cryptography.primitives/4.3.0/system.security.cryptography.primitives.4.3.0.nupkg.sha512",
|
||||||
|
"/root/.nuget/packages/system.security.cryptography.x509certificates/4.3.0/system.security.cryptography.x509certificates.4.3.0.nupkg.sha512",
|
||||||
|
"/root/.nuget/packages/system.security.principal/4.0.1/system.security.principal.4.0.1.nupkg.sha512",
|
||||||
|
"/root/.nuget/packages/system.security.principal.windows/4.0.0/system.security.principal.windows.4.0.0.nupkg.sha512",
|
||||||
|
"/root/.nuget/packages/system.text.encoding/4.3.0/system.text.encoding.4.3.0.nupkg.sha512",
|
||||||
|
"/root/.nuget/packages/system.text.encoding.extensions/4.0.11/system.text.encoding.extensions.4.0.11.nupkg.sha512",
|
||||||
|
"/root/.nuget/packages/system.text.regularexpressions/4.1.0/system.text.regularexpressions.4.1.0.nupkg.sha512",
|
||||||
|
"/root/.nuget/packages/system.threading/4.3.0/system.threading.4.3.0.nupkg.sha512",
|
||||||
|
"/root/.nuget/packages/system.threading.overlapped/4.0.1/system.threading.overlapped.4.0.1.nupkg.sha512",
|
||||||
|
"/root/.nuget/packages/system.threading.tasks/4.3.0/system.threading.tasks.4.3.0.nupkg.sha512",
|
||||||
|
"/root/.nuget/packages/system.threading.tasks.extensions/4.0.0/system.threading.tasks.extensions.4.0.0.nupkg.sha512",
|
||||||
|
"/root/.nuget/packages/system.threading.thread/4.0.0/system.threading.thread.4.0.0.nupkg.sha512",
|
||||||
|
"/root/.nuget/packages/system.threading.threadpool/4.0.10/system.threading.threadpool.4.0.10.nupkg.sha512",
|
||||||
|
"/root/.nuget/packages/system.threading.timer/4.0.1/system.threading.timer.4.0.1.nupkg.sha512",
|
||||||
|
"/root/.nuget/packages/system.xml.readerwriter/4.0.11/system.xml.readerwriter.4.0.11.nupkg.sha512",
|
||||||
|
"/root/.nuget/packages/system.xml.xmldocument/4.0.1/system.xml.xmldocument.4.0.1.nupkg.sha512",
|
||||||
|
"/root/.nuget/packages/telegram.bot/19.0.0/telegram.bot.19.0.0.nupkg.sha512",
|
||||||
|
"/root/.nuget/packages/websocketsharp-netstandard/1.0.1/websocketsharp-netstandard.1.0.1.nupkg.sha512"
|
||||||
|
],
|
||||||
|
"logs": []
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue
Block a user