첫 등록
This commit is contained in:
6
BitgetApi/App.config
Normal file
6
BitgetApi/App.config
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<configuration>
|
||||
<startup>
|
||||
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2" />
|
||||
</startup>
|
||||
</configuration>
|
||||
115
BitgetApi/BitgetApi.csproj
Normal file
115
BitgetApi/BitgetApi.csproj
Normal file
@@ -0,0 +1,115 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProjectGuid>{09813A63-9EF4-4D6D-BA41-5F610909BDEC}</ProjectGuid>
|
||||
<OutputType>WinExe</OutputType>
|
||||
<RootNamespace>BitgetApi</RootNamespace>
|
||||
<AssemblyName>BitgetApi</AssemblyName>
|
||||
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
|
||||
<FileAlignment>512</FileAlignment>
|
||||
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
|
||||
<Deterministic>true</Deterministic>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>bin\Debug\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<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.XtraEditors.v23.2, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
|
||||
<Reference Include="DevExpress.XtraLayout.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>
|
||||
<Reference Include="PresentationCore" />
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.ComponentModel.DataAnnotations" />
|
||||
<Reference Include="System.Core" />
|
||||
<Reference Include="System.Runtime.Remoting" />
|
||||
<Reference Include="System.Xml.Linq" />
|
||||
<Reference Include="System.Data.DataSetExtensions" />
|
||||
<Reference Include="Microsoft.CSharp" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Deployment" />
|
||||
<Reference Include="System.Drawing" />
|
||||
<Reference Include="System.Net.Http" />
|
||||
<Reference Include="System.Windows.Forms" />
|
||||
<Reference Include="System.Xml" />
|
||||
<Reference Include="UIAutomationClient" />
|
||||
<Reference Include="WindowsBase" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="CommonProperty.cs" />
|
||||
<Compile Include="Data\CandleData.cs" />
|
||||
<Compile Include="Data\CandleDataList.cs" />
|
||||
<Compile Include="Data\MarketInfo.cs" />
|
||||
<Compile Include="Data\TradeData.cs" />
|
||||
<Compile Include="MainForm.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="MainForm.Designer.cs">
|
||||
<DependentUpon>MainForm.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Program.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<Compile Include="Utils\BaseSingleton.cs" />
|
||||
<Compile Include="Utils\Convertor.cs" />
|
||||
<Compile Include="WebService\WebConnection.cs" />
|
||||
<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>
|
||||
<SubType>Designer</SubType>
|
||||
</EmbeddedResource>
|
||||
<Compile Include="Properties\Resources.Designer.cs">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DependentUpon>Resources.resx</DependentUpon>
|
||||
</Compile>
|
||||
<None Include="packages.config" />
|
||||
<None Include="Properties\Settings.settings">
|
||||
<Generator>SettingsSingleFileGenerator</Generator>
|
||||
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
|
||||
</None>
|
||||
<Compile Include="Properties\Settings.Designer.cs">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DependentUpon>Settings.settings</DependentUpon>
|
||||
<DesignTimeSharedInput>True</DesignTimeSharedInput>
|
||||
</Compile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="App.config" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Folder Include="Controls\SubForms\" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Content Include="Data\API\BitGet Access APIKey.txt" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
</Project>
|
||||
159
BitgetApi/CommonProperty.cs
Normal file
159
BitgetApi/CommonProperty.cs
Normal file
@@ -0,0 +1,159 @@
|
||||
using System;
|
||||
|
||||
using BitgetAPI.Data;
|
||||
using BitgetAPI.Utils;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
|
||||
namespace BitgetApi
|
||||
{
|
||||
public class CommonProperty : BaseSettings<CommonProperty>
|
||||
{
|
||||
public enum WebConnectionType
|
||||
{
|
||||
POST = 0,
|
||||
GET = 1
|
||||
}
|
||||
|
||||
public enum ExchangePlace
|
||||
{
|
||||
Upbit = 0,
|
||||
Bithumb = 1,
|
||||
Bitget = 2
|
||||
}
|
||||
|
||||
// 코인 Payument 타입
|
||||
public enum PaymentType
|
||||
{
|
||||
KRW = 0,
|
||||
BTC = 1,
|
||||
USDT = 2,
|
||||
}
|
||||
|
||||
// 최신, 가장오래된, None
|
||||
public enum CandleType
|
||||
{
|
||||
None = 0,
|
||||
Old = 1,
|
||||
New = 2
|
||||
}
|
||||
|
||||
// Bitget FUTURE 코인 타입
|
||||
public enum BitgetProductType
|
||||
{
|
||||
COIN = 0,
|
||||
FUTURE = 1,
|
||||
MARGIN_보류 = 2
|
||||
}
|
||||
|
||||
public ExchangePlace selectedChangePlace;
|
||||
public PaymentType selectedPaymentType;
|
||||
public BitgetProductType selectedBitgetProductType;
|
||||
|
||||
public List<MarketInfo> marketInfoList = null;
|
||||
public List<MarketCandleDataList> candleDataLists = null;
|
||||
|
||||
/// <summary>
|
||||
/// TODO 업비트 기능 추가
|
||||
/// </summary>
|
||||
// 빗썸 Web 요청 타입
|
||||
public enum ExchangeWebReqType
|
||||
{
|
||||
#region 빗썸 웹 요청 타입
|
||||
[Description("/Public/CandleStick")]
|
||||
BithumbCandleStick = 0,
|
||||
[Description("/public/ticker")]
|
||||
BithumbCandleTicker = 1,
|
||||
[Description("/public/Orderbook")]
|
||||
BithumbMarket = 2,
|
||||
#endregion
|
||||
|
||||
#region 업비트 웹 요청 타입
|
||||
[Description("UpbitCandle")]
|
||||
UpbitCandleStick = 10,
|
||||
[Description("UpbitMarket")]
|
||||
UpbitMarket = 11,
|
||||
#endregion
|
||||
|
||||
#region
|
||||
[Description("BitgetMarketInfo_SPOT")]
|
||||
BitgetMarket_Spot = 20,
|
||||
[Description("BitgetMarketInfo_FUTURE")]
|
||||
BitgetMarket_Future = 21,
|
||||
[Description("BitgetMCandle_COIN")]
|
||||
BitgetCandleStick_Coin = 22,
|
||||
[Description("BitgetMCandle_FUTURE")]
|
||||
BitgetCandleStick_Future = 23,
|
||||
#endregion
|
||||
}
|
||||
// 시가/고가/종가/저가
|
||||
public enum CandlePriceType
|
||||
{
|
||||
시가 = 1,
|
||||
고가 = 2,
|
||||
저가 = 3,
|
||||
종가 = 4
|
||||
}
|
||||
|
||||
// 캔들 데이터 (1분) (3분) (5분) (10분) (15분) (30분) (1시간) (4시간)
|
||||
public enum MCandleTimeType
|
||||
{
|
||||
[Description("1m")]
|
||||
M1 = 1,
|
||||
[Description("3m")]
|
||||
M3 = 3,
|
||||
[Description("5m")]
|
||||
M5 = 5,
|
||||
[Description("15m")]
|
||||
M15 = 15,
|
||||
[Description("30m")]
|
||||
M30 = 30,
|
||||
[Description("1H")]
|
||||
H1 = 60,
|
||||
[Description("4H")]
|
||||
H4 = 240,
|
||||
[Description("6H")]
|
||||
H6 = 360,
|
||||
[Description("12H")]
|
||||
H12 = 720,
|
||||
[Description("1D")]
|
||||
D1 = 1440,
|
||||
[Description("3D")]
|
||||
D3 = 4320,
|
||||
[Description("1W")]
|
||||
W1 = 10000,
|
||||
[Description("1M")]
|
||||
MT1 = 100000
|
||||
}
|
||||
|
||||
|
||||
#region 업비트 URL
|
||||
public static string UpbitURL = "https://api.upbit.com/";
|
||||
public static string UpbitURL_MarketInfo = "https://api.upbit.com/v1/market/all";
|
||||
public static string UpbitURL_MCandleStick = "https://api.upbit.com/v1/candles/minutes/";
|
||||
public static string UpbitURL_DCandleStick = "https://api.upbit.com/v1/candles/days";
|
||||
public static string UpbitURL_WCandleStick = "https://api.upbit.com/v1/candles/weeks";
|
||||
public static string UpbitURL_MTCandleStick = "https://api.upbit.com/v1/candles/months";
|
||||
|
||||
public static string UpbitURL_Accounts = "https://api.upbit.com/v1/accounts";
|
||||
public static string UpbitURL_Ticker = "https://api.upbit.com/v1/ticker";
|
||||
public static string UpbitURL_Ticks = "https://api.upbit.com/v1/trades/ticks";
|
||||
|
||||
public static string UpbitURL_Orders = "https://api.upbit.com/v1/orders";
|
||||
public static string UpbitURL_Order = "https://api.upbit.com/v1/order";
|
||||
public static string UpbitURL_Orderbook = "https://api.upbit.com/v1/orderbook";
|
||||
public static string UpbitURL_OrderChace = "https://api.upbit.com/v1/orders/chance";
|
||||
#endregion
|
||||
|
||||
#region Bitget URL
|
||||
public static string BitgetURL = "https://api.upbit.com/";
|
||||
public static string BitgetURL_MarketInfo_COIN = "https://api.bitget.com/api/v2/spot/public/coins";
|
||||
public static string BitgetURL_MarketInfo_FUTURE = "https://api.bitget.com/api/v2/mix/market/tickers?productType=USDT-FUTURES";
|
||||
|
||||
public static string BitgetURL_MarketCandle_Coin = "https://api.bitget.com/api/v2/spot/market/candles?symbol={0}&granularity={1}in&startTime={2}&endTime={3}&limit={4}";
|
||||
public static string BitgetURL_MarketCandle_Future = "https://api.bitget.com/api/v2/mix/market/candles?symbol={0}&granularity={1}&limit={2}&productType={3}";
|
||||
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
7
BitgetApi/Data/API/BitGet Access APIKey.txt
Normal file
7
BitgetApi/Data/API/BitGet Access APIKey.txt
Normal file
@@ -0,0 +1,7 @@
|
||||
Access APIKey
|
||||
bg_fbf275132203dcdbdca0db1e4b2351bb
|
||||
|
||||
SecretKey
|
||||
40ad89ac5347b9c3164ddf8b8e1c464038705266b25049a4f21ca12f509603bd
|
||||
|
||||
|
||||
43
BitgetApi/Data/CandleData.cs
Normal file
43
BitgetApi/Data/CandleData.cs
Normal file
@@ -0,0 +1,43 @@
|
||||
using BitgetApi;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace BitgetAPI.Data
|
||||
{
|
||||
|
||||
|
||||
public class CandleData
|
||||
{
|
||||
CommonProperty commonProperty = CommonProperty.Instance;
|
||||
|
||||
public DateTime Argument { get; set; }
|
||||
public double Low { get; set; }
|
||||
public double High { get; set; }
|
||||
public double Open { get; set; }
|
||||
public double Close { get; set; }
|
||||
// 기본 통화 거래량 (BTC)
|
||||
public double Vol_C { get; set; }
|
||||
// 견적 통화 거래량 USD
|
||||
public double Vol_USD { get; set; }
|
||||
// USDT 거래량
|
||||
public double Vol_USDT { get; set; }
|
||||
|
||||
public CandleData() { }
|
||||
|
||||
public CandleData(DateTime argument, double low, double high, double open, double close,
|
||||
double vol_C, double vol_USD, double vol_USDT)
|
||||
{
|
||||
this.Argument = argument;
|
||||
this.Low = low;
|
||||
this.High = high;
|
||||
this.Open = open;
|
||||
this.Close = close;
|
||||
this.Vol_C = vol_C;
|
||||
this.Vol_USD = vol_USD;
|
||||
this.Vol_USDT = vol_USDT;
|
||||
}
|
||||
}
|
||||
}
|
||||
20
BitgetApi/Data/CandleDataList.cs
Normal file
20
BitgetApi/Data/CandleDataList.cs
Normal file
@@ -0,0 +1,20 @@
|
||||
using BitgetApi;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace BitgetAPI.Data
|
||||
{
|
||||
[Serializable]
|
||||
public class MarketCandleDataList
|
||||
{
|
||||
// 코인 종목
|
||||
public MarketInfo ConGoodsData { get; set; } = new MarketInfo();
|
||||
// 캔들 데이터 (1분)
|
||||
public Dictionary<CommonProperty.MCandleTimeType, List<CandleData>> candleDataList { get; set; }
|
||||
= new Dictionary<CommonProperty.MCandleTimeType, List<CandleData>>();
|
||||
|
||||
//uuid -> 추후 List로 변경 할 수 잇음
|
||||
public string Uuid { get; set; }
|
||||
|
||||
}
|
||||
}
|
||||
14
BitgetApi/Data/MarketInfo.cs
Normal file
14
BitgetApi/Data/MarketInfo.cs
Normal file
@@ -0,0 +1,14 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace BitgetAPI.Data
|
||||
{
|
||||
public class MarketInfo
|
||||
{
|
||||
public string ExchangePlace { get; set; }
|
||||
public string MarketName { get; set; }
|
||||
}
|
||||
}
|
||||
27
BitgetApi/Data/TradeData.cs
Normal file
27
BitgetApi/Data/TradeData.cs
Normal file
@@ -0,0 +1,27 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace BitgetAPI.Data
|
||||
{
|
||||
public class TradeData
|
||||
{
|
||||
public string type { get; set; }
|
||||
public string code { get; set; }
|
||||
public long timestamp { get; set; }
|
||||
public string trade_date { get; set; }
|
||||
public string trade_time { get; set; }
|
||||
public long trade_timestamp { get; set; }
|
||||
public double trade_price { get; set; }
|
||||
public double trade_volume { get; set; }
|
||||
public string ask_bid { get; set; }
|
||||
public double prev_closing_price { get; set; }
|
||||
public string change { get; set; }
|
||||
public double change_price { get; set; }
|
||||
public long sequential_id { get; set; }
|
||||
public string stream_type { get; set; }
|
||||
}
|
||||
|
||||
}
|
||||
197
BitgetApi/MainForm.Designer.cs
generated
Normal file
197
BitgetApi/MainForm.Designer.cs
generated
Normal file
@@ -0,0 +1,197 @@
|
||||
namespace BitgetApi
|
||||
{
|
||||
partial class MainForm
|
||||
{
|
||||
/// <summary>
|
||||
/// 필수 디자이너 변수입니다.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// 사용 중인 모든 리소스를 정리합니다.
|
||||
/// </summary>
|
||||
/// <param name="disposing">관리되는 리소스를 삭제해야 하면 true이고, 그렇지 않으면 false입니다.</param>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && (components != null))
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
#region Windows Form 디자이너에서 생성한 코드
|
||||
|
||||
/// <summary>
|
||||
/// 디자이너 지원에 필요한 메서드입니다.
|
||||
/// 이 메서드의 내용을 코드 편집기로 수정하지 마세요.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.groupControl_Setting = new DevExpress.XtraEditors.GroupControl();
|
||||
this.comboBoxEdit_ConinType = new DevExpress.XtraEditors.ComboBoxEdit();
|
||||
this.comboBoxEdit_ExchangePlace = new DevExpress.XtraEditors.ComboBoxEdit();
|
||||
this.labelControl2 = new DevExpress.XtraEditors.LabelControl();
|
||||
this.labelControl1 = new DevExpress.XtraEditors.LabelControl();
|
||||
this.groupControl_MarketInfo = new DevExpress.XtraEditors.GroupControl();
|
||||
this.treeList_MarketInfo = new DevExpress.XtraTreeList.TreeList();
|
||||
this.treeListColumn_ExchangePlace = new DevExpress.XtraTreeList.Columns.TreeListColumn();
|
||||
this.treeListColumn_MarketName = new DevExpress.XtraTreeList.Columns.TreeListColumn();
|
||||
this.labelControl3 = new DevExpress.XtraEditors.LabelControl();
|
||||
this.labelControl_MarketCount = new DevExpress.XtraEditors.LabelControl();
|
||||
((System.ComponentModel.ISupportInitialize)(this.groupControl_Setting)).BeginInit();
|
||||
this.groupControl_Setting.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.comboBoxEdit_ConinType.Properties)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.comboBoxEdit_ExchangePlace.Properties)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.groupControl_MarketInfo)).BeginInit();
|
||||
this.groupControl_MarketInfo.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.treeList_MarketInfo)).BeginInit();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// groupControl_Setting
|
||||
//
|
||||
this.groupControl_Setting.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.groupControl_Setting.Controls.Add(this.comboBoxEdit_ConinType);
|
||||
this.groupControl_Setting.Controls.Add(this.comboBoxEdit_ExchangePlace);
|
||||
this.groupControl_Setting.Controls.Add(this.labelControl2);
|
||||
this.groupControl_Setting.Controls.Add(this.labelControl1);
|
||||
this.groupControl_Setting.Location = new System.Drawing.Point(3, 2);
|
||||
this.groupControl_Setting.Name = "groupControl_Setting";
|
||||
this.groupControl_Setting.Size = new System.Drawing.Size(912, 100);
|
||||
this.groupControl_Setting.TabIndex = 0;
|
||||
this.groupControl_Setting.Text = "초기 설정";
|
||||
//
|
||||
// comboBoxEdit_ConinType
|
||||
//
|
||||
this.comboBoxEdit_ConinType.Location = new System.Drawing.Point(248, 41);
|
||||
this.comboBoxEdit_ConinType.Name = "comboBoxEdit_ConinType";
|
||||
this.comboBoxEdit_ConinType.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] {
|
||||
new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo)});
|
||||
this.comboBoxEdit_ConinType.Size = new System.Drawing.Size(100, 20);
|
||||
this.comboBoxEdit_ConinType.TabIndex = 1;
|
||||
this.comboBoxEdit_ConinType.SelectedIndexChanged += new System.EventHandler(this.comboBox_CoinType_SelectedIndexChanged);
|
||||
//
|
||||
// comboBoxEdit_ExchangePlace
|
||||
//
|
||||
this.comboBoxEdit_ExchangePlace.Location = new System.Drawing.Point(66, 41);
|
||||
this.comboBoxEdit_ExchangePlace.Name = "comboBoxEdit_ExchangePlace";
|
||||
this.comboBoxEdit_ExchangePlace.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] {
|
||||
new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo)});
|
||||
this.comboBoxEdit_ExchangePlace.Size = new System.Drawing.Size(100, 20);
|
||||
this.comboBoxEdit_ExchangePlace.TabIndex = 1;
|
||||
this.comboBoxEdit_ExchangePlace.SelectedIndexChanged += new System.EventHandler(this.comboBox_ExchangePlace_SelectedIndexChanged);
|
||||
//
|
||||
// labelControl2
|
||||
//
|
||||
this.labelControl2.Location = new System.Drawing.Point(186, 44);
|
||||
this.labelControl2.Name = "labelControl2";
|
||||
this.labelControl2.Size = new System.Drawing.Size(56, 14);
|
||||
this.labelControl2.TabIndex = 0;
|
||||
this.labelControl2.Text = "코인 타입 : ";
|
||||
//
|
||||
// labelControl1
|
||||
//
|
||||
this.labelControl1.Location = new System.Drawing.Point(18, 44);
|
||||
this.labelControl1.Name = "labelControl1";
|
||||
this.labelControl1.Size = new System.Drawing.Size(42, 14);
|
||||
this.labelControl1.TabIndex = 0;
|
||||
this.labelControl1.Text = "거래소 : ";
|
||||
//
|
||||
// groupControl_MarketInfo
|
||||
//
|
||||
this.groupControl_MarketInfo.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
|
||||
| System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.groupControl_MarketInfo.Controls.Add(this.labelControl_MarketCount);
|
||||
this.groupControl_MarketInfo.Controls.Add(this.labelControl3);
|
||||
this.groupControl_MarketInfo.Controls.Add(this.treeList_MarketInfo);
|
||||
this.groupControl_MarketInfo.Location = new System.Drawing.Point(2, 108);
|
||||
this.groupControl_MarketInfo.Name = "groupControl_MarketInfo";
|
||||
this.groupControl_MarketInfo.Size = new System.Drawing.Size(912, 430);
|
||||
this.groupControl_MarketInfo.TabIndex = 1;
|
||||
this.groupControl_MarketInfo.Text = "종목 현황";
|
||||
//
|
||||
// treeList_MarketInfo
|
||||
//
|
||||
this.treeList_MarketInfo.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
|
||||
| System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.treeList_MarketInfo.Columns.AddRange(new DevExpress.XtraTreeList.Columns.TreeListColumn[] {
|
||||
this.treeListColumn_ExchangePlace,
|
||||
this.treeListColumn_MarketName});
|
||||
this.treeList_MarketInfo.Location = new System.Drawing.Point(2, 56);
|
||||
this.treeList_MarketInfo.Name = "treeList_MarketInfo";
|
||||
this.treeList_MarketInfo.Size = new System.Drawing.Size(908, 372);
|
||||
this.treeList_MarketInfo.TabIndex = 0;
|
||||
//
|
||||
// treeListColumn_ExchangePlace
|
||||
//
|
||||
this.treeListColumn_ExchangePlace.Caption = "거래소";
|
||||
this.treeListColumn_ExchangePlace.FieldName = "ExchangePlace";
|
||||
this.treeListColumn_ExchangePlace.Name = "treeListColumn_ExchangePlace";
|
||||
this.treeListColumn_ExchangePlace.Visible = true;
|
||||
this.treeListColumn_ExchangePlace.VisibleIndex = 0;
|
||||
//
|
||||
// treeListColumn_MarketName
|
||||
//
|
||||
this.treeListColumn_MarketName.Caption = "종목";
|
||||
this.treeListColumn_MarketName.FieldName = "MarketName";
|
||||
this.treeListColumn_MarketName.Name = "treeListColumn_MarketName";
|
||||
this.treeListColumn_MarketName.Visible = true;
|
||||
this.treeListColumn_MarketName.VisibleIndex = 1;
|
||||
//
|
||||
// labelControl3
|
||||
//
|
||||
this.labelControl3.Location = new System.Drawing.Point(804, 36);
|
||||
this.labelControl3.Name = "labelControl3";
|
||||
this.labelControl3.Size = new System.Drawing.Size(46, 14);
|
||||
this.labelControl3.TabIndex = 1;
|
||||
this.labelControl3.Text = "총 개수 : ";
|
||||
//
|
||||
// labelControl_MarketCount
|
||||
//
|
||||
this.labelControl_MarketCount.Location = new System.Drawing.Point(856, 36);
|
||||
this.labelControl_MarketCount.Name = "labelControl_MarketCount";
|
||||
this.labelControl_MarketCount.Size = new System.Drawing.Size(21, 14);
|
||||
this.labelControl_MarketCount.TabIndex = 2;
|
||||
this.labelControl_MarketCount.Text = "220";
|
||||
//
|
||||
// MainForm
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(916, 542);
|
||||
this.Controls.Add(this.groupControl_MarketInfo);
|
||||
this.Controls.Add(this.groupControl_Setting);
|
||||
this.Name = "MainForm";
|
||||
this.Text = "Searcher";
|
||||
((System.ComponentModel.ISupportInitialize)(this.groupControl_Setting)).EndInit();
|
||||
this.groupControl_Setting.ResumeLayout(false);
|
||||
this.groupControl_Setting.PerformLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.comboBoxEdit_ConinType.Properties)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.comboBoxEdit_ExchangePlace.Properties)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.groupControl_MarketInfo)).EndInit();
|
||||
this.groupControl_MarketInfo.ResumeLayout(false);
|
||||
this.groupControl_MarketInfo.PerformLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.treeList_MarketInfo)).EndInit();
|
||||
this.ResumeLayout(false);
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private DevExpress.XtraEditors.GroupControl groupControl_Setting;
|
||||
private DevExpress.XtraEditors.GroupControl groupControl_MarketInfo;
|
||||
private DevExpress.XtraTreeList.TreeList treeList_MarketInfo;
|
||||
private DevExpress.XtraEditors.ComboBoxEdit comboBoxEdit_ConinType;
|
||||
private DevExpress.XtraEditors.ComboBoxEdit comboBoxEdit_ExchangePlace;
|
||||
private DevExpress.XtraEditors.LabelControl labelControl2;
|
||||
private DevExpress.XtraEditors.LabelControl labelControl1;
|
||||
private DevExpress.XtraTreeList.Columns.TreeListColumn treeListColumn_ExchangePlace;
|
||||
private DevExpress.XtraTreeList.Columns.TreeListColumn treeListColumn_MarketName;
|
||||
private DevExpress.XtraEditors.LabelControl labelControl_MarketCount;
|
||||
private DevExpress.XtraEditors.LabelControl labelControl3;
|
||||
}
|
||||
}
|
||||
|
||||
241
BitgetApi/MainForm.cs
Normal file
241
BitgetApi/MainForm.cs
Normal file
@@ -0,0 +1,241 @@
|
||||
using BitgetAPI.Data;
|
||||
using DevExpress.XtraEditors;
|
||||
using Newtonsoft.Json;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Data;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Net.WebSockets;
|
||||
using System.Reflection;
|
||||
using System.Text;
|
||||
using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Forms;
|
||||
using static BitgetApi.CommonProperty;
|
||||
|
||||
namespace BitgetApi
|
||||
{
|
||||
public partial class MainForm : Form
|
||||
{
|
||||
CommonProperty commonProperty = CommonProperty.Instance;
|
||||
|
||||
public MainForm()
|
||||
{
|
||||
InitializeComponent();
|
||||
|
||||
init();
|
||||
}
|
||||
|
||||
// 폼 초기화 작업
|
||||
public void init()
|
||||
{
|
||||
// 거래소 항목 추가 및 설정하기
|
||||
comboBoxEdit_ExchangePlace.Properties.Items.AddRange(Enum.GetNames(typeof(CommonProperty.ExchangePlace)));
|
||||
comboBoxEdit_ExchangePlace.SelectedIndex = (int)CommonProperty.ExchangePlace.Bitget;
|
||||
commonProperty.selectedChangePlace = CommonProperty.ExchangePlace.Bitget;
|
||||
|
||||
// API Key 가져오기 및 등록
|
||||
|
||||
// BITGET Raster 소켓 테스트
|
||||
|
||||
// 데이터 분석
|
||||
|
||||
// 캔들 가져오기
|
||||
|
||||
// 구름떼, 볼린저 생성
|
||||
|
||||
//
|
||||
|
||||
//
|
||||
}
|
||||
|
||||
public async void webSocektStart()
|
||||
{
|
||||
string apiUrl = "https://api.upbit.com/v1/market/all?isDetails=true";
|
||||
|
||||
// IP당 100개 연결
|
||||
// 시간당 240회 !!!
|
||||
// 타이머 30초 유지 > 30초 이내의 응답 메시지 수신 필요 > 아니면 오류 발생 !! > 재접속 필요 !!
|
||||
// 초당 10개 메시지 허용
|
||||
// 단일 연결로 최대 1000개의 스트림 구독
|
||||
// 단인 IP 최대의 100개 연결
|
||||
|
||||
// *
|
||||
/* timestamp : Unix Epoch 시간
|
||||
* passphrase : APIKey 비밀번호
|
||||
* timestamp : Unix Epoch 시간, 단위는 초(--restAPI의 서명 타임스탬프와 다름--)
|
||||
* secretKey : 사용자가 APIKey를 신청할 때 생성되는 보안 키입니다. 예: 22582BD0CFF14C41EDBF1AB98506286D
|
||||
*/
|
||||
|
||||
|
||||
ClientWebSocket webSocket = new ClientWebSocket();
|
||||
|
||||
string WebSocketUrl = "wss://ws.bitget.com/v2/ws/public";
|
||||
string message = "";
|
||||
|
||||
try
|
||||
{
|
||||
await webSocket.ConnectAsync(new Uri(WebSocketUrl), CancellationToken.None);
|
||||
// 연결이 성공적으로 이루어지면 처리할 코드 작성
|
||||
Console.WriteLine("WebSocket 연결 성공");
|
||||
|
||||
var jsonDataText = "{\"op\":\"subscribe\",\"args\":[{\"instType\":\"SPOT\",\"channel\":\"ticker\",\"instId\":\"ETHUSDT\"}, {\"instType\":\"SPOT\",\"channel\":\"ticker\",\"instId\":\"BTCUSDT\"}]}";
|
||||
|
||||
// test11 = JsonConvert.SerializeObject(jsonData);
|
||||
|
||||
await SendMessage(webSocket, jsonDataText);
|
||||
|
||||
|
||||
// 데이터 수신을 위한 반복문 시작
|
||||
while (webSocket.State == WebSocketState.Open)
|
||||
{
|
||||
byte[] buffer = new byte[1024];
|
||||
WebSocketReceiveResult result = await webSocket.ReceiveAsync(new ArraySegment<byte>(buffer), CancellationToken.None);
|
||||
message = "";
|
||||
// 수신한 데이터 처리
|
||||
message = System.Text.Encoding.UTF8.GetString(buffer, 0, result.Count);
|
||||
var testData = JsonConvert.DeserializeObject<TradeData>(message);
|
||||
|
||||
Console.WriteLine("수신한 데이터: " + message);
|
||||
DateTime dt = new DateTime(1970, 01, 01);
|
||||
dt = dt.AddMilliseconds(testData.trade_timestamp).ToLocalTime();
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Console.WriteLine("WebSocket 연결 중 오류 발생: " + ex.Message);
|
||||
}
|
||||
finally
|
||||
{
|
||||
if (webSocket.State == WebSocketState.Open)
|
||||
await webSocket.CloseAsync(WebSocketCloseStatus.NormalClosure, "WebSocket 연결 종료", CancellationToken.None);
|
||||
|
||||
webSocket.Dispose();
|
||||
}
|
||||
}
|
||||
|
||||
private static async Task SendMessage(ClientWebSocket webSocket, string message)
|
||||
{
|
||||
byte[] buffer = Encoding.UTF8.GetBytes(message);
|
||||
await webSocket.SendAsync(new ArraySegment<byte>(buffer), WebSocketMessageType.Text, true, CancellationToken.None);
|
||||
Console.WriteLine("메시지 전송: " + message);
|
||||
}
|
||||
|
||||
// 거래소 콤보박스 클릭 시 이벤트 처리
|
||||
private void comboBox_ExchangePlace_SelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
var combobox = (ComboBoxEdit)sender;
|
||||
|
||||
// 거래소에 따라서 코인 타입 생성하기
|
||||
switch (combobox.SelectedIndex)
|
||||
{
|
||||
case (int)CommonProperty.ExchangePlace.Bitget:
|
||||
// 코인 타입 설정하기
|
||||
comboBoxEdit_ConinType.Properties.Items.AddRange(Enum.GetNames(typeof(CommonProperty.BitgetProductType)));
|
||||
comboBoxEdit_ConinType.SelectedIndex = (int)CommonProperty.BitgetProductType.FUTURE;
|
||||
commonProperty.selectedBitgetProductType = CommonProperty.BitgetProductType.FUTURE;
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// 코인 타입 콤보박스 클릭 시 이벤트 처리
|
||||
private void comboBox_CoinType_SelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
var combobox = (ComboBoxEdit)sender;
|
||||
|
||||
// 선택된 타입에 따라서 종목 정보 가져오기
|
||||
ExchangeWebReqType exchangeWebReqType = ExchangeWebReqType.BitgetMarket_Future;
|
||||
switch (combobox.SelectedIndex)
|
||||
{
|
||||
case (int)CommonProperty.BitgetProductType.COIN:
|
||||
commonProperty.selectedBitgetProductType = CommonProperty.BitgetProductType.COIN;
|
||||
exchangeWebReqType = ExchangeWebReqType.BitgetMarket_Spot;
|
||||
break;
|
||||
case (int)CommonProperty.BitgetProductType.FUTURE:
|
||||
commonProperty.selectedBitgetProductType = CommonProperty.BitgetProductType.FUTURE;
|
||||
exchangeWebReqType = ExchangeWebReqType.BitgetMarket_Future;
|
||||
break;
|
||||
case (int)CommonProperty.BitgetProductType.MARGIN_보류:
|
||||
commonProperty.selectedBitgetProductType = CommonProperty.BitgetProductType.MARGIN_보류;
|
||||
break;
|
||||
}
|
||||
|
||||
// 마켓 정보 가져오기
|
||||
var marketInfos = (List<MarketInfo>)BitgetAPI.WebService.WebConnection.SendWebServer(exchangeWebReqType);
|
||||
|
||||
labelControl_MarketCount.Text = marketInfos.Count().ToString();
|
||||
treeList_MarketInfo.DataSource = marketInfos;
|
||||
treeList_MarketInfo.RefreshDataSource();
|
||||
|
||||
List<MarketCandleDataList> candleDataLists = new List<MarketCandleDataList>();
|
||||
|
||||
commonProperty.candleDataLists = candleDataLists;
|
||||
|
||||
var candleCount = 200;
|
||||
|
||||
// 캔들 데이터 가져오기 : 종목, 개수,
|
||||
foreach(var item in marketInfos)
|
||||
{
|
||||
MarketCandleDataList candleDataList = new MarketCandleDataList();
|
||||
candleDataList.ConGoodsData = item;
|
||||
|
||||
// 캔들 데이터 가져오기
|
||||
foreach(var interval in Enum.GetValues(typeof(CommonProperty.MCandleTimeType)))
|
||||
{
|
||||
// Description
|
||||
var description = Utils.Convertor.GetEnumDescription((Enum)interval);
|
||||
// 1M, 3M Names....
|
||||
var intervalName = Enum.GetName(typeof(CommonProperty.MCandleTimeType), interval);
|
||||
|
||||
var url = "";
|
||||
|
||||
switch(commonProperty.selectedChangePlace)
|
||||
{
|
||||
case ExchangePlace.Upbit:
|
||||
break;
|
||||
case ExchangePlace.Bitget:
|
||||
switch(commonProperty.selectedBitgetProductType)
|
||||
{
|
||||
case BitgetProductType.COIN:
|
||||
exchangeWebReqType = ExchangeWebReqType.BitgetCandleStick_Coin;
|
||||
var defaultDateTime = DateTime.Now;
|
||||
|
||||
var startDateTime = DateTime.FromFileTimeUtc(defaultDateTime.Ticks);
|
||||
|
||||
// count + 50 개 캔들 추가 가져오기
|
||||
var endDateTime = DateTime.FromFileTimeUtc(defaultDateTime.AddSeconds((int)interval * -1).Ticks);
|
||||
|
||||
// 종목, 인터벌시간, 시작시간(UTC), 종료시간(UTC), 제한 개수 (default:100, Max:1000)
|
||||
url = string.Format(BitgetURL_MarketCandle_Coin,
|
||||
item.MarketName, description, startDateTime.ToString(), endDateTime.ToString(), candleCount.ToString());
|
||||
break;
|
||||
case BitgetProductType.FUTURE:
|
||||
exchangeWebReqType = ExchangeWebReqType.BitgetCandleStick_Future;
|
||||
|
||||
url = string.Format(CommonProperty.BitgetURL_MarketCandle_Future,
|
||||
item.MarketName, description, candleCount.ToString(), "USDT-FUTURES");
|
||||
break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
var candleList = BitgetAPI.WebService.WebConnection.SendWebServer(exchangeWebReqType, url);
|
||||
// 초당 20회 제한 !!!!
|
||||
// Thread.Sleep(50);
|
||||
candleDataList.candleDataList.Add((MCandleTimeType)interval,(List<CandleData>)candleList);
|
||||
|
||||
}
|
||||
|
||||
candleDataLists.Add(candleDataList);
|
||||
}
|
||||
|
||||
var test = "";
|
||||
test += "1";
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
120
BitgetApi/MainForm.resx
Normal file
120
BitgetApi/MainForm.resx
Normal file
@@ -0,0 +1,120 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
</root>
|
||||
22
BitgetApi/Program.cs
Normal file
22
BitgetApi/Program.cs
Normal file
@@ -0,0 +1,22 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace BitgetApi
|
||||
{
|
||||
internal static class Program
|
||||
{
|
||||
/// <summary>
|
||||
/// 해당 애플리케이션의 주 진입점입니다.
|
||||
/// </summary>
|
||||
[STAThread]
|
||||
static void Main()
|
||||
{
|
||||
Application.EnableVisualStyles();
|
||||
Application.SetCompatibleTextRenderingDefault(false);
|
||||
Application.Run(new MainForm());
|
||||
}
|
||||
}
|
||||
}
|
||||
36
BitgetApi/Properties/AssemblyInfo.cs
Normal file
36
BitgetApi/Properties/AssemblyInfo.cs
Normal file
@@ -0,0 +1,36 @@
|
||||
using System.Reflection;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
// 어셈블리에 대한 일반 정보는 다음 특성 집합을 통해
|
||||
// 제어됩니다. 어셈블리와 관련된 정보를 수정하려면
|
||||
// 이러한 특성 값을 변경하세요.
|
||||
[assembly: AssemblyTitle("BitgetApi")]
|
||||
[assembly: AssemblyDescription("")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("")]
|
||||
[assembly: AssemblyProduct("BitgetApi")]
|
||||
[assembly: AssemblyCopyright("Copyright © 2024")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
|
||||
// ComVisible을 false로 설정하면 이 어셈블리의 형식이 COM 구성 요소에
|
||||
// 표시되지 않습니다. COM에서 이 어셈블리의 형식에 액세스하려면
|
||||
// 해당 형식에 대해 ComVisible 특성을 true로 설정하세요.
|
||||
[assembly: ComVisible(false)]
|
||||
|
||||
// 이 프로젝트가 COM에 노출되는 경우 다음 GUID는 typelib의 ID를 나타냅니다.
|
||||
[assembly: Guid("09813a63-9ef4-4d6d-ba41-5f610909bdec")]
|
||||
|
||||
// 어셈블리의 버전 정보는 다음 네 가지 값으로 구성됩니다.
|
||||
//
|
||||
// 주 버전
|
||||
// 부 버전
|
||||
// 빌드 번호
|
||||
// 수정 버전
|
||||
//
|
||||
// 모든 값을 지정하거나 아래와 같이 '*'를 사용하여 빌드 번호 및 수정 번호를
|
||||
// 기본값으로 할 수 있습니다.
|
||||
// [assembly: AssemblyVersion("1.0.*")]
|
||||
[assembly: AssemblyVersion("1.0.0.0")]
|
||||
[assembly: AssemblyFileVersion("1.0.0.0")]
|
||||
71
BitgetApi/Properties/Resources.Designer.cs
generated
Normal file
71
BitgetApi/Properties/Resources.Designer.cs
generated
Normal file
@@ -0,0 +1,71 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// 이 코드는 도구를 사용하여 생성되었습니다.
|
||||
// 런타임 버전:4.0.30319.42000
|
||||
//
|
||||
// 파일 내용을 변경하면 잘못된 동작이 발생할 수 있으며, 코드를 다시 생성하면
|
||||
// 이러한 변경 내용이 손실됩니다.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace BitgetApi.Properties
|
||||
{
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 지역화된 문자열 등을 찾기 위한 강력한 형식의 리소스 클래스입니다.
|
||||
/// </summary>
|
||||
// 이 클래스는 ResGen 또는 Visual Studio와 같은 도구를 통해 StronglyTypedResourceBuilder
|
||||
// 클래스에서 자동으로 생성되었습니다.
|
||||
// 멤버를 추가하거나 제거하려면 .ResX 파일을 편집한 다음 /str 옵션을 사용하여
|
||||
// ResGen을 다시 실행하거나 VS 프로젝트를 다시 빌드하십시오.
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||
internal class Resources
|
||||
{
|
||||
|
||||
private static global::System.Resources.ResourceManager resourceMan;
|
||||
|
||||
private static global::System.Globalization.CultureInfo resourceCulture;
|
||||
|
||||
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
|
||||
internal Resources()
|
||||
{
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 이 클래스에서 사용하는 캐시된 ResourceManager 인스턴스를 반환합니다.
|
||||
/// </summary>
|
||||
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||
internal static global::System.Resources.ResourceManager ResourceManager
|
||||
{
|
||||
get
|
||||
{
|
||||
if ((resourceMan == null))
|
||||
{
|
||||
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("BitgetApi.Properties.Resources", typeof(Resources).Assembly);
|
||||
resourceMan = temp;
|
||||
}
|
||||
return resourceMan;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 이 강력한 형식의 리소스 클래스를 사용하여 모든 리소스 조회에 대해 현재 스레드의 CurrentUICulture 속성을
|
||||
/// 재정의합니다.
|
||||
/// </summary>
|
||||
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||
internal static global::System.Globalization.CultureInfo Culture
|
||||
{
|
||||
get
|
||||
{
|
||||
return resourceCulture;
|
||||
}
|
||||
set
|
||||
{
|
||||
resourceCulture = value;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
117
BitgetApi/Properties/Resources.resx
Normal file
117
BitgetApi/Properties/Resources.resx
Normal file
@@ -0,0 +1,117 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
</root>
|
||||
30
BitgetApi/Properties/Settings.Designer.cs
generated
Normal file
30
BitgetApi/Properties/Settings.Designer.cs
generated
Normal file
@@ -0,0 +1,30 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Runtime Version:4.0.30319.42000
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace BitgetApi.Properties
|
||||
{
|
||||
|
||||
|
||||
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")]
|
||||
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase
|
||||
{
|
||||
|
||||
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
|
||||
|
||||
public static Settings Default
|
||||
{
|
||||
get
|
||||
{
|
||||
return defaultInstance;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
7
BitgetApi/Properties/Settings.settings
Normal file
7
BitgetApi/Properties/Settings.settings
Normal file
@@ -0,0 +1,7 @@
|
||||
<?xml version='1.0' encoding='utf-8'?>
|
||||
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)">
|
||||
<Profiles>
|
||||
<Profile Name="(Default)" />
|
||||
</Profiles>
|
||||
<Settings />
|
||||
</SettingsFile>
|
||||
2
BitgetApi/Properties/licenses.licx
Normal file
2
BitgetApi/Properties/licenses.licx
Normal file
@@ -0,0 +1,2 @@
|
||||
DevExpress.XtraEditors.ComboBoxEdit, DevExpress.XtraEditors.v23.2, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
|
||||
DevExpress.XtraTreeList.TreeList, DevExpress.XtraTreeList.v23.2, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
|
||||
72
BitgetApi/Utils/BaseSingleton.cs
Normal file
72
BitgetApi/Utils/BaseSingleton.cs
Normal file
@@ -0,0 +1,72 @@
|
||||
using Newtonsoft.Json;
|
||||
using System;
|
||||
using System.IO;
|
||||
|
||||
namespace BitgetAPI.Utils
|
||||
{
|
||||
public class BaseSettings<T> where T : class, new()
|
||||
{
|
||||
private static readonly object lockObject = new object();
|
||||
private static readonly object fileLockObject = new object();
|
||||
private static T _instance;
|
||||
public static T Instance
|
||||
{
|
||||
get
|
||||
{
|
||||
lock (lockObject)
|
||||
{
|
||||
//var path = GetSettingFilePath();
|
||||
|
||||
if (null == _instance)
|
||||
_instance = CreateInstance();
|
||||
}
|
||||
return _instance;
|
||||
}
|
||||
}
|
||||
|
||||
protected static T CreateInstance()
|
||||
{
|
||||
try
|
||||
{
|
||||
Type type = typeof(T);
|
||||
var saveFilePath = getFilePath();
|
||||
|
||||
if (File.Exists(saveFilePath))
|
||||
{
|
||||
//File.ReadAllText(saveFilePath);
|
||||
return JsonConvert.DeserializeObject<T>(File.ReadAllText(saveFilePath)) ?? new T();
|
||||
}
|
||||
}
|
||||
catch { }
|
||||
|
||||
return new T();
|
||||
}
|
||||
|
||||
private static string getFilePath()
|
||||
{
|
||||
return typeof(T).Name + ".json";
|
||||
}
|
||||
|
||||
~BaseSettings()
|
||||
{
|
||||
SaveConfig();
|
||||
}
|
||||
|
||||
public void SaveConfig()
|
||||
{
|
||||
lock (fileLockObject)
|
||||
{
|
||||
try
|
||||
{
|
||||
string json = JsonConvert.SerializeObject(this, Formatting.Indented);
|
||||
File.WriteAllText(getFilePath(), json);
|
||||
}
|
||||
catch
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
42
BitgetApi/Utils/Convertor.cs
Normal file
42
BitgetApi/Utils/Convertor.cs
Normal file
@@ -0,0 +1,42 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Linq;
|
||||
using System.Reflection;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace BitgetApi.Utils
|
||||
{
|
||||
public static class Convertor
|
||||
{
|
||||
/// <summary>
|
||||
/// Get Enum Description
|
||||
/// </summary>
|
||||
/// <param name="source"></param>
|
||||
/// <returns></returns>
|
||||
public static string GetEnumDescription(Enum source)
|
||||
{
|
||||
FieldInfo fi = source.GetType().GetField(source.ToString());
|
||||
var att = (DescriptionAttribute)fi.GetCustomAttribute(typeof(DescriptionAttribute));
|
||||
if (att != null)
|
||||
{
|
||||
return att.Description;
|
||||
}
|
||||
else
|
||||
{
|
||||
return source.ToString();
|
||||
}
|
||||
}
|
||||
|
||||
public static long GetDateTimeToUnixtimeStamp(DateTime datetime)
|
||||
{
|
||||
return (long)(datetime - new DateTime(1970, 1, 1, 9, 0, 0)).TotalSeconds;
|
||||
}
|
||||
|
||||
public static DateTime GetUnixtimeStampToDateTime(long unixStamptime)
|
||||
{
|
||||
return new DateTime(1970, 1, 1, 9, 0, 0).AddMilliseconds(unixStamptime); ;
|
||||
}
|
||||
}
|
||||
}
|
||||
170
BitgetApi/WebService/WebConnection.cs
Normal file
170
BitgetApi/WebService/WebConnection.cs
Normal file
@@ -0,0 +1,170 @@
|
||||
using BitgetApi;
|
||||
using BitgetApi.Utils;
|
||||
using BitgetAPI.Data;
|
||||
using BitgetAPI.Utils;
|
||||
using Newtonsoft.Json;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Net;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace BitgetAPI.WebService
|
||||
{
|
||||
public class WebConnection
|
||||
{
|
||||
public static object SendWebServer(CommonProperty.ExchangeWebReqType exchangeWebReqType, string url = "", string postData = "", string subUri = "")
|
||||
{
|
||||
object returnJsonData = null;
|
||||
|
||||
CommonProperty commonProperty = CommonProperty.Instance;
|
||||
|
||||
try
|
||||
{
|
||||
HttpWebRequest wReq = null;
|
||||
|
||||
// Post 방식인 경우만 사용
|
||||
var rgbyData = Encoding.ASCII.GetBytes(postData);
|
||||
|
||||
// 웹 전송 타입 지정
|
||||
var webConType = CommonProperty.WebConnectionType.GET;
|
||||
|
||||
// 1. WebRequest 객체 형성 및 HttpWebRequest 로 형변환
|
||||
// 2. 거래소에 따른 헤더 파일 처리(POST 일 경우만 지정함)
|
||||
|
||||
|
||||
if(string.IsNullOrEmpty(url))
|
||||
{
|
||||
switch (exchangeWebReqType)
|
||||
{
|
||||
#region Upbit
|
||||
case CommonProperty.ExchangeWebReqType.UpbitMarket:
|
||||
wReq = (HttpWebRequest)WebRequest.Create(new Uri(CommonProperty.UpbitURL_MarketInfo));
|
||||
break;
|
||||
#endregion
|
||||
|
||||
#region Bitget
|
||||
case CommonProperty.ExchangeWebReqType.BitgetMarket_Spot:
|
||||
wReq = (HttpWebRequest)WebRequest.Create(new Uri(CommonProperty.BitgetURL_MarketInfo_COIN));
|
||||
break;
|
||||
|
||||
case CommonProperty.ExchangeWebReqType.BitgetMarket_Future:
|
||||
wReq = (HttpWebRequest)WebRequest.Create(new Uri(CommonProperty.BitgetURL_MarketInfo_FUTURE));
|
||||
break;
|
||||
|
||||
case CommonProperty.ExchangeWebReqType.BitgetCandleStick_Coin:
|
||||
wReq = (HttpWebRequest)WebRequest.Create(new Uri(CommonProperty.BitgetURL_MarketCandle_Coin));
|
||||
break;
|
||||
case CommonProperty.ExchangeWebReqType.BitgetCandleStick_Future:
|
||||
wReq = (HttpWebRequest)WebRequest.Create(new Uri(CommonProperty.BitgetURL_MarketCandle_Future));
|
||||
break;
|
||||
#endregion
|
||||
|
||||
}
|
||||
}
|
||||
else wReq= (HttpWebRequest)WebRequest.Create(new Uri(url));
|
||||
|
||||
|
||||
// GET, POST 구분
|
||||
switch (webConType)
|
||||
{
|
||||
case CommonProperty.WebConnectionType.GET:
|
||||
break;
|
||||
case CommonProperty.WebConnectionType.POST:
|
||||
wReq.Method = "POST"; // 전송 방법 "GET" or "POST"
|
||||
using (var stream = wReq.GetRequestStream())
|
||||
{
|
||||
stream.Write(rgbyData, 0, rgbyData.Length);
|
||||
}
|
||||
wReq.ContentType = "application/x-www-form-urlencoded";
|
||||
wReq.ContentLength = rgbyData.Length;
|
||||
break;
|
||||
}
|
||||
|
||||
using (var wRes = (HttpWebResponse)wReq.GetResponse())
|
||||
{
|
||||
var respPostStream = wRes.GetResponseStream();
|
||||
var readerPost = new StreamReader(respPostStream, Encoding.UTF8, true);
|
||||
var resResult = readerPost.ReadToEnd();
|
||||
switch (exchangeWebReqType)
|
||||
{
|
||||
#region Bitget
|
||||
case CommonProperty.ExchangeWebReqType.BitgetMarket_Spot:
|
||||
{
|
||||
var datalist = JsonConvert.DeserializeObject<Dictionary<string, object>>(resResult);
|
||||
var marketInfo = JsonConvert.DeserializeObject<List<Dictionary<string, object>>>(datalist["data"]?.ToString());
|
||||
var data = marketInfo.FindAll(x => x["coin"].ToString().Contains("USDT"));
|
||||
}
|
||||
break;
|
||||
case CommonProperty.ExchangeWebReqType.BitgetMarket_Future:
|
||||
{
|
||||
var datalist = JsonConvert.DeserializeObject<Dictionary<string, object>>(resResult);
|
||||
var marketInfos = JsonConvert.DeserializeObject<List<Dictionary<string, object>>>(datalist["data"]?.ToString());
|
||||
|
||||
commonProperty.marketInfoList = new List<MarketInfo>();
|
||||
|
||||
foreach (var item in marketInfos)
|
||||
{
|
||||
MarketInfo marketInfo = new MarketInfo();
|
||||
marketInfo.MarketName = item["symbol"].ToString();
|
||||
marketInfo.ExchangePlace = Enum.GetName(typeof(CommonProperty.ExchangePlace), commonProperty.selectedChangePlace);
|
||||
commonProperty.marketInfoList.Add(marketInfo);
|
||||
}
|
||||
|
||||
return commonProperty.marketInfoList;
|
||||
}
|
||||
break;
|
||||
case CommonProperty.ExchangeWebReqType.BitgetCandleStick_Coin:
|
||||
{
|
||||
|
||||
}
|
||||
break;
|
||||
case CommonProperty.ExchangeWebReqType.BitgetCandleStick_Future:
|
||||
{
|
||||
var datalist = JsonConvert.DeserializeObject<Dictionary<string, object>>(resResult);
|
||||
var datas = JsonConvert.DeserializeObject<List<List<object>>>(datalist["data"]?.ToString());
|
||||
|
||||
List<CandleData> candleDatas = new List<CandleData>();
|
||||
|
||||
foreach(var item in datas)
|
||||
{
|
||||
CandleData candleData = new CandleData();
|
||||
candleData.Argument = Convertor.GetUnixtimeStampToDateTime(long.Parse(item[0].ToString()));
|
||||
candleData.Open = Convert.ToDouble(item[1]);
|
||||
candleData.High = Convert.ToDouble(item[2]);
|
||||
candleData.Low = Convert.ToDouble(item[3]);
|
||||
candleData.Close = Convert.ToDouble(item[4]);
|
||||
candleData.Vol_C = Convert.ToDouble(item[5]);
|
||||
candleData.Vol_USD = Convert.ToDouble(item[6]);
|
||||
|
||||
candleDatas.Add(candleData);
|
||||
}
|
||||
|
||||
return candleDatas;
|
||||
}
|
||||
break;
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (WebException webEx)
|
||||
{
|
||||
using (var Response = (HttpWebResponse)webEx.Response)
|
||||
{
|
||||
var nCode = Response.StatusCode;
|
||||
|
||||
using (var reader = new StreamReader(Response.GetResponseStream()))
|
||||
{
|
||||
var sRespBodyData = reader.ReadToEnd();
|
||||
|
||||
//return (JObject.Parse(sRespBodyData));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return returnJsonData;
|
||||
}
|
||||
}
|
||||
}
|
||||
BIN
BitgetApi/bin/Debug/BitgetApi.exe
Normal file
BIN
BitgetApi/bin/Debug/BitgetApi.exe
Normal file
Binary file not shown.
6
BitgetApi/bin/Debug/BitgetApi.exe.config
Normal file
6
BitgetApi/bin/Debug/BitgetApi.exe.config
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<configuration>
|
||||
<startup>
|
||||
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2" />
|
||||
</startup>
|
||||
</configuration>
|
||||
BIN
BitgetApi/bin/Debug/BitgetApi.pdb
Normal file
BIN
BitgetApi/bin/Debug/BitgetApi.pdb
Normal file
Binary file not shown.
875
BitgetApi/bin/Debug/CommonProperty.json
Normal file
875
BitgetApi/bin/Debug/CommonProperty.json
Normal file
@@ -0,0 +1,875 @@
|
||||
{
|
||||
"selectedChangePlace": 2,
|
||||
"selectedPaymentType": 0,
|
||||
"selectedBitgetProductType": 1,
|
||||
"marketInfoList": [
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "BTCUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "ETHUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "XRPUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "EOSUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "BCHUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "LTCUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "ADAUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "ETCUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "LINKUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "TRXUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "DOTUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "DOGEUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "SOLUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "MATICUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "BNBUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "UNIUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "ICPUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "AAVEUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "FILUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "XLMUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "ATOMUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "XTZUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "SUSHIUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "AXSUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "THETAUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "AVAXUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "SHIBUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "MANAUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "GALAUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "SANDUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "DYDXUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "CRVUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "NEARUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "EGLDUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "KSMUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "ARUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "FTMUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "PEOPLEUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "LRCUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "NEOUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "WAVESUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "ALGOUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "IOTAUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "ENJUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "GMTUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "ZILUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "IOSTUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "APEUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "RUNEUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "KNCUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "APTUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "CHZUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "ROSEUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "ZRXUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "KAVAUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "ENSUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "GALUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "SXPUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "C98USDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "OPUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "RSRUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "SNXUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "STORJUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "1INCHUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "COMPUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "IMXUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "LUNA2USDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "FLOWUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "QTUMUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "API3USDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "MASKUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "WOOUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "GRTUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "BANDUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "STGUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "LUNCUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "ONEUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "JASMYUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "MKRUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "BATUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "MAGICUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "LDOUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "OCEANUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "CELOUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "BLURUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "MINAUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "COREUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "CFXUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "ASTRUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "AGIXUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "GMXUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "ANKRUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "ACHUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "FETUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "FXSUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "RNDRUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "HOOKUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "BNXUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "SSVUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "USDCUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "LQTYUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "STXUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "TRUUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "HBARUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "INJUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "BELUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "COTIUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "VETUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "ARBUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "LOOKSUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "KLAYUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "FLMUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "OMGUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "CKBUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "IDUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "LITUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "JOEUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "TLMUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "HOTUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "CHRUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "RDNTUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "ICXUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "ONTUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "UNFIUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "NKNUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "ARPAUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "DARUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "SFPUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "SKLUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "RVNUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "CELRUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "FLOKIUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "SPELLUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "SUIUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "PEPEUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "IOTXUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "STMXUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "BSVUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "TONUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "GTCUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "DENTUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "ORDIUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "KEYUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "1000BONKUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "LEVERUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "RADUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "QNTUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "MAVUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "XVGUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "1000XECUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "AGLDUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "WLDUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "PENDLEUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "ARKMUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "CVXUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "YGGUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "OGNUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "LPTUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "BNTUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "SEIUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "CYBERUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "BAKEUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "LOOMUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "BIGTIMEUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "ORBSUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "WAXPUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "POLYXUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "TIAUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "MEMEUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "PYTHUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "JTOUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "1000SATSUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "1000RATSUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "ACEUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "XAIUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "MANTAUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "ALTUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "JUPUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "ZETAUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "STRKUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "PIXELUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "DYMUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "WIFUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "AXLUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "BEAMUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "BOMEUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "METISUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "NFPUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "VANRYUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "AEVOUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "ETHFIUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "OMUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "ONDOUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "CAKEUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "PORTALUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "NTRNUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "KASUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "AIUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "ENAUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "WUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "CVCUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "TNSRUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "SAGAUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "TAOUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "FRONTUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "ATAUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "SUPERUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "ONGUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "OMNI1USDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "LSKUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "GLMUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "REZUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "XVSUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "MOVRUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "VGXUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "BBUSDT"
|
||||
},
|
||||
{
|
||||
"ExchangePlace": "Bitget",
|
||||
"MarketName": "NOTUSDT"
|
||||
}
|
||||
]
|
||||
}
|
||||
BIN
BitgetApi/bin/Debug/DevExpress.Data.Desktop.v23.2.dll
Normal file
BIN
BitgetApi/bin/Debug/DevExpress.Data.Desktop.v23.2.dll
Normal file
Binary file not shown.
1552
BitgetApi/bin/Debug/DevExpress.Data.Desktop.v23.2.xml
Normal file
1552
BitgetApi/bin/Debug/DevExpress.Data.Desktop.v23.2.xml
Normal file
File diff suppressed because it is too large
Load Diff
BIN
BitgetApi/bin/Debug/DevExpress.Data.v23.2.dll
Normal file
BIN
BitgetApi/bin/Debug/DevExpress.Data.v23.2.dll
Normal file
Binary file not shown.
20497
BitgetApi/bin/Debug/DevExpress.Data.v23.2.xml
Normal file
20497
BitgetApi/bin/Debug/DevExpress.Data.v23.2.xml
Normal file
File diff suppressed because it is too large
Load Diff
BIN
BitgetApi/bin/Debug/DevExpress.Drawing.v23.2.dll
Normal file
BIN
BitgetApi/bin/Debug/DevExpress.Drawing.v23.2.dll
Normal file
Binary file not shown.
4457
BitgetApi/bin/Debug/DevExpress.Drawing.v23.2.xml
Normal file
4457
BitgetApi/bin/Debug/DevExpress.Drawing.v23.2.xml
Normal file
File diff suppressed because it is too large
Load Diff
BIN
BitgetApi/bin/Debug/DevExpress.Pdf.v23.2.Core.dll
Normal file
BIN
BitgetApi/bin/Debug/DevExpress.Pdf.v23.2.Core.dll
Normal file
Binary file not shown.
13264
BitgetApi/bin/Debug/DevExpress.Pdf.v23.2.Core.xml
Normal file
13264
BitgetApi/bin/Debug/DevExpress.Pdf.v23.2.Core.xml
Normal file
File diff suppressed because it is too large
Load Diff
BIN
BitgetApi/bin/Debug/DevExpress.Pdf.v23.2.Drawing.dll
Normal file
BIN
BitgetApi/bin/Debug/DevExpress.Pdf.v23.2.Drawing.dll
Normal file
Binary file not shown.
1801
BitgetApi/bin/Debug/DevExpress.Pdf.v23.2.Drawing.xml
Normal file
1801
BitgetApi/bin/Debug/DevExpress.Pdf.v23.2.Drawing.xml
Normal file
File diff suppressed because it is too large
Load Diff
BIN
BitgetApi/bin/Debug/DevExpress.Printing.v23.2.Core.dll
Normal file
BIN
BitgetApi/bin/Debug/DevExpress.Printing.v23.2.Core.dll
Normal file
Binary file not shown.
27784
BitgetApi/bin/Debug/DevExpress.Printing.v23.2.Core.xml
Normal file
27784
BitgetApi/bin/Debug/DevExpress.Printing.v23.2.Core.xml
Normal file
File diff suppressed because it is too large
Load Diff
BIN
BitgetApi/bin/Debug/DevExpress.Sparkline.v23.2.Core.dll
Normal file
BIN
BitgetApi/bin/Debug/DevExpress.Sparkline.v23.2.Core.dll
Normal file
Binary file not shown.
445
BitgetApi/bin/Debug/DevExpress.Sparkline.v23.2.Core.xml
Normal file
445
BitgetApi/bin/Debug/DevExpress.Sparkline.v23.2.Core.xml
Normal file
@@ -0,0 +1,445 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<doc>
|
||||
<assembly>
|
||||
<name>DevExpress.Sparkline.v23.2.Core</name>
|
||||
</assembly>
|
||||
<members>
|
||||
<member name="N:DevExpress.Sparkline">
|
||||
<summary>
|
||||
<para>Contains classes required for DevExpress sparklines.</para>
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:DevExpress.Sparkline.AreaSparklineView">
|
||||
<summary>
|
||||
<para>The Area sparkline view.</para>
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:DevExpress.Sparkline.AreaSparklineView.#ctor">
|
||||
<summary>
|
||||
<para>Initializes a new instance of the <see cref="T:DevExpress.Sparkline.AreaSparklineView"/> class with the default settings.</para>
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:DevExpress.Sparkline.AreaSparklineView.AreaOpacity">
|
||||
<summary>
|
||||
<para>Specifies the opacity (0-255) of the area sparkline.</para>
|
||||
</summary>
|
||||
<value>A <see cref="T:System.Byte"/> value from 0 (transparent) to 255 (opaque).</value>
|
||||
</member>
|
||||
<member name="M:DevExpress.Sparkline.AreaSparklineView.Assign(DevExpress.Sparkline.SparklineViewBase)">
|
||||
<summary>
|
||||
<para>Copies all the settings from the <see cref="T:DevExpress.Sparkline.AreaSparklineView"/> object passed as the parameter.</para>
|
||||
</summary>
|
||||
<param name="view">A <see cref="T:DevExpress.Sparkline.AreaSparklineView"/> object (which is the <see cref="T:DevExpress.Sparkline.SparklineViewBase"/> descendant) whose settings are assigned to the current object. If null (Nothing in Visual Basic), then a <see cref="T:System.ArgumentNullException"/> will be thrown.</param>
|
||||
</member>
|
||||
<member name="P:DevExpress.Sparkline.AreaSparklineView.Type">
|
||||
<summary>
|
||||
<para>Gets the type of the sparkline view.</para>
|
||||
</summary>
|
||||
<value>Always <see cref="F:DevExpress.Sparkline.SparklineViewType.Area">SparklineViewType.Area</see>.</value>
|
||||
</member>
|
||||
<member name="M:DevExpress.Sparkline.AreaSparklineView.Visit(DevExpress.Sparkline.ISparklineViewVisitor)">
|
||||
<summary>
|
||||
<para>Invokes the Visit method of the specified visitor for the current <see cref="T:DevExpress.Sparkline.AreaSparklineView"/> object.</para>
|
||||
</summary>
|
||||
<param name="visitor">An object implementing the <see cref="T:DevExpress.Sparkline.ISparklineViewVisitor"/> interface.</param>
|
||||
</member>
|
||||
<member name="T:DevExpress.Sparkline.BarSparklineView">
|
||||
<summary>
|
||||
<para>The Bar sparkline view.</para>
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:DevExpress.Sparkline.BarSparklineView.#ctor">
|
||||
<summary>
|
||||
<para>Initializes a new instance of the <see cref="T:DevExpress.Sparkline.BarSparklineView"/> class with the default settings.</para>
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:DevExpress.Sparkline.BarSparklineView.Type">
|
||||
<summary>
|
||||
<para>Gets the type of the sparkline view.</para>
|
||||
</summary>
|
||||
<value>Always <see cref="F:DevExpress.Sparkline.SparklineViewType.Bar">SparklineViewType.Bar</see>.</value>
|
||||
</member>
|
||||
<member name="M:DevExpress.Sparkline.BarSparklineView.Visit(DevExpress.Sparkline.ISparklineViewVisitor)">
|
||||
<summary>
|
||||
<para>Invokes the Visit method of the specified visitor for the current <see cref="T:DevExpress.Sparkline.BarSparklineView"/> object.</para>
|
||||
</summary>
|
||||
<param name="visitor">An object implementing the <see cref="T:DevExpress.Sparkline.ISparklineViewVisitor"/> interface.</param>
|
||||
</member>
|
||||
<member name="T:DevExpress.Sparkline.BarSparklineViewBase">
|
||||
<summary>
|
||||
<para>The base for Bar and WinLoss sparkline views.</para>
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:DevExpress.Sparkline.BarSparklineViewBase.Assign(DevExpress.Sparkline.SparklineViewBase)">
|
||||
<summary>
|
||||
<para>Copies all the settings from the <see cref="T:DevExpress.Sparkline.BarSparklineViewBase"/> object passed as the parameter.</para>
|
||||
</summary>
|
||||
<param name="view">A <see cref="T:DevExpress.Sparkline.BarSparklineViewBase"/> object (which is the <see cref="T:DevExpress.Sparkline.SparklineViewBase"/> descendant) whose settings are assigned to the current object. If null (Nothing in Visual Basic), then a <see cref="T:System.ArgumentNullException"/> will be thrown.</param>
|
||||
</member>
|
||||
<member name="P:DevExpress.Sparkline.BarSparklineViewBase.BarDistance">
|
||||
<summary>
|
||||
<para>Specifies the distance between two bars of a bar sparkline.</para>
|
||||
</summary>
|
||||
<value>An integer value (in pixels).</value>
|
||||
</member>
|
||||
<member name="T:DevExpress.Sparkline.ISparklineViewVisitor">
|
||||
<summary>
|
||||
<para>Interface implementing the Visitor pattern.</para>
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:DevExpress.Sparkline.ISparklineViewVisitor.Visit(DevExpress.Sparkline.AreaSparklineView)">
|
||||
<summary>
|
||||
<para>Performs the operation as required by the Visitor and the View, as defined in the Visitor pattern.</para>
|
||||
</summary>
|
||||
<param name="view">An <see cref="T:DevExpress.Sparkline.AreaSparklineView"/> object for which the operation is performed.</param>
|
||||
</member>
|
||||
<member name="M:DevExpress.Sparkline.ISparklineViewVisitor.Visit(DevExpress.Sparkline.BarSparklineView)">
|
||||
<summary>
|
||||
<para>Performs the operation as required by the Visitor and the View, as defined in the Visitor pattern.</para>
|
||||
</summary>
|
||||
<param name="view">An <see cref="T:DevExpress.Sparkline.BarSparklineView"/> object for which the operation is performed.</param>
|
||||
</member>
|
||||
<member name="M:DevExpress.Sparkline.ISparklineViewVisitor.Visit(DevExpress.Sparkline.LineSparklineView)">
|
||||
<summary>
|
||||
<para>Performs the operation as required by the Visitor and the View, as defined in the Visitor pattern.</para>
|
||||
</summary>
|
||||
<param name="view">An <see cref="T:DevExpress.Sparkline.LineSparklineView"/> object for which the operation is performed.</param>
|
||||
</member>
|
||||
<member name="M:DevExpress.Sparkline.ISparklineViewVisitor.Visit(DevExpress.Sparkline.WinLossSparklineView)">
|
||||
<summary>
|
||||
<para>Performs the operation as required by the Visitor and the View, as defined in the Visitor pattern.</para>
|
||||
</summary>
|
||||
<param name="view">An <see cref="T:DevExpress.Sparkline.WinLossSparklineView"/> object for which the operation is performed.</param>
|
||||
</member>
|
||||
<member name="T:DevExpress.Sparkline.LineSparklineView">
|
||||
<summary>
|
||||
<para>The Line sparkline view.</para>
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:DevExpress.Sparkline.LineSparklineView.#ctor">
|
||||
<summary>
|
||||
<para>Initializes a new instance of the <see cref="T:DevExpress.Sparkline.LineSparklineView"/> class with the default settings.</para>
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:DevExpress.Sparkline.LineSparklineView.ActualMarkerColor">
|
||||
<summary>
|
||||
<para>Gets the actual color of a sparkline marker.</para>
|
||||
</summary>
|
||||
<value>A <see cref="T:System.Drawing.Color"/> value that is the actual marker color.</value>
|
||||
</member>
|
||||
<member name="M:DevExpress.Sparkline.LineSparklineView.Assign(DevExpress.Sparkline.SparklineViewBase)">
|
||||
<summary>
|
||||
<para>Copies all the settings from the <see cref="T:DevExpress.Sparkline.LineSparklineView"/> object passed as the parameter.</para>
|
||||
</summary>
|
||||
<param name="view">A <see cref="T:DevExpress.Sparkline.LineSparklineView"/> object (which is the <see cref="T:DevExpress.Sparkline.SparklineViewBase"/> descendant) whose settings are assigned to the current object. If null (Nothing in Visual Basic), then a <see cref="T:System.ArgumentNullException"/> will be thrown.</param>
|
||||
</member>
|
||||
<member name="P:DevExpress.Sparkline.LineSparklineView.EnableAntialiasing">
|
||||
<summary>
|
||||
<para>Gets or sets whether anti-aliasing (smoothing) is applied to the line view.</para>
|
||||
</summary>
|
||||
<value>True to apply anti-aliasing to the line view; False to disable anti-aliasing.</value>
|
||||
</member>
|
||||
<member name="P:DevExpress.Sparkline.LineSparklineView.EndPointMarkerSize">
|
||||
<summary>
|
||||
<para>Gets or sets the size of an end point’s marker.</para>
|
||||
</summary>
|
||||
<value>An integer value specifying the marker size, in pixels.</value>
|
||||
</member>
|
||||
<member name="P:DevExpress.Sparkline.LineSparklineView.LineWidth">
|
||||
<summary>
|
||||
<para>Specifies the width of a line in a <see cref="T:DevExpress.Sparkline.LineSparklineView"/>.</para>
|
||||
</summary>
|
||||
<value>An integer value specifying the line width (in pixels).</value>
|
||||
</member>
|
||||
<member name="P:DevExpress.Sparkline.LineSparklineView.MarkerColor">
|
||||
<summary>
|
||||
<para>Gets or sets the color to draw line markers.</para>
|
||||
</summary>
|
||||
<value>A <see cref="T:System.Drawing.Color"/> that defines the color to draw line markers.</value>
|
||||
</member>
|
||||
<member name="P:DevExpress.Sparkline.LineSparklineView.MarkerSize">
|
||||
<summary>
|
||||
<para>Gets or sets the size of markers for data points in a line sparkline.</para>
|
||||
</summary>
|
||||
<value>An integer value specifying the marker size, in pixels.</value>
|
||||
</member>
|
||||
<member name="P:DevExpress.Sparkline.LineSparklineView.MaxPointMarkerSize">
|
||||
<summary>
|
||||
<para>Gets or sets the marker size of a data point that has the maximum value among all data points.</para>
|
||||
</summary>
|
||||
<value>An integer value specifying the marker size, in pixels.</value>
|
||||
</member>
|
||||
<member name="P:DevExpress.Sparkline.LineSparklineView.MinPointMarkerSize">
|
||||
<summary>
|
||||
<para>Gets or sets the marker size of a data point that has the minimum value among all data points.</para>
|
||||
</summary>
|
||||
<value>An integer value specifying the marker size, in pixels.</value>
|
||||
</member>
|
||||
<member name="P:DevExpress.Sparkline.LineSparklineView.NegativePointMarkerSize">
|
||||
<summary>
|
||||
<para>Gets or sets the marker size of all data points that have negative values (less than 0).</para>
|
||||
</summary>
|
||||
<value>An integer value specifying the marker size, in pixels.</value>
|
||||
</member>
|
||||
<member name="M:DevExpress.Sparkline.LineSparklineView.SetSizeForAllMarkers(System.Int32)">
|
||||
<summary>
|
||||
<para>Sets size for all markers of a sparkline.</para>
|
||||
</summary>
|
||||
<param name="markerSize">An integer value specifying the new size for sparkline markers (in pixels).</param>
|
||||
</member>
|
||||
<member name="P:DevExpress.Sparkline.LineSparklineView.ShowMarkers">
|
||||
<summary>
|
||||
<para>Gets or sets a value specifying the visibility of point markers on a sparkline.</para>
|
||||
</summary>
|
||||
<value>true to show markers for each data point; false to hide them.</value>
|
||||
</member>
|
||||
<member name="P:DevExpress.Sparkline.LineSparklineView.StartPointMarkerSize">
|
||||
<summary>
|
||||
<para>Gets or sets the size of a start point’s marker.</para>
|
||||
</summary>
|
||||
<value>An integer value specifying the marker size, in pixels.</value>
|
||||
</member>
|
||||
<member name="P:DevExpress.Sparkline.LineSparklineView.Type">
|
||||
<summary>
|
||||
<para>Gets the type of the sparkline view.</para>
|
||||
</summary>
|
||||
<value>Always <see cref="F:DevExpress.Sparkline.SparklineViewType.Line">SparklineViewType.Line</see>.</value>
|
||||
</member>
|
||||
<member name="M:DevExpress.Sparkline.LineSparklineView.Visit(DevExpress.Sparkline.ISparklineViewVisitor)">
|
||||
<summary>
|
||||
<para>Invokes the Visit method of the specified visitor for the current <see cref="T:DevExpress.Sparkline.LineSparklineView"/> object.</para>
|
||||
</summary>
|
||||
<param name="visitor">An object implementing the <see cref="T:DevExpress.Sparkline.ISparklineViewVisitor"/> interface.</param>
|
||||
</member>
|
||||
<member name="T:DevExpress.Sparkline.SparklineRange">
|
||||
<summary>
|
||||
<para>Represents a range to be used in DevExpress Sparkline controls.</para>
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:DevExpress.Sparkline.SparklineRange.#ctor">
|
||||
<summary>
|
||||
<para>Initializes a new instance of the <see cref="T:DevExpress.Sparkline.SparklineRange"/> class with the default settings.</para>
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:DevExpress.Sparkline.SparklineRange.#ctor(System.Double,System.Double)">
|
||||
<summary>
|
||||
<para>Initializes a new instance of the <see cref="T:DevExpress.Sparkline.SparklineRange"/> class with the specified minimum and maximum limits.</para>
|
||||
</summary>
|
||||
<param name="min">A <see cref="T:System.Double"/> value, specifying the minimum limit. This value is assigned to the <see cref="P:DevExpress.Sparkline.SparklineRange.Limit1">SparklineRange.Limit1</see> property.</param>
|
||||
<param name="max">A <see cref="T:System.Double"/> value, specifying the maximum limit. This value is assigned to the <see cref="P:DevExpress.Sparkline.SparklineRange.Limit2">SparklineRange.Limit2</see> property.</param>
|
||||
</member>
|
||||
<member name="P:DevExpress.Sparkline.SparklineRange.IsAuto">
|
||||
<summary>
|
||||
<para>Gets or sets a value indicating whether or not range limits should be calculated automatically.</para>
|
||||
</summary>
|
||||
<value>true to calculate range limits automatically; false to use the <see cref="P:DevExpress.Sparkline.SparklineRange.Limit1">SparklineRange.Limit1</see> and <see cref="P:DevExpress.Sparkline.SparklineRange.Limit2">SparklineRange.Limit2</see> property values.</value>
|
||||
</member>
|
||||
<member name="P:DevExpress.Sparkline.SparklineRange.Limit1">
|
||||
<summary>
|
||||
<para>Gets or sets a value specifying the first limit of the range.</para>
|
||||
</summary>
|
||||
<value>A <see cref="T:System.Double"/> value that specifies the first limit.</value>
|
||||
</member>
|
||||
<member name="P:DevExpress.Sparkline.SparklineRange.Limit2">
|
||||
<summary>
|
||||
<para>Gets or sets a value specifying the second limit of the range.</para>
|
||||
</summary>
|
||||
<value>A <see cref="T:System.Double"/> value that specifies the second limit.</value>
|
||||
</member>
|
||||
<member name="E:DevExpress.Sparkline.SparklineRange.PropertiesChanged">
|
||||
<summary>
|
||||
<para>This event is hidden, because it is not appropriate for the <see cref="T:DevExpress.Sparkline.SparklineRange"/> class.</para>
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:DevExpress.Sparkline.SparklineRange.ToString">
|
||||
<summary>
|
||||
<para>Returns the textual representation of the <see cref="T:DevExpress.Sparkline.SparklineRange"/>.</para>
|
||||
</summary>
|
||||
<returns>A <see cref="T:System.String"/> value which is the textual representation of the <see cref="T:DevExpress.Sparkline.SparklineRange"/>.</returns>
|
||||
</member>
|
||||
<member name="T:DevExpress.Sparkline.SparklineViewBase">
|
||||
<summary>
|
||||
<para>The base class for sparkline views.</para>
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:DevExpress.Sparkline.SparklineViewBase.ActualColor">
|
||||
<summary>
|
||||
<para>Gets the actual color of a sparkline.</para>
|
||||
</summary>
|
||||
<value>A <see cref="T:System.Drawing.Color"/> value that is the actual sparkline color.</value>
|
||||
</member>
|
||||
<member name="P:DevExpress.Sparkline.SparklineViewBase.ActualEndPointColor">
|
||||
<summary>
|
||||
<para>Gets the actual color of a sparkline end point.</para>
|
||||
</summary>
|
||||
<value>A <see cref="T:System.Drawing.Color"/> value that is the actual point color.</value>
|
||||
</member>
|
||||
<member name="P:DevExpress.Sparkline.SparklineViewBase.ActualMaxPointColor">
|
||||
<summary>
|
||||
<para>Gets the actual color of a sparkline maximum point.</para>
|
||||
</summary>
|
||||
<value>A <see cref="T:System.Drawing.Color"/> value that is the actual point color.</value>
|
||||
</member>
|
||||
<member name="P:DevExpress.Sparkline.SparklineViewBase.ActualMinPointColor">
|
||||
<summary>
|
||||
<para>Gets the actual color of a sparkline minimum point.</para>
|
||||
</summary>
|
||||
<value>A <see cref="T:System.Drawing.Color"/> value that is the actual point color.</value>
|
||||
</member>
|
||||
<member name="P:DevExpress.Sparkline.SparklineViewBase.ActualNegativePointColor">
|
||||
<summary>
|
||||
<para>Gets the actual color of sparkline negative points.</para>
|
||||
</summary>
|
||||
<value>A <see cref="T:System.Drawing.Color"/> value that is the actual point color.</value>
|
||||
</member>
|
||||
<member name="P:DevExpress.Sparkline.SparklineViewBase.ActualStartPointColor">
|
||||
<summary>
|
||||
<para>Gets the actual color of a sparkline start point.</para>
|
||||
</summary>
|
||||
<value>A <see cref="T:System.Drawing.Color"/> value that is the actual point color.</value>
|
||||
</member>
|
||||
<member name="M:DevExpress.Sparkline.SparklineViewBase.Assign(DevExpress.Sparkline.SparklineViewBase)">
|
||||
<summary>
|
||||
<para>Copies all the settings from the <see cref="T:DevExpress.Sparkline.SparklineViewBase"/> object passed as the parameter.</para>
|
||||
</summary>
|
||||
<param name="view">A <see cref="T:DevExpress.Sparkline.SparklineViewBase"/> object (which is the <see cref="T:DevExpress.Sparkline.SparklineViewBase"/> descendant) whose settings are assigned to the current object. If null (Nothing in Visual Basic), then a <see cref="T:System.ArgumentNullException"/> will be thrown.</param>
|
||||
</member>
|
||||
<member name="P:DevExpress.Sparkline.SparklineViewBase.Color">
|
||||
<summary>
|
||||
<para>Gets or sets the color to draw a sparkline.</para>
|
||||
</summary>
|
||||
<value>A <see cref="T:System.Drawing.Color"/> that defines the color to draw a sparkline.</value>
|
||||
</member>
|
||||
<member name="M:DevExpress.Sparkline.SparklineViewBase.CreateView(DevExpress.Sparkline.SparklineViewType)">
|
||||
<summary>
|
||||
<para>Creates a sparkline view of the specified type.</para>
|
||||
</summary>
|
||||
<param name="viewType">A <see cref="T:DevExpress.Sparkline.SparklineViewType"/> enumeration value specifying the type of view to create.</param>
|
||||
<returns>A <see cref="T:DevExpress.Sparkline.SparklineViewBase"/> class descendant.</returns>
|
||||
</member>
|
||||
<member name="P:DevExpress.Sparkline.SparklineViewBase.EndPointColor">
|
||||
<summary>
|
||||
<para>Gets or sets the color to draw the end point of a sparkline.</para>
|
||||
</summary>
|
||||
<value>A <see cref="T:System.Drawing.Color"/> that defines the color to draw the end point.</value>
|
||||
</member>
|
||||
<member name="P:DevExpress.Sparkline.SparklineViewBase.HighlightEndPoint">
|
||||
<summary>
|
||||
<para>Gets or sets a value specifying whether or not to highlight the end point of a sparkline.</para>
|
||||
</summary>
|
||||
<value>true, to highlight the end point; otherwise, false.</value>
|
||||
</member>
|
||||
<member name="P:DevExpress.Sparkline.SparklineViewBase.HighlightMaxPoint">
|
||||
<summary>
|
||||
<para>Gets or sets a value specifying whether or not to highlight a sparkline point that has the highest value among all points.</para>
|
||||
</summary>
|
||||
<value>true, to highlight a point with the maximum value; otherwise, false.</value>
|
||||
</member>
|
||||
<member name="P:DevExpress.Sparkline.SparklineViewBase.HighlightMinPoint">
|
||||
<summary>
|
||||
<para>Gets or sets a value specifying whether or not to highlight a sparkline point that has the lowest value among all points.</para>
|
||||
</summary>
|
||||
<value>true, to highlight a point with the minimum value; otherwise, false.</value>
|
||||
</member>
|
||||
<member name="P:DevExpress.Sparkline.SparklineViewBase.HighlightStartPoint">
|
||||
<summary>
|
||||
<para>Gets or sets a value specifying whether or not to highlight the start point of a sparkline.</para>
|
||||
</summary>
|
||||
<value>true, to highlight the start point; otherwise, false.</value>
|
||||
</member>
|
||||
<member name="P:DevExpress.Sparkline.SparklineViewBase.MaxPointColor">
|
||||
<summary>
|
||||
<para>Gets or sets the color to draw a sparkline point that has the highest value among all data points.</para>
|
||||
</summary>
|
||||
<value>A <see cref="T:System.Drawing.Color"/> that defines the color to draw a data point with the maximum value.</value>
|
||||
</member>
|
||||
<member name="P:DevExpress.Sparkline.SparklineViewBase.MinPointColor">
|
||||
<summary>
|
||||
<para>Gets or sets the color to draw a sparkline point that has the lowest value among all data points.</para>
|
||||
</summary>
|
||||
<value>A <see cref="T:System.Drawing.Color"/> that defines the color to draw a data point with the minimum value.</value>
|
||||
</member>
|
||||
<member name="P:DevExpress.Sparkline.SparklineViewBase.NegativePointColor">
|
||||
<summary>
|
||||
<para>Gets or sets the color to draw sparkline points that have negative values (less than 0).</para>
|
||||
</summary>
|
||||
<value>A <see cref="T:System.Drawing.Color"/> that defines the color to draw data points with negative values.</value>
|
||||
</member>
|
||||
<member name="E:DevExpress.Sparkline.SparklineViewBase.PropertiesChanged">
|
||||
<summary>
|
||||
<para>Occurs when any property of the <see cref="T:DevExpress.Sparkline.SparklineViewBase"/> object has changed its value.</para>
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:DevExpress.Sparkline.SparklineViewBase.StartPointColor">
|
||||
<summary>
|
||||
<para>Gets or sets the color to draw the start point of a sparkline.</para>
|
||||
</summary>
|
||||
<value>A <see cref="T:System.Drawing.Color"/> that defines the color to draw the start point.</value>
|
||||
</member>
|
||||
<member name="M:DevExpress.Sparkline.SparklineViewBase.ToString">
|
||||
<summary>
|
||||
<para>Returns a human-readable string that represents the <see cref="T:DevExpress.Sparkline.SparklineViewBase"/> object.</para>
|
||||
</summary>
|
||||
<returns>A <see cref="T:System.String"/> value that represents the <see cref="T:DevExpress.Sparkline.SparklineViewBase"/> object.</returns>
|
||||
</member>
|
||||
<member name="P:DevExpress.Sparkline.SparklineViewBase.Type">
|
||||
<summary>
|
||||
<para>Gets the type of the sparkline view.</para>
|
||||
</summary>
|
||||
<value>A <see cref="T:DevExpress.Sparkline.SparklineViewType"/> enumeration value specifying the view type.</value>
|
||||
</member>
|
||||
<member name="M:DevExpress.Sparkline.SparklineViewBase.Visit(DevExpress.Sparkline.ISparklineViewVisitor)">
|
||||
<summary>
|
||||
<para>Invokes the Visit method of the specified visitor for the current <see cref="T:DevExpress.Sparkline.SparklineViewBase"/> object.</para>
|
||||
</summary>
|
||||
<param name="visitor">An object implementing the <see cref="T:DevExpress.Sparkline.ISparklineViewVisitor"/> interface.</param>
|
||||
</member>
|
||||
<member name="T:DevExpress.Sparkline.SparklineViewType">
|
||||
<summary>
|
||||
<para>Lists the values used to specify the available view types of a sparkline.</para>
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:DevExpress.Sparkline.SparklineViewType.Area">
|
||||
<summary>
|
||||
<para>Sparkline data points are represented as area.</para>
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:DevExpress.Sparkline.SparklineViewType.Bar">
|
||||
<summary>
|
||||
<para>Sparkline data points are represented as bars.</para>
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:DevExpress.Sparkline.SparklineViewType.Line">
|
||||
<summary>
|
||||
<para>Sparkline data points are represented as a line.</para>
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:DevExpress.Sparkline.SparklineViewType.WinLoss">
|
||||
<summary>
|
||||
<para>Sparkline data points are represented as win and loss squares.</para>
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:DevExpress.Sparkline.WinLossSparklineView">
|
||||
<summary>
|
||||
<para>The WinLoss sparkline view.</para>
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:DevExpress.Sparkline.WinLossSparklineView.#ctor">
|
||||
<summary>
|
||||
<para>Initializes a new instance of the <see cref="T:DevExpress.Sparkline.WinLossSparklineView"/> class with the default settings.</para>
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:DevExpress.Sparkline.WinLossSparklineView.Type">
|
||||
<summary>
|
||||
<para>Gets the type of the sparkline view.</para>
|
||||
</summary>
|
||||
<value>Always <see cref="F:DevExpress.Sparkline.SparklineViewType.WinLoss">SparklineViewType.WinLoss</see>.</value>
|
||||
</member>
|
||||
<member name="M:DevExpress.Sparkline.WinLossSparklineView.Visit(DevExpress.Sparkline.ISparklineViewVisitor)">
|
||||
<summary>
|
||||
<para>Invokes the Visit method of the specified visitor for the current <see cref="T:DevExpress.Sparkline.WinLossSparklineView"/> object.</para>
|
||||
</summary>
|
||||
<param name="visitor">An object implementing the <see cref="T:DevExpress.Sparkline.ISparklineViewVisitor"/> interface.</param>
|
||||
</member>
|
||||
</members>
|
||||
</doc>
|
||||
BIN
BitgetApi/bin/Debug/DevExpress.Utils.v23.2.dll
Normal file
BIN
BitgetApi/bin/Debug/DevExpress.Utils.v23.2.dll
Normal file
Binary file not shown.
19210
BitgetApi/bin/Debug/DevExpress.Utils.v23.2.xml
Normal file
19210
BitgetApi/bin/Debug/DevExpress.Utils.v23.2.xml
Normal file
File diff suppressed because it is too large
Load Diff
BIN
BitgetApi/bin/Debug/DevExpress.XtraEditors.v23.2.dll
Normal file
BIN
BitgetApi/bin/Debug/DevExpress.XtraEditors.v23.2.dll
Normal file
Binary file not shown.
39860
BitgetApi/bin/Debug/DevExpress.XtraEditors.v23.2.xml
Normal file
39860
BitgetApi/bin/Debug/DevExpress.XtraEditors.v23.2.xml
Normal file
File diff suppressed because it is too large
Load Diff
BIN
BitgetApi/bin/Debug/DevExpress.XtraLayout.v23.2.dll
Normal file
BIN
BitgetApi/bin/Debug/DevExpress.XtraLayout.v23.2.dll
Normal file
Binary file not shown.
6124
BitgetApi/bin/Debug/DevExpress.XtraLayout.v23.2.xml
Normal file
6124
BitgetApi/bin/Debug/DevExpress.XtraLayout.v23.2.xml
Normal file
File diff suppressed because it is too large
Load Diff
BIN
BitgetApi/bin/Debug/DevExpress.XtraTreeList.v23.2.dll
Normal file
BIN
BitgetApi/bin/Debug/DevExpress.XtraTreeList.v23.2.dll
Normal file
Binary file not shown.
11062
BitgetApi/bin/Debug/DevExpress.XtraTreeList.v23.2.xml
Normal file
11062
BitgetApi/bin/Debug/DevExpress.XtraTreeList.v23.2.xml
Normal file
File diff suppressed because it is too large
Load Diff
BIN
BitgetApi/bin/Debug/Newtonsoft.Json.dll
Normal file
BIN
BitgetApi/bin/Debug/Newtonsoft.Json.dll
Normal file
Binary file not shown.
11363
BitgetApi/bin/Debug/Newtonsoft.Json.xml
Normal file
11363
BitgetApi/bin/Debug/Newtonsoft.Json.xml
Normal file
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,4 @@
|
||||
// <autogenerated />
|
||||
using System;
|
||||
using System.Reflection;
|
||||
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.7.2", FrameworkDisplayName = ".NET Framework 4.7.2")]
|
||||
BIN
BitgetApi/obj/Debug/BitgetApi.MainForm.resources
Normal file
BIN
BitgetApi/obj/Debug/BitgetApi.MainForm.resources
Normal file
Binary file not shown.
BIN
BitgetApi/obj/Debug/BitgetApi.Properties.Resources.resources
Normal file
BIN
BitgetApi/obj/Debug/BitgetApi.Properties.Resources.resources
Normal file
Binary file not shown.
BIN
BitgetApi/obj/Debug/BitgetApi.csproj.AssemblyReference.cache
Normal file
BIN
BitgetApi/obj/Debug/BitgetApi.csproj.AssemblyReference.cache
Normal file
Binary file not shown.
@@ -0,0 +1 @@
|
||||
d5ff6d03fc217fbfad1931b3790d8220d6d9c91db92e859321096b373c80c2f3
|
||||
36
BitgetApi/obj/Debug/BitgetApi.csproj.FileListAbsolute.txt
Normal file
36
BitgetApi/obj/Debug/BitgetApi.csproj.FileListAbsolute.txt
Normal file
@@ -0,0 +1,36 @@
|
||||
D:\Project\Bitget API\BitgetApi\BitgetApi\bin\Debug\BitgetApi.exe.config
|
||||
D:\Project\Bitget API\BitgetApi\BitgetApi\bin\Debug\BitgetApi.exe
|
||||
D:\Project\Bitget API\BitgetApi\BitgetApi\bin\Debug\BitgetApi.pdb
|
||||
D:\Project\Bitget API\BitgetApi\BitgetApi\bin\Debug\DevExpress.Data.Desktop.v23.2.dll
|
||||
D:\Project\Bitget API\BitgetApi\BitgetApi\bin\Debug\DevExpress.Data.v23.2.dll
|
||||
D:\Project\Bitget API\BitgetApi\BitgetApi\bin\Debug\DevExpress.Drawing.v23.2.dll
|
||||
D:\Project\Bitget API\BitgetApi\BitgetApi\bin\Debug\DevExpress.Printing.v23.2.Core.dll
|
||||
D:\Project\Bitget API\BitgetApi\BitgetApi\bin\Debug\DevExpress.Utils.v23.2.dll
|
||||
D:\Project\Bitget API\BitgetApi\BitgetApi\bin\Debug\DevExpress.XtraEditors.v23.2.dll
|
||||
D:\Project\Bitget API\BitgetApi\BitgetApi\bin\Debug\DevExpress.XtraLayout.v23.2.dll
|
||||
D:\Project\Bitget API\BitgetApi\BitgetApi\bin\Debug\DevExpress.XtraTreeList.v23.2.dll
|
||||
D:\Project\Bitget API\BitgetApi\BitgetApi\bin\Debug\Newtonsoft.Json.dll
|
||||
D:\Project\Bitget API\BitgetApi\BitgetApi\bin\Debug\DevExpress.Pdf.v23.2.Core.dll
|
||||
D:\Project\Bitget API\BitgetApi\BitgetApi\bin\Debug\DevExpress.Pdf.v23.2.Drawing.dll
|
||||
D:\Project\Bitget API\BitgetApi\BitgetApi\bin\Debug\DevExpress.Sparkline.v23.2.Core.dll
|
||||
D:\Project\Bitget API\BitgetApi\BitgetApi\bin\Debug\DevExpress.Data.Desktop.v23.2.xml
|
||||
D:\Project\Bitget API\BitgetApi\BitgetApi\bin\Debug\DevExpress.Data.v23.2.xml
|
||||
D:\Project\Bitget API\BitgetApi\BitgetApi\bin\Debug\DevExpress.Drawing.v23.2.xml
|
||||
D:\Project\Bitget API\BitgetApi\BitgetApi\bin\Debug\DevExpress.Printing.v23.2.Core.xml
|
||||
D:\Project\Bitget API\BitgetApi\BitgetApi\bin\Debug\DevExpress.Utils.v23.2.xml
|
||||
D:\Project\Bitget API\BitgetApi\BitgetApi\bin\Debug\DevExpress.XtraEditors.v23.2.xml
|
||||
D:\Project\Bitget API\BitgetApi\BitgetApi\bin\Debug\DevExpress.XtraLayout.v23.2.xml
|
||||
D:\Project\Bitget API\BitgetApi\BitgetApi\bin\Debug\DevExpress.XtraTreeList.v23.2.xml
|
||||
D:\Project\Bitget API\BitgetApi\BitgetApi\bin\Debug\Newtonsoft.Json.xml
|
||||
D:\Project\Bitget API\BitgetApi\BitgetApi\bin\Debug\DevExpress.Pdf.v23.2.Core.xml
|
||||
D:\Project\Bitget API\BitgetApi\BitgetApi\bin\Debug\DevExpress.Pdf.v23.2.Drawing.xml
|
||||
D:\Project\Bitget API\BitgetApi\BitgetApi\bin\Debug\DevExpress.Sparkline.v23.2.Core.xml
|
||||
D:\Project\Bitget API\BitgetApi\BitgetApi\obj\Debug\BitgetApi.csproj.AssemblyReference.cache
|
||||
D:\Project\Bitget API\BitgetApi\BitgetApi\obj\Debug\BitgetApi.MainForm.resources
|
||||
D:\Project\Bitget API\BitgetApi\BitgetApi\obj\Debug\BitgetApi.Properties.Resources.resources
|
||||
D:\Project\Bitget API\BitgetApi\BitgetApi\obj\Debug\BitgetApi.csproj.GenerateResource.cache
|
||||
D:\Project\Bitget API\BitgetApi\BitgetApi\obj\Debug\BitgetApi.exe.licenses
|
||||
D:\Project\Bitget API\BitgetApi\BitgetApi\obj\Debug\BitgetApi.csproj.CoreCompileInputs.cache
|
||||
D:\Project\Bitget API\BitgetApi\BitgetApi\obj\Debug\BitgetApi.csproj.Up2Date
|
||||
D:\Project\Bitget API\BitgetApi\BitgetApi\obj\Debug\BitgetApi.exe
|
||||
D:\Project\Bitget API\BitgetApi\BitgetApi\obj\Debug\BitgetApi.pdb
|
||||
BIN
BitgetApi/obj/Debug/BitgetApi.csproj.GenerateResource.cache
Normal file
BIN
BitgetApi/obj/Debug/BitgetApi.csproj.GenerateResource.cache
Normal file
Binary file not shown.
0
BitgetApi/obj/Debug/BitgetApi.csproj.Up2Date
Normal file
0
BitgetApi/obj/Debug/BitgetApi.csproj.Up2Date
Normal file
BIN
BitgetApi/obj/Debug/BitgetApi.exe
Normal file
BIN
BitgetApi/obj/Debug/BitgetApi.exe
Normal file
Binary file not shown.
BIN
BitgetApi/obj/Debug/BitgetApi.pdb
Normal file
BIN
BitgetApi/obj/Debug/BitgetApi.pdb
Normal file
Binary file not shown.
BIN
BitgetApi/obj/Debug/DesignTimeResolveAssemblyReferences.cache
Normal file
BIN
BitgetApi/obj/Debug/DesignTimeResolveAssemblyReferences.cache
Normal file
Binary file not shown.
Binary file not shown.
BIN
BitgetApi/obj/Debug/bitgetapi.exe.licenses
Normal file
BIN
BitgetApi/obj/Debug/bitgetapi.exe.licenses
Normal file
Binary file not shown.
6
BitgetApi/packages.config
Normal file
6
BitgetApi/packages.config
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<packages>
|
||||
<package id="Microsoft.CSharp" version="4.7.0" targetFramework="net472" />
|
||||
<package id="Newtonsoft.Json" version="13.0.3" targetFramework="net472" />
|
||||
<package id="System.Data.DataSetExtensions" version="4.5.0" targetFramework="net472" />
|
||||
</packages>
|
||||
Reference in New Issue
Block a user