스레드 재실행 수정중!!
This commit is contained in:
@@ -16,6 +16,7 @@ using BitgetApi.Data;
|
||||
using Newtonsoft.Json.Linq;
|
||||
using DevExpress.Utils.Extensions;
|
||||
using static BitgetAPI.CommonProperty;
|
||||
using DateTime = System.DateTime;
|
||||
|
||||
namespace BitgetAPI.WebService
|
||||
{
|
||||
@@ -157,21 +158,75 @@ namespace BitgetAPI.WebService
|
||||
candleData.Vol_USD = Convert.ToDouble(item[6]);
|
||||
|
||||
// 같은 시간이 존재하면 업데이트 : 1개밖에 없음
|
||||
var sameCandleData_WebService = candleDataList.Find(i => i.Argument.Minute == candleData.Argument.Minute &&
|
||||
i.Argument.Hour == candleData.Argument.Hour && i.WebSocketUpdate == true);
|
||||
// 마지막 시간 데이터는 불완전 > 웹소켓 데이터와 합체
|
||||
if(item == datas.Last())
|
||||
{
|
||||
var timespan_add = new System.TimeSpan(0,0,0);
|
||||
|
||||
switch (interval)
|
||||
{
|
||||
case CommonProperty.MCandleTimeType.M1:
|
||||
// 같은 분이면 무조건 업데이트
|
||||
timespan_add = new System.TimeSpan(0, 1, 0);
|
||||
break;
|
||||
case CommonProperty.MCandleTimeType.M3:
|
||||
// 같은 분이면 무조건 업데이트
|
||||
timespan_add = new System.TimeSpan(0, 3, 0);
|
||||
break;
|
||||
case CommonProperty.MCandleTimeType.M5:
|
||||
timespan_add = new System.TimeSpan(0, 5, 0);
|
||||
break;
|
||||
case CommonProperty.MCandleTimeType.M15:
|
||||
timespan_add = new System.TimeSpan(0, 15, 0);
|
||||
break;
|
||||
case CommonProperty.MCandleTimeType.M30:
|
||||
timespan_add = new System.TimeSpan(0, 30, 0);
|
||||
break;
|
||||
case CommonProperty.MCandleTimeType.H1:
|
||||
timespan_add = new System.TimeSpan(1, 0, 0);
|
||||
break;
|
||||
case CommonProperty.MCandleTimeType.H4:
|
||||
timespan_add = new System.TimeSpan(4, 0, 0);
|
||||
break;
|
||||
case CommonProperty.MCandleTimeType.H6:
|
||||
timespan_add = new System.TimeSpan(6, 0, 0);
|
||||
break;
|
||||
case CommonProperty.MCandleTimeType.H12:
|
||||
timespan_add = new System.TimeSpan(12, 0, 0);
|
||||
break;
|
||||
}
|
||||
|
||||
var sameCandleData_WebService = candleDataList.Find(i => candleData.Argument <= i.Argument &&
|
||||
i.Argument < (candleData.Argument + timespan_add) && i.WebSocketUpdate == true);
|
||||
|
||||
if(sameCandleData_WebService != null)
|
||||
{
|
||||
// 종가 => 웹소켓 데이터 사용 (웹 서비스 호출 데이터 중 마지막 데이터는 캔들이 완성되지 않음)
|
||||
// 시가 => 웹 서비스 데이터 사용
|
||||
sameCandleData_WebService.Open = candleData.Open;
|
||||
// 저가, 고가 => 비교해서 사용
|
||||
sameCandleData_WebService.Low = Math.Min(sameCandleData_WebService.Low, candleData.Low);
|
||||
sameCandleData_WebService.High = Math.Max(sameCandleData_WebService.High, candleData.High);
|
||||
|
||||
sameCandleData_WebService.WebServiceUpdate = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
candleDataList.Add(candleData);
|
||||
candleData.WebServiceUpdate = true;
|
||||
}
|
||||
|
||||
}
|
||||
/*
|
||||
//var sameCandleData_WebService = candleDataList.Find(i => i.Argument.Minute == candleData.Argument.Minute &&
|
||||
//i.Argument.Hour == candleData.Argument.Hour && i.WebSocketUpdate == true);
|
||||
|
||||
|
||||
// 기존 웹소켓으로 부터 받은 데이터에 수정 등록
|
||||
if (sameCandleData_WebService != null)
|
||||
{
|
||||
// 종가 => 웹소켓 데이터 사용 (웹 서비스 호출 데이터 중 마지막 데이터는 캔들이 완성되지 않음)
|
||||
// 시가 => 웹 서비스 데이터 사용
|
||||
sameCandleData_WebService.Open = candleData.Open;
|
||||
// 저가, 고가 => 비교해서 사용
|
||||
sameCandleData_WebService.Low = Math.Min(sameCandleData_WebService.Low, candleData.Low);
|
||||
sameCandleData_WebService.High = Math.Max(sameCandleData_WebService.High, candleData.High);
|
||||
|
||||
sameCandleData_WebService.WebServiceUpdate = true;
|
||||
}
|
||||
|
||||
}*/
|
||||
// 웹 서비스로 받은 데이터를 새로 추가
|
||||
else
|
||||
{
|
||||
@@ -283,7 +338,8 @@ namespace BitgetAPI.WebService
|
||||
DateTime dt = new DateTime(1970, 01, 01);
|
||||
tickerList.reciveTime = dt.AddMilliseconds(Convert.ToDouble(tickerList.ts)).ToLocalTime();
|
||||
|
||||
// 웹소켓 티커 리스트에 추가
|
||||
// 웹소켓 티커 리스트에 추가 (사용 안함)
|
||||
/*
|
||||
var searchIndex = commonProperty.webSocketCandles.IndexOf(i => i.instId == tickerList.instId);
|
||||
if (searchIndex < 0)
|
||||
commonProperty.webSocketCandles.Add(tickerList);
|
||||
@@ -291,6 +347,7 @@ namespace BitgetAPI.WebService
|
||||
{
|
||||
commonProperty.webSocketCandles[searchIndex] = tickerList;
|
||||
}
|
||||
*/
|
||||
|
||||
// 캔들 리스트에서 해당 데이터 찾기
|
||||
var searchIndex_c = commonProperty.candleDataLists.IndexOf(i => i.ConGoodsData.MarketName == tickerList.instId);
|
||||
@@ -305,8 +362,6 @@ namespace BitgetAPI.WebService
|
||||
candleData.Argument = tickerList.reciveTime;
|
||||
candleData.Close = tickerList.lastPr;
|
||||
|
||||
if (interval == MCandleTimeType.H1) { }
|
||||
|
||||
// 캔들 리스트가 없으면 추가
|
||||
if (candleDataList.Count == 0)
|
||||
candleDataList.Add(candleData);
|
||||
|
||||
Reference in New Issue
Block a user