DataConvert 관련 예외처리 코드 추가
This commit is contained in:
@@ -420,12 +420,13 @@ namespace BitgetAPI.IndicatorConditionSetup
|
||||
&& 전봉4 < 높은값_74_24_전봉) &&
|
||||
// 현재의 4가 74,21 보다 작고나서
|
||||
(현재봉4 < 낮은값_74_24 &&
|
||||
candleData.Close < candleData.IchimokData.상한선 &&
|
||||
candleData.Close < candleData.IchimokData.상한선 &&
|
||||
높은값_74_24 < candleData.IchimokData.상한선) &&
|
||||
최초조건Flag.ContainsKey(market + interval) && 최초조건Flag[market + interval] == true &&
|
||||
//최초조건Flag.ContainsKey(market + interval) && 최초조건Flag[market + interval] == true &&
|
||||
//볼랜저 12 24중 12가 크고 전전봉 전봉 12 차이보다 전전봉 전봉 24가 작아야함(하향)
|
||||
buyFlag &&
|
||||
candle30Flag)
|
||||
buyFlag //&&
|
||||
//candle30Flag
|
||||
)
|
||||
{
|
||||
|
||||
var buyDic = new Dictionary<string, object>
|
||||
|
||||
@@ -18,6 +18,7 @@ using DevExpress.Utils.Extensions;
|
||||
using static BitgetAPI.CommonProperty;
|
||||
using DateTime = System.DateTime;
|
||||
using DevExpress.Xpo.Logger;
|
||||
using DevExpress.XtraTreeList.Filtering.Provider;
|
||||
|
||||
namespace BitgetAPI.WebService
|
||||
{
|
||||
@@ -316,16 +317,23 @@ namespace BitgetAPI.WebService
|
||||
|
||||
//Thread.Sleep(100);
|
||||
|
||||
byte[] buffer = new byte[1024];
|
||||
byte[] buffer = new byte[4096 * 10];
|
||||
WebSocketReceiveResult result = await webSocket.ReceiveAsync(new ArraySegment<byte>(buffer), CancellationToken.None);
|
||||
message = "";
|
||||
// 수신한 데이터 처리
|
||||
message = System.Text.Encoding.UTF8.GetString(buffer, 0, result.Count);
|
||||
|
||||
if (!ValidateJSON(message))
|
||||
if (tempStrData == "") {
|
||||
if (!ValidateJSON(message))
|
||||
{
|
||||
tempStrData = message;
|
||||
continue;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
tempStrData += message;
|
||||
if (!ValidateJSON(message))
|
||||
if (!ValidateJSON(tempStrData))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
@@ -334,11 +342,31 @@ namespace BitgetAPI.WebService
|
||||
message = tempStrData;
|
||||
}
|
||||
}
|
||||
var datalist = JsonConvert.DeserializeObject<Dictionary<string, object>>(message);
|
||||
lock (obj)
|
||||
|
||||
if (message.Contains("{\"action"))
|
||||
{
|
||||
webSocketDataList.Add(datalist);
|
||||
}
|
||||
string[] separatingStrings = { "{\"action" };
|
||||
|
||||
var splitData = message.Split(separatingStrings, System.StringSplitOptions.RemoveEmptyEntries);
|
||||
|
||||
foreach (var item in splitData)
|
||||
{
|
||||
var temp = "{\"action" + item;
|
||||
try
|
||||
{
|
||||
var datalist = JsonConvert.DeserializeObject<Dictionary<string, object>>(temp);
|
||||
lock (obj)
|
||||
{
|
||||
webSocketDataList.Add(datalist);
|
||||
}
|
||||
}
|
||||
catch (JsonReaderException)
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
#region 접어 둘거
|
||||
//if (datalist.ContainsKey("data"))
|
||||
@@ -661,7 +689,33 @@ namespace BitgetAPI.WebService
|
||||
{
|
||||
try
|
||||
{
|
||||
JToken.Parse(s);
|
||||
if (s.Contains("{\"action"))
|
||||
{
|
||||
string[] separatingStrings = { "{\"action" };
|
||||
|
||||
var splitData = s.Split(separatingStrings, System.StringSplitOptions.RemoveEmptyEntries);
|
||||
|
||||
bool flag = true;
|
||||
foreach (var item in splitData)
|
||||
{
|
||||
var temp = "{\"action" + item;
|
||||
try
|
||||
{
|
||||
JToken.Parse(temp);
|
||||
}
|
||||
catch (JsonReaderException)
|
||||
{
|
||||
flag = false;
|
||||
}
|
||||
}
|
||||
return flag;
|
||||
}
|
||||
else
|
||||
{
|
||||
JToken.Parse(s);
|
||||
}
|
||||
|
||||
|
||||
return true;
|
||||
}
|
||||
catch (JsonReaderException)
|
||||
@@ -744,8 +798,8 @@ namespace BitgetAPI.WebService
|
||||
if (candleDataList.Count == 0)
|
||||
candleDataList.Add(candleData);
|
||||
else
|
||||
{
|
||||
var lastCandleData_Edit = candleDataList.ToList();
|
||||
{
|
||||
var lastCandleData_Edit = candleDataList.OrderBy(t => t.Argument).ToList();
|
||||
|
||||
// 마지막 시간 데이터 가져오기
|
||||
var lastCandleData = lastCandleData_Edit.Find(j => j.Argument == lastCandleData_Edit.Max(i => i.Argument));
|
||||
|
||||
Reference in New Issue
Block a user