왜값이이렇지

This commit is contained in:
kyh
2024-07-12 17:25:58 +09:00
parent 7ccfc740a6
commit 435a8b182f
2 changed files with 40 additions and 14 deletions

View File

@@ -279,12 +279,12 @@ namespace BitgetAPI.IndicatorConditionSetup
//var sellFlag = 전봉Bol12 - 전봉Bol24 < Bol12 - Bol24 || 현재봉4 > 낮은값_74_24;
var buyFlag = 전전봉Bol12 - 전전봉Bol24 > 전봉Bol12 - 전봉Bol24 && 전전봉Bol4 > 전봉Bol4 && 현재봉12 > 낮은값_74_24;
var buyFlag = 전전봉Bol12 - 전전봉Bol24 > 전봉Bol12 - 전봉Bol24 && 전전봉Bol4 > 전봉Bol4 && 현재봉12 > 낮은값_74_24;
//파는 시점 볼랜저 전전봉 12 - 24 값이 전봉 12 - 24보다 클경우 팜
//var sellFlag = 전봉Bol12 - 전봉Bol24 < Bol12 - Bol24 || 현재봉4 > 낮은값_74_24;
//var sellFlag = 현재봉4 > 낮은값_74_24 || 전전봉Bol12 - 전전봉Bol24 < 전봉Bol12 - 전봉Bol24;
var sellFlag = 현재봉4 > 낮은값_74_24 || 현재봉12 < 현재봉4 || 전전봉Bol12 - 전전봉Bol24 < 전봉Bol12 - 전봉Bol24;
var sellFlag = 현재봉4 > 낮은값_74_24 || 현재봉12 < 현재봉4;// || 전전봉Bol12 - 전전봉Bol24 < 전봉Bol12 - 전봉Bol24;
//파는 시점 볼랜저 전전봉 12 - 24 값이 전봉 12 - 24보다 클경우 팜
//var buyFlag = candleData_전봉.movingAverageDataList[12].BolangerValue > candleData_전봉.movingAverageDataList[24].BolangerValue && 전전봉Bol12 - 전전봉Bol24 > 전봉Bol12 - 전봉Bol24;

View File

@@ -767,6 +767,13 @@ namespace BitgetAPI.WebService
var dataList = cloneList.Where(t => t.ContainsKey("data")).Select(t => t["data"]);
var list = JsonConvert.DeserializeObject<List<List<WebSocketTickerInfo>>>(JsonConvert.SerializeObject(dataList));
var calList = new List<WebSocketTickerInfo>();
foreach(var item in list)
{
calList.Add(item[0]);
}
var stringList = list.Select(t => t[0].instId).Distinct().ToList();
list = list.OrderBy(t => t[0].ts).ToList();
@@ -779,28 +786,31 @@ namespace BitgetAPI.WebService
foreach (var item in stringList)
{
var temp = list.Where(t => item == t[0].instId);
var temp = calList.Where(t => item == t.instId);
if (temp.Count() > 0)
{
minList.Add(item, new List<CandleData>());
foreach (var t in temp)
{
var tickerList = t[0];
var tickerList = t;
DateTime dt = new DateTime(1970, 01, 01);
tickerList.reciveTime = dt.AddMilliseconds(Convert.ToDouble(tickerList.ts)).ToLocalTime();
}
var timeList = temp.Select(t => t[0].reciveTime.Minute);
var timeList = temp.Select(t => t.reciveTime.Minute).OrderBy(t=>t).ToList();
foreach (var min in timeList)
{
var minDataList = temp.Where(t => t[0].reciveTime.Minute == min);
var candleData = new CandleData();
var minDataList = temp.Where(t => t.reciveTime.Minute == min).OrderBy(t=>t.reciveTime).ToList();
candleData.Argument = minDataList.Last()[0].reciveTime;
candleData.Close = minDataList.Last()[0].lastPr;
candleData.Open = minDataList.First()[0].lastPr;
candleData.Low = minDataList.Min(t => t[0].lastPr);
candleData.High = minDataList.Max(t => t[0].lastPr);
var candleData = new CandleData();
var dt = minDataList[minDataList.Count -1].reciveTime;
candleData.Argument = dt;
candleData.Close = minDataList.Last().lastPr;
candleData.Open = minDataList.First().lastPr;
candleData.Low = minDataList.Min(t => t.lastPr);
candleData.High = minDataList.Max(t => t.lastPr);
minList[item].Add(candleData);
}
@@ -877,11 +887,27 @@ namespace BitgetAPI.WebService
candleDataList.Add(candleData);
else
{
var lastCandleData_Edit = candleDataList.OrderBy(t => t.Argument).ToList();
var lastCandleData_Edit = candleDataList;
// 마지막 시간 데이터 가져오기
var lastCandleData = lastCandleData_Edit.Find(j => j.Argument == lastCandleData_Edit.Max(i => i.Argument));
if (lastCandleData == null || lastCandleData.Argument > candleData.Argument) return;
if (lastCandleData == null || lastCandleData.Argument > candleData.Argument)
{
if (lastCandleData != null)
{
var beforeList = candleDataList.OrderByDescending(t => t.Argument).ToList();
var before = beforeList.FirstOrDefault(t => t.Argument < candleData.Argument);
if (before != null)
{
lastCandleData = lastCandleData_Edit.Find(t => t.Argument == before.Argument);
}
else
continue;
}
else
continue;
}
// 업데이트 or 추가
bool updateFlag = false;