수정중!!
This commit is contained in:
File diff suppressed because one or more lines are too long
@@ -33,17 +33,17 @@
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="DevExpress.Data.Desktop.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
|
||||
<Reference Include="DevExpress.Data.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
|
||||
<Reference Include="DevExpress.Drawing.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
|
||||
<Reference Include="DevExpress.Printing.v23.2.Core, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
|
||||
<Reference Include="DevExpress.Utils.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
|
||||
<Reference Include="DevExpress.XtraBars.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
|
||||
<Reference Include="DevExpress.XtraEditors.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
|
||||
<Reference Include="DevExpress.XtraGrid.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
|
||||
<Reference Include="DevExpress.XtraLayout.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
|
||||
<Reference Include="DevExpress.XtraPrinting.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
|
||||
<Reference Include="DevExpress.XtraTreeList.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
|
||||
<Reference Include="DevExpress.Data.Desktop.v23.2, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
|
||||
<Reference Include="DevExpress.Data.v23.2, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
|
||||
<Reference Include="DevExpress.Drawing.v23.2, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
|
||||
<Reference Include="DevExpress.Printing.v23.2.Core, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
|
||||
<Reference Include="DevExpress.Utils.v23.2, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
|
||||
<Reference Include="DevExpress.XtraBars.v23.2, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
|
||||
<Reference Include="DevExpress.XtraEditors.v23.2, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
|
||||
<Reference Include="DevExpress.XtraGrid.v23.2, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
|
||||
<Reference Include="DevExpress.XtraLayout.v23.2, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
|
||||
<Reference Include="DevExpress.XtraPrinting.v23.2, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
|
||||
<Reference Include="DevExpress.XtraTreeList.v23.2, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
|
||||
<Reference Include="Newtonsoft.Json, Version=13.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Newtonsoft.Json.13.0.3\lib\net45\Newtonsoft.Json.dll</HintPath>
|
||||
</Reference>
|
||||
|
||||
@@ -33,17 +33,17 @@
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="DevExpress.Data.Desktop.v23.2, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
|
||||
<Reference Include="DevExpress.Data.v23.2, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
|
||||
<Reference Include="DevExpress.Drawing.v23.2, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
|
||||
<Reference Include="DevExpress.Printing.v23.2.Core, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
|
||||
<Reference Include="DevExpress.Utils.v23.2, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
|
||||
<Reference Include="DevExpress.XtraBars.v23.2, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
|
||||
<Reference Include="DevExpress.XtraEditors.v23.2, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
|
||||
<Reference Include="DevExpress.XtraGrid.v23.2, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
|
||||
<Reference Include="DevExpress.XtraLayout.v23.2, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
|
||||
<Reference Include="DevExpress.XtraPrinting.v23.2, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
|
||||
<Reference Include="DevExpress.XtraTreeList.v23.2, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
|
||||
<Reference Include="DevExpress.Data.Desktop.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
|
||||
<Reference Include="DevExpress.Data.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
|
||||
<Reference Include="DevExpress.Drawing.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
|
||||
<Reference Include="DevExpress.Printing.v23.2.Core, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
|
||||
<Reference Include="DevExpress.Utils.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
|
||||
<Reference Include="DevExpress.XtraBars.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
|
||||
<Reference Include="DevExpress.XtraEditors.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
|
||||
<Reference Include="DevExpress.XtraGrid.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
|
||||
<Reference Include="DevExpress.XtraLayout.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
|
||||
<Reference Include="DevExpress.XtraPrinting.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
|
||||
<Reference Include="DevExpress.XtraTreeList.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
|
||||
<Reference Include="Newtonsoft.Json, Version=13.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Newtonsoft.Json.13.0.3\lib\net45\Newtonsoft.Json.dll</HintPath>
|
||||
</Reference>
|
||||
@@ -69,6 +69,7 @@
|
||||
<Compile Include="Data\CandleData.cs" />
|
||||
<Compile Include="Data\CandleDataList.cs" />
|
||||
<Compile Include="Data\MarketInfo.cs" />
|
||||
<Compile Include="Data\SignalInfoData.cs" />
|
||||
<Compile Include="Data\TradeData.cs" />
|
||||
<Compile Include="Data\WebSocketCandle.cs" />
|
||||
<Compile Include="Data\IndicatorData.cs" />
|
||||
@@ -91,6 +92,7 @@
|
||||
<EmbeddedResource Include="MainForm.resx">
|
||||
<DependentUpon>MainForm.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Properties\licenses.licx" />
|
||||
<EmbeddedResource Include="Properties\Resources.resx">
|
||||
<Generator>ResXFileCodeGenerator</Generator>
|
||||
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
using System;
|
||||
using BitgetAPI;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
@@ -14,18 +15,20 @@ namespace BitgetApi.Data
|
||||
public string MarketName { get; set; }
|
||||
// 종목 설명 (시간별, 어떤거?)
|
||||
public string Description { get; set; }
|
||||
|
||||
|
||||
// 현재가
|
||||
public double Price { get; set; }
|
||||
|
||||
// 설정된 시간 봉의 수익율
|
||||
public double rate { get; set; }
|
||||
public double Rate { get; set; }
|
||||
|
||||
// 구름떼 상한선 가격
|
||||
public double indicatorPrice { get; set; }
|
||||
public double IndicatorPrice { get; set; }
|
||||
|
||||
// 설정된 지표(Indicator)와의 격차 비율
|
||||
public double indicoatorRate { get; set; }
|
||||
public double IndicatorRate { get; set; }
|
||||
|
||||
public CommonProperty.MCandleTimeType MCandleTimeType {get; set;}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -80,7 +80,8 @@ namespace BitgetAPI.IndicatorConditionSetup
|
||||
|
||||
|
||||
// Displacement : 26 일전봉 데이터 가져오기
|
||||
endIndex = endIndex - Displacement;
|
||||
endIndex = candleDatas.Count-1;
|
||||
endIndex = endIndex - Displacement +1;
|
||||
|
||||
datas = candleDatas.FindAll(i =>
|
||||
candleDatas.IndexOf(i) > endIndex - ConversionPeriod &&
|
||||
@@ -124,7 +125,5 @@ namespace BitgetAPI.IndicatorConditionSetup
|
||||
if (candleData.IchimokData.하한선 < candleData.Close) candleData.IchimokData.IsShortUp = true;
|
||||
else candleData.IchimokData.IsShortUp = false;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
776
BitgetApi/MainForm.Designer.cs
generated
776
BitgetApi/MainForm.Designer.cs
generated
File diff suppressed because it is too large
Load Diff
@@ -21,6 +21,7 @@ using System.Threading.Tasks;
|
||||
using System.Windows.Forms;
|
||||
using static BitgetAPI.CommonProperty;
|
||||
using static DevExpress.Utils.Html.ViewInfo.DxHtmlOrderedListInfoCore;
|
||||
using static System.Windows.Forms.VisualStyles.VisualStyleElement.TextBox;
|
||||
|
||||
namespace BitgetAPI
|
||||
{
|
||||
@@ -71,8 +72,6 @@ namespace BitgetAPI
|
||||
comboBoxEdit_ExchangePlace.SelectedIndex = (int)CommonProperty.ExchangePlace.Bitget;
|
||||
commonProperty.selectedChangePlace = CommonProperty.ExchangePlace.Bitget;
|
||||
|
||||
treeList_MarketInfo.DataSource = commonProperty.webSocketCandles;
|
||||
|
||||
// 현황판 정렬
|
||||
treeList_MarketInfo.BeginSort();
|
||||
treeList_MarketInfo.Columns["quoteVolume"].SortOrder = SortOrder.Descending;
|
||||
@@ -80,6 +79,7 @@ namespace BitgetAPI
|
||||
|
||||
// 현황판 웹소켓
|
||||
commonProperty.webSocketCandles = new List<WebSocketTickerInfo>();
|
||||
treeList_MarketInfo.DataSource = commonProperty.webSocketCandles;
|
||||
th_MarketStatus = new Thread(() => ThreadEventAsync(BitgetWebSocketType.현황정보_전체종목, "ticker"));
|
||||
th_MarketStatus.Start();
|
||||
|
||||
@@ -87,10 +87,6 @@ namespace BitgetAPI
|
||||
treeListMarketInfoListUpdateTimer = new Thread(new ThreadStart(TreeListMarketInfoListUpdate));
|
||||
treeListMarketInfoListUpdateTimer.Start();
|
||||
|
||||
// 신호검색 스레드
|
||||
th_SignalInfo = new Thread(new ThreadStart(Signalnfo));
|
||||
th_SignalInfo.Start();
|
||||
|
||||
// 신호 Long 상승 (구매)
|
||||
signals_LU = new List<SignalInfoData>();
|
||||
// 신호 Short 하락 (구매)
|
||||
@@ -100,7 +96,13 @@ namespace BitgetAPI
|
||||
// 검색현황 Short 상승 (판매)
|
||||
signals_SU = new List<SignalInfoData>();
|
||||
|
||||
// 신호검색 트리리스트 설정
|
||||
treeList_LongUp.DataSource = signals_LU;
|
||||
treeList_ShortDown.DataSource = signals_SD;
|
||||
|
||||
// 신호검색 스레드
|
||||
th_SignalInfo = new Thread(new ThreadStart(Signalnfo));
|
||||
th_SignalInfo.Start();
|
||||
|
||||
// API Key 가져오기 및 등록
|
||||
|
||||
@@ -133,11 +135,16 @@ namespace BitgetAPI
|
||||
Invoke(new MethodInvoker(delegate ()
|
||||
{
|
||||
var scrollPoint = treeList_MarketInfo.TopVisibleNodeIndex;
|
||||
var scrollPoint_LU = treeList_LongUp.TopVisibleNodeIndex;
|
||||
var scrollPoint_SD = treeList_ShortDown.TopVisibleNodeIndex;
|
||||
|
||||
treeList_MarketInfo.RefreshDataSource();
|
||||
treeList_MarketInfo.ClearSelection();
|
||||
treeList_LongUp.RefreshDataSource();
|
||||
treeList_ShortDown.RefreshDataSource();
|
||||
|
||||
treeList_MarketInfo.TopVisibleNodeIndex = scrollPoint;
|
||||
|
||||
treeList_LongUp.TopVisibleNodeIndex = scrollPoint_LU;
|
||||
treeList_ShortDown.TopVisibleNodeIndex = scrollPoint_SD;
|
||||
}));
|
||||
}
|
||||
}
|
||||
@@ -160,25 +167,39 @@ namespace BitgetAPI
|
||||
|
||||
while (true)
|
||||
{
|
||||
Thread.Sleep(300);
|
||||
//if (!xtraTabPage_Searcher.PageEnabled) continue;
|
||||
|
||||
Thread.Sleep(200);
|
||||
var nowTime = DateTime.Now;
|
||||
|
||||
// 특정 시간 이후 삭제
|
||||
foreach (var item in signals_LU)
|
||||
foreach (var item in signals_LU.ToList())
|
||||
{
|
||||
// 시간 지나면 삭제
|
||||
if (item.SignalStart + timeSpanEdit_SesstionTime.TimeSpan > nowTime)
|
||||
if (item.SignalStart + timeSpanEdit_SesstionTime.TimeSpan < nowTime)
|
||||
{
|
||||
signals_LU.Remove(item);
|
||||
continue;
|
||||
|
||||
}
|
||||
}
|
||||
foreach (var item in signals_LD)
|
||||
if (item.SignalStart + timeSpanEdit_SesstionTime.TimeSpan > nowTime) { signals_LD.Remove(item); }
|
||||
foreach (var item in signals_SU)
|
||||
if (item.SignalStart + timeSpanEdit_SesstionTime.TimeSpan > nowTime) signals_SU.Remove(item);
|
||||
foreach (var item in signals_SD)
|
||||
if (item.SignalStart + timeSpanEdit_SesstionTime.TimeSpan > nowTime) signals_SD.Remove(item);
|
||||
var findedMarket = commonProperty.candleDataLists.Find(i => i.ConGoodsData.MarketName == item.MarketName);
|
||||
var lastCandleData = findedMarket.candleDataList[item.MCandleTimeType].OrderBy(i => i.Argument).ToList().Last();
|
||||
|
||||
if(lastCandleData.IchimokData != null)
|
||||
{
|
||||
item.Price = lastCandleData.Close;
|
||||
item.Rate = (lastCandleData.Close / lastCandleData.Open) * 100 - 100;
|
||||
item.IndicatorPrice = lastCandleData.IchimokData.상한선;
|
||||
item.IndicatorRate = (lastCandleData.Close / item.IndicatorPrice) * 100 - 100;
|
||||
}
|
||||
|
||||
}
|
||||
foreach (var item in signals_LD.ToList())
|
||||
if (item.SignalStart + timeSpanEdit_SesstionTime.TimeSpan < nowTime) { signals_LD.Remove(item); }
|
||||
foreach (var item in signals_SU.ToList())
|
||||
if (item.SignalStart + timeSpanEdit_SesstionTime.TimeSpan < nowTime) signals_SU.Remove(item);
|
||||
foreach (var item in signals_SD.ToList())
|
||||
if (item.SignalStart + timeSpanEdit_SesstionTime.TimeSpan < nowTime) signals_SD.Remove(item);
|
||||
|
||||
var intervalList = checkedComboBoxEdit_TimeInterval.Properties.Items.GetCheckedValues();
|
||||
|
||||
@@ -201,12 +222,12 @@ namespace BitgetAPI
|
||||
|
||||
ichimokuConditionSetup.calIchimokuData(candleDatas_정렬, candleData);
|
||||
|
||||
candleDatas_정렬.RemoveAt(candleDatas_정렬.Count-1);
|
||||
candleDatas_정렬.RemoveAt(candleDatas_정렬.Count - 1);
|
||||
var candleData_전봉 = candleDatas.Find(i => i.Argument == candleDatas_정렬.Last().Argument);
|
||||
|
||||
ichimokuConditionSetup.calIchimokuData(candleDatas_정렬, candleData_전봉);
|
||||
|
||||
if (candleData_전봉.Open < candleData_전봉.IchimokData.상한선 && candleData.Open > candleData_전봉.IchimokData.상한선)
|
||||
|
||||
if (candleData_전봉.Open < candleData_전봉.IchimokData.상한선 && candleData.Open > candleData.IchimokData.상한선)
|
||||
{
|
||||
var price = candleData.Close;
|
||||
var rate = (candleData.Close / candleData.Open) * 100 - 100;
|
||||
@@ -214,13 +235,38 @@ namespace BitgetAPI
|
||||
var indicatorRate = (candleData.Close / indicatorPrice) * 100 - 100;
|
||||
|
||||
var signalData = signals_LU.Find(i => i.MarketName.Equals(market));
|
||||
|
||||
// 없으면 생성
|
||||
if (signalData == null)
|
||||
{
|
||||
SignalInfoData signalInfoData = new SignalInfoData();
|
||||
signalInfoData.SignalStart = nowTime;
|
||||
signalInfoData.MarketName = market;
|
||||
signalInfoData.Description = string.Format("{0} 상승", description);
|
||||
signalInfoData.Rate = rate;
|
||||
signalInfoData.Price = price;
|
||||
signalInfoData.IndicatorPrice = indicatorPrice;
|
||||
signalInfoData.IndicatorRate = indicatorRate;
|
||||
signalInfoData.MCandleTimeType = interval;
|
||||
|
||||
signals_LU.Add(signalInfoData);
|
||||
}
|
||||
}
|
||||
else if (candleData_전봉.Open > candleData_전봉.IchimokData.하한선 && candleData.Open < candleData.IchimokData.하한선)
|
||||
{
|
||||
var price = candleData.Close;
|
||||
var rate = (candleData.Close / candleData.Open) * 100 - 100;
|
||||
var indicatorPrice = candleData.IchimokData.하한선;
|
||||
var indicatorRate = (candleData.Close / indicatorPrice) * 100 - 100;
|
||||
|
||||
var signalData = signals_SD.Find(i => i.MarketName.Equals(market));
|
||||
// 존재하면 업데이트
|
||||
if (signalData != null)
|
||||
{
|
||||
signalData.Price = price;
|
||||
signalData.rate = rate;
|
||||
signalData.indicatorPrice = indicatorPrice;
|
||||
signalData.indicoatorRate = indicatorRate;
|
||||
signalData.Rate = rate;
|
||||
signalData.IndicatorPrice = indicatorPrice;
|
||||
signalData.IndicatorRate = indicatorRate;
|
||||
}
|
||||
// 없으면 생성
|
||||
else
|
||||
@@ -228,30 +274,19 @@ namespace BitgetAPI
|
||||
SignalInfoData signalInfoData = new SignalInfoData();
|
||||
signalInfoData.SignalStart = nowTime;
|
||||
signalInfoData.MarketName = market;
|
||||
signalInfoData.Description = "상승 돌파";
|
||||
signalData.rate = rate;
|
||||
signalInfoData.Description = string.Format("{0} 하락", description);
|
||||
signalInfoData.Rate = rate;
|
||||
signalInfoData.Price = price;
|
||||
signalInfoData.indicatorPrice = indicatorPrice;
|
||||
signalInfoData.indicoatorRate = indicatorRate;
|
||||
signalInfoData.IndicatorPrice = indicatorPrice;
|
||||
signalInfoData.IndicatorRate = indicatorRate;
|
||||
|
||||
signals_LU.Add(signalInfoData);
|
||||
signals_SD.Add(signalInfoData);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Invoke(new MethodInvoker(delegate ()
|
||||
{
|
||||
var scrollPoint_LU = treeList_LongUp.TopVisibleNodeIndex;
|
||||
|
||||
// 신호검색 트리리스트 설정
|
||||
treeList_LongUp.DataSource = signals_LU;
|
||||
treeList_LongUp.RefreshDataSource();
|
||||
|
||||
treeList_LongUp.TopVisibleNodeIndex = scrollPoint_LU;
|
||||
}));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -259,13 +294,11 @@ namespace BitgetAPI
|
||||
// 종목별 캔들데이터 가져오기 (초기 설정) => Thread
|
||||
private void getMarketCandleData_WebService(ExchangeWebReqType exchangeWebReqType)
|
||||
{
|
||||
|
||||
// 프로그레스 바
|
||||
progressBarControl_data.Properties.Minimum = 0;
|
||||
progressBarControl_data.Properties.Maximum = commonProperty.candleDataLists.Count;
|
||||
progressBarControl_data.Properties.Step = 1;
|
||||
progressBarControl_data.EditValue = 0;
|
||||
|
||||
var progressCnt = 0;
|
||||
// WebServicee 초기 캔들 데이터 가져오기 : 종목, 개수
|
||||
foreach (var marketCandleDataList in commonProperty.candleDataLists)
|
||||
@@ -325,10 +358,9 @@ namespace BitgetAPI
|
||||
progressBarControl_data.PerformStep();
|
||||
progressBarControl_data.Update();
|
||||
|
||||
xtraTabPage_Searcher.PageEnabled = true;
|
||||
xtraTabControl_Main.SelectedTabPage = xtraTabPage_Searcher;
|
||||
//xtraTabPage_Searcher.PageEnabled = true;
|
||||
//xtraTabControl_Main.SelectedTabPage = xtraTabPage_Searcher;
|
||||
}));
|
||||
break;
|
||||
}
|
||||
|
||||
Invoke(new MethodInvoker(delegate ()
|
||||
@@ -451,6 +483,12 @@ namespace BitgetAPI
|
||||
th_MarketCandeData = null;
|
||||
}
|
||||
|
||||
if(th_SignalInfo != null)
|
||||
{
|
||||
th_SignalInfo.Abort();
|
||||
th_SignalInfo = null;
|
||||
}
|
||||
|
||||
for(var cnt = 0; cnt < webSocketThreadList.Count; cnt++)
|
||||
{
|
||||
if(webSocketThreadList[cnt] != null && webSocketThreadList[cnt].ThreadState != ThreadState.Running)
|
||||
|
||||
@@ -117,10 +117,25 @@
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<metadata name="marketInfoBindingSource.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>200, 17</value>
|
||||
</metadata>
|
||||
<metadata name="popupMenu_marketInfo.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>17, 17</value>
|
||||
</metadata>
|
||||
<assembly alias="DevExpress.Data.v23.2" name="DevExpress.Data.v23.2, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
|
||||
<data name="simpleButton_MarketOrderRefresh.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIzLjIsIFZlcnNpb249MjMuMi40
|
||||
LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
|
||||
dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAOYCAAAC77u/
|
||||
PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
|
||||
IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
|
||||
MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
|
||||
Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg
|
||||
MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsYWNre2ZpbGw6IzcyNzI3Mjt9Cgku
|
||||
WWVsbG93e2ZpbGw6I0ZGQjExNTt9CgkuQmx1ZXtmaWxsOiMxMTc3RDc7fQoJLlJlZHtmaWxsOiNEMTFD
|
||||
MUM7fQoJLldoaXRle2ZpbGw6I0ZGRkZGRjt9CgkuR3JlZW57ZmlsbDojMDM5QzIzO30KCS5zdDB7Zmls
|
||||
bDojNzI3MjcyO30KCS5zdDF7b3BhY2l0eTowLjU7fQoJLnN0MntvcGFjaXR5OjAuNzU7fQo8L3N0eWxl
|
||||
Pg0KICA8ZyBpZD0iUGF5bWVudFJlZnVuZCI+DQogICAgPHBhdGggZD0iTTE2LDRjLTMuMywwLTYuMywx
|
||||
LjMtOC41LDMuNUw0LDR2MTBoMC4yaDQuMUgxNGwtMy42LTMuNkMxMS44LDguOSwxMy44LDgsMTYsOGM0
|
||||
LjQsMCw4LDMuNiw4LDhzLTMuNiw4LTgsOCAgIGMtMy43LDAtNi44LTIuNi03LjctNkg0LjJjMSw1Ljcs
|
||||
NS45LDEwLDExLjgsMTBjNi42LDAsMTItNS40LDEyLTEyUzIyLjYsNCwxNiw0eiIgY2xhc3M9IkJsdWUi
|
||||
IC8+DQogIDwvZz4NCjwvc3ZnPgs=
|
||||
</value>
|
||||
</data>
|
||||
</root>
|
||||
@@ -524,8 +524,8 @@ namespace BitgetAPI.WebService
|
||||
}
|
||||
finally
|
||||
{
|
||||
if (webSocket.State == WebSocketState.Open)
|
||||
await webSocket.CloseAsync(WebSocketCloseStatus.NormalClosure, "WebSocket 연결 종료", CancellationToken.None);
|
||||
//if (webSocket.State == WebSocketState.Open)
|
||||
//await webSocket.CloseAsync(WebSocketCloseStatus.NormalClosure, "WebSocket 연결 종료", CancellationToken.None);
|
||||
webSocket.Dispose();
|
||||
|
||||
// 웹소켓 재귀
|
||||
|
||||
Reference in New Issue
Block a user