From 3b84645a04097e86967c61ad9855294bbbba3bac Mon Sep 17 00:00:00 2001 From: USER002 Date: Mon, 3 Jun 2024 19:01:51 +0900 Subject: [PATCH] =?UTF-8?q?=EC=88=98=EC=A0=95=EC=A4=91!!?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- BitgetApi/.vs/BitgetApi.csproj.dtbcache.json | 2 +- BitgetApi/BitgetApi.csproj | 22 +- BitgetApi/BitgetApi.csproj.bak | 24 +- BitgetApi/Data/SignalInfoData.cs | 13 +- .../IchimokuConditionSetup.cs | 5 +- BitgetApi/MainForm.Designer.cs | 776 ++++++++++++------ BitgetApi/MainForm.cs | 128 ++- BitgetApi/MainForm.resx | 27 +- BitgetApi/WebService/WebConnection.cs | 4 +- 9 files changed, 681 insertions(+), 320 deletions(-) diff --git a/BitgetApi/.vs/BitgetApi.csproj.dtbcache.json b/BitgetApi/.vs/BitgetApi.csproj.dtbcache.json index 07e738e..d6c20cc 100644 --- a/BitgetApi/.vs/BitgetApi.csproj.dtbcache.json +++ b/BitgetApi/.vs/BitgetApi.csproj.dtbcache.json @@ -1 +1 @@ -{"RootPath":"D:\\Source Code\\Project\\Bitget_API\\BitGet_API\\BitgetApi","ProjectFileName":"BitgetApi.csproj","Configuration":"Debug|AnyCPU","FrameworkPath":"","Sources":[{"SourceFile":"CommonProperty.cs"},{"SourceFile":"Data\\CandleData.cs"},{"SourceFile":"Data\\CandleDataList.cs"},{"SourceFile":"Data\\MarketInfo.cs"},{"SourceFile":"Data\\TradeData.cs"},{"SourceFile":"Data\\WebSocketCandle.cs"},{"SourceFile":"Data\\IndicatorData.cs"},{"SourceFile":"IndicatorConditionSetup\\IchimokuConditionSetup.cs"},{"SourceFile":"IndicatorConditionSetup\\MovingAverageConditionSetup.cs"},{"SourceFile":"IndicatorData\\IchimokData.cs"},{"SourceFile":"IndicatorData\\IndicatorProcess.cs"},{"SourceFile":"IndicatorData\\MovingAverageData.cs"},{"SourceFile":"MainForm.cs"},{"SourceFile":"MainForm.Designer.cs"},{"SourceFile":"Program.cs"},{"SourceFile":"Properties\\AssemblyInfo.cs"},{"SourceFile":"Utils\\BaseSingleton.cs"},{"SourceFile":"Utils\\Convertor.cs"},{"SourceFile":"WebService\\WebConnection.cs"},{"SourceFile":"Properties\\Resources.Designer.cs"},{"SourceFile":"Properties\\Settings.Designer.cs"},{"SourceFile":"obj\\Debug\\.NETFramework,Version=v4.7.2.AssemblyAttributes.cs"}],"References":[{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\Microsoft.CSharp.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\mscorlib.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"D:\\Source Code\\Project\\Bitget_API\\BitGet_API\\packages\\Newtonsoft.Json.13.0.3\\lib\\net45\\Newtonsoft.Json.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\PresentationCore.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.ComponentModel.DataAnnotations.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.Core.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.Data.DataSetExtensions.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.Data.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.Deployment.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.Drawing.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.Net.Http.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.Runtime.Remoting.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.Windows.Forms.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.Xml.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.Xml.Linq.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\UIAutomationClient.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\WindowsBase.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""}],"Analyzers":[],"Outputs":[{"OutputItemFullPath":"D:\\Source Code\\Project\\Bitget_API\\BitGet_API\\BitgetApi\\bin\\Debug\\BitgetApi.exe","OutputItemRelativePath":"BitgetApi.exe"},{"OutputItemFullPath":"D:\\Source Code\\Project\\Bitget_API\\BitGet_API\\BitgetApi\\bin\\Debug\\BitgetApi.pdb","OutputItemRelativePath":"BitgetApi.pdb"}],"CopyToOutputEntries":[]} \ No newline at end of file +{"RootPath":"D:\\Project\\Bitget API\\BitGet_API\\BitgetApi","ProjectFileName":"BitgetApi.csproj","Configuration":"Debug|AnyCPU","FrameworkPath":"","Sources":[{"SourceFile":"CommonProperty.cs"},{"SourceFile":"Data\\CandleData.cs"},{"SourceFile":"Data\\CandleDataList.cs"},{"SourceFile":"Data\\MarketInfo.cs"},{"SourceFile":"Data\\SignalInfoData.cs"},{"SourceFile":"Data\\TradeData.cs"},{"SourceFile":"Data\\WebSocketCandle.cs"},{"SourceFile":"Data\\IndicatorData.cs"},{"SourceFile":"IndicatorConditionSetup\\IchimokuConditionSetup.cs"},{"SourceFile":"IndicatorConditionSetup\\MovingAverageConditionSetup.cs"},{"SourceFile":"IndicatorData\\IchimokData.cs"},{"SourceFile":"IndicatorData\\IndicatorProcess.cs"},{"SourceFile":"IndicatorData\\MovingAverageData.cs"},{"SourceFile":"MainForm.cs"},{"SourceFile":"MainForm.Designer.cs"},{"SourceFile":"Program.cs"},{"SourceFile":"Properties\\AssemblyInfo.cs"},{"SourceFile":"Utils\\BaseSingleton.cs"},{"SourceFile":"Utils\\Convertor.cs"},{"SourceFile":"WebService\\WebConnection.cs"},{"SourceFile":"Properties\\Resources.Designer.cs"},{"SourceFile":"Properties\\Settings.Designer.cs"},{"SourceFile":"obj\\Debug\\.NETFramework,Version=v4.7.2.AssemblyAttributes.cs"}],"References":[{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\Microsoft.CSharp.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\mscorlib.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"D:\\Project\\Bitget API\\BitGet_API\\packages\\Newtonsoft.Json.13.0.3\\lib\\net45\\Newtonsoft.Json.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\PresentationCore.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.ComponentModel.DataAnnotations.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.Core.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.Data.DataSetExtensions.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.Data.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.Deployment.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.Drawing.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.Net.Http.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.Runtime.Remoting.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.Windows.Forms.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.Xml.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.Xml.Linq.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\UIAutomationClient.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\WindowsBase.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""}],"Analyzers":[],"Outputs":[{"OutputItemFullPath":"D:\\Project\\Bitget API\\BitGet_API\\BitgetApi\\bin\\Debug\\BitgetApi.exe","OutputItemRelativePath":"BitgetApi.exe"},{"OutputItemFullPath":"D:\\Project\\Bitget API\\BitGet_API\\BitgetApi\\bin\\Debug\\BitgetApi.pdb","OutputItemRelativePath":"BitgetApi.pdb"}],"CopyToOutputEntries":[]} \ No newline at end of file diff --git a/BitgetApi/BitgetApi.csproj b/BitgetApi/BitgetApi.csproj index 4fe3fe7..e9c8f8d 100644 --- a/BitgetApi/BitgetApi.csproj +++ b/BitgetApi/BitgetApi.csproj @@ -33,17 +33,17 @@ 4 - - - - - - - - - - - + + + + + + + + + + + ..\packages\Newtonsoft.Json.13.0.3\lib\net45\Newtonsoft.Json.dll diff --git a/BitgetApi/BitgetApi.csproj.bak b/BitgetApi/BitgetApi.csproj.bak index 732b05f..4fe3fe7 100644 --- a/BitgetApi/BitgetApi.csproj.bak +++ b/BitgetApi/BitgetApi.csproj.bak @@ -33,17 +33,17 @@ 4 - - - - - - - - - - - + + + + + + + + + + + ..\packages\Newtonsoft.Json.13.0.3\lib\net45\Newtonsoft.Json.dll @@ -69,6 +69,7 @@ + @@ -91,6 +92,7 @@ MainForm.cs + ResXFileCodeGenerator Resources.Designer.cs diff --git a/BitgetApi/Data/SignalInfoData.cs b/BitgetApi/Data/SignalInfoData.cs index 97556ba..89f462f 100644 --- a/BitgetApi/Data/SignalInfoData.cs +++ b/BitgetApi/Data/SignalInfoData.cs @@ -1,4 +1,5 @@ -using System; +using BitgetAPI; +using System; using System.Collections.Generic; using System.Linq; using System.Text; @@ -14,18 +15,20 @@ namespace BitgetApi.Data public string MarketName { get; set; } // 종목 설명 (시간별, 어떤거?) public string Description { get; set; } - + // 현재가 public double Price { get; set; } // 설정된 시간 봉의 수익율 - public double rate { get; set; } + public double Rate { get; set; } // 구름떼 상한선 가격 - public double indicatorPrice { get; set; } + public double IndicatorPrice { get; set; } // 설정된 지표(Indicator)와의 격차 비율 - public double indicoatorRate { get; set; } + public double IndicatorRate { get; set; } + + public CommonProperty.MCandleTimeType MCandleTimeType {get; set;} } } diff --git a/BitgetApi/IndicatorConditionSetup/IchimokuConditionSetup.cs b/BitgetApi/IndicatorConditionSetup/IchimokuConditionSetup.cs index f716dc0..e024501 100644 --- a/BitgetApi/IndicatorConditionSetup/IchimokuConditionSetup.cs +++ b/BitgetApi/IndicatorConditionSetup/IchimokuConditionSetup.cs @@ -80,7 +80,8 @@ namespace BitgetAPI.IndicatorConditionSetup // Displacement : 26 일전봉 데이터 가져오기 - endIndex = endIndex - Displacement; + endIndex = candleDatas.Count-1; + endIndex = endIndex - Displacement +1; datas = candleDatas.FindAll(i => candleDatas.IndexOf(i) > endIndex - ConversionPeriod && @@ -124,7 +125,5 @@ namespace BitgetAPI.IndicatorConditionSetup if (candleData.IchimokData.하한선 < candleData.Close) candleData.IchimokData.IsShortUp = true; else candleData.IchimokData.IsShortUp = false; } - - } } diff --git a/BitgetApi/MainForm.Designer.cs b/BitgetApi/MainForm.Designer.cs index 0f7c710..f8240fe 100644 --- a/BitgetApi/MainForm.Designer.cs +++ b/BitgetApi/MainForm.Designer.cs @@ -28,7 +28,7 @@ /// private void InitializeComponent() { - this.components = new System.ComponentModel.Container(); + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(MainForm)); this.groupControl_Setting = new DevExpress.XtraEditors.GroupControl(); this.progressBarControl_data = new DevExpress.XtraEditors.ProgressBarControl(); this.comboBoxEdit_ConinType = new DevExpress.XtraEditors.ComboBoxEdit(); @@ -53,33 +53,53 @@ this.xtraTabPage_Status = new DevExpress.XtraTab.XtraTabPage(); this.xtraTabPage_Searcher = new DevExpress.XtraTab.XtraTabPage(); this.groupControl_SignalSeacher = new DevExpress.XtraEditors.GroupControl(); - this.groupControl_LongUpSignal = new DevExpress.XtraEditors.GroupControl(); - this.groupControl_LongDownSignal = new DevExpress.XtraEditors.GroupControl(); - this.groupControl_SearcherCondition = new DevExpress.XtraEditors.GroupControl(); - this.checkEdit_IchmokuDown = new DevExpress.XtraEditors.CheckEdit(); - this.checkEdit_ichmokuUp = new DevExpress.XtraEditors.CheckEdit(); - this.labelControl6 = new DevExpress.XtraEditors.LabelControl(); - this.labelControl5 = new DevExpress.XtraEditors.LabelControl(); - this.checkedComboBoxEdit_TimeInterval = new DevExpress.XtraEditors.CheckedComboBoxEdit(); - this.checkedComboBoxEdit_MarketInfoList = new DevExpress.XtraEditors.CheckedComboBoxEdit(); - this.marketInfoBindingSource = new System.Windows.Forms.BindingSource(this.components); - this.treeListColumn1 = new DevExpress.XtraTreeList.Columns.TreeListColumn(); - this.popupMenu_marketInfo = new DevExpress.XtraBars.PopupMenu(this.components); this.splitContainerControl_SearchSignal = new DevExpress.XtraEditors.SplitContainerControl(); this.splitContainerControl_UpdateSignal = new DevExpress.XtraEditors.SplitContainerControl(); - this.splitContainerControl_FavoritePurchase = new DevExpress.XtraEditors.SplitContainerControl(); - this.groupControl_FP_LongDown = new DevExpress.XtraEditors.GroupControl(); - this.groupControl_FP_ShortUp = new DevExpress.XtraEditors.GroupControl(); + this.groupControl_LongUpSignal = new DevExpress.XtraEditors.GroupControl(); this.treeList_LongUp = new DevExpress.XtraTreeList.TreeList(); + this.treeListColumn_SignalStart = new DevExpress.XtraTreeList.Columns.TreeListColumn(); this.treeListColumn_LU_MarketName = new DevExpress.XtraTreeList.Columns.TreeListColumn(); this.treeListColumn_LU_Description = new DevExpress.XtraTreeList.Columns.TreeListColumn(); this.treeListColumn_LU_Price = new DevExpress.XtraTreeList.Columns.TreeListColumn(); this.treeListColumn_Rate = new DevExpress.XtraTreeList.Columns.TreeListColumn(); this.treeListColumn_LU_IndicatorPrice = new DevExpress.XtraTreeList.Columns.TreeListColumn(); this.treeListColumn_LU_IndicatorRate = new DevExpress.XtraTreeList.Columns.TreeListColumn(); - this.labelControl7 = new DevExpress.XtraEditors.LabelControl(); + this.groupControl_LongDownSignal = new DevExpress.XtraEditors.GroupControl(); + this.treeList_ShortDown = new DevExpress.XtraTreeList.TreeList(); + this.treeListColumn_SD_SignalStart = new DevExpress.XtraTreeList.Columns.TreeListColumn(); + this.treeListColumn_SD_MarketName = new DevExpress.XtraTreeList.Columns.TreeListColumn(); + this.treeListColumn_SD_Description = new DevExpress.XtraTreeList.Columns.TreeListColumn(); + this.treeListColumn_SD_Price = new DevExpress.XtraTreeList.Columns.TreeListColumn(); + this.treeListColumn_SD_Rate = new DevExpress.XtraTreeList.Columns.TreeListColumn(); + this.treeListColumn_SD_IndicatorPrice = new DevExpress.XtraTreeList.Columns.TreeListColumn(); + this.treeListColumn_SD_IndicatorRate = new DevExpress.XtraTreeList.Columns.TreeListColumn(); + this.splitContainerControl_FavoritePurchase = new DevExpress.XtraEditors.SplitContainerControl(); + this.groupControl_FP_LongDown = new DevExpress.XtraEditors.GroupControl(); + this.groupControl_FP_ShortUp = new DevExpress.XtraEditors.GroupControl(); + this.groupControl_SearcherCondition = new DevExpress.XtraEditors.GroupControl(); + this.simpleButton_MarketOrderRefresh = new DevExpress.XtraEditors.SimpleButton(); + this.groupBox2 = new System.Windows.Forms.GroupBox(); + this.checkEdit_ichmokuUp_DC = new DevExpress.XtraEditors.CheckEdit(); + this.checkEdit_ichmokuDown_DC = new DevExpress.XtraEditors.CheckEdit(); + this.groupBox1 = new System.Windows.Forms.GroupBox(); + this.checkEdit_ichmokuUp_UC = new DevExpress.XtraEditors.CheckEdit(); + this.checkEdit_IchmokuDown_UC = new DevExpress.XtraEditors.CheckEdit(); this.timeSpanEdit_SesstionTime = new DevExpress.XtraEditors.TimeSpanEdit(); this.labelControl8 = new DevExpress.XtraEditors.LabelControl(); + this.labelControl7 = new DevExpress.XtraEditors.LabelControl(); + this.labelControl6 = new DevExpress.XtraEditors.LabelControl(); + this.labelControl5 = new DevExpress.XtraEditors.LabelControl(); + this.checkedComboBoxEdit_TimeInterval = new DevExpress.XtraEditors.CheckedComboBoxEdit(); + this.checkedComboBoxEdit_MarketInfoList = new DevExpress.XtraEditors.CheckedComboBoxEdit(); + this.treeListColumn1 = new DevExpress.XtraTreeList.Columns.TreeListColumn(); + this.treeList1 = new DevExpress.XtraTreeList.TreeList(); + this.treeListColumn2 = new DevExpress.XtraTreeList.Columns.TreeListColumn(); + this.treeListColumn3 = new DevExpress.XtraTreeList.Columns.TreeListColumn(); + this.treeListColumn4 = new DevExpress.XtraTreeList.Columns.TreeListColumn(); + this.treeListColumn5 = new DevExpress.XtraTreeList.Columns.TreeListColumn(); + this.treeListColumn6 = new DevExpress.XtraTreeList.Columns.TreeListColumn(); + this.treeListColumn7 = new DevExpress.XtraTreeList.Columns.TreeListColumn(); + this.treeListColumn8 = new DevExpress.XtraTreeList.Columns.TreeListColumn(); ((System.ComponentModel.ISupportInitialize)(this.groupControl_Setting)).BeginInit(); this.groupControl_Setting.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.progressBarControl_data.Properties)).BeginInit(); @@ -94,17 +114,6 @@ this.xtraTabPage_Searcher.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.groupControl_SignalSeacher)).BeginInit(); this.groupControl_SignalSeacher.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.groupControl_LongUpSignal)).BeginInit(); - this.groupControl_LongUpSignal.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.groupControl_LongDownSignal)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.groupControl_SearcherCondition)).BeginInit(); - this.groupControl_SearcherCondition.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.checkEdit_IchmokuDown.Properties)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.checkEdit_ichmokuUp.Properties)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.checkedComboBoxEdit_TimeInterval.Properties)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.checkedComboBoxEdit_MarketInfoList.Properties)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.marketInfoBindingSource)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.popupMenu_marketInfo)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.splitContainerControl_SearchSignal)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.splitContainerControl_SearchSignal.Panel1)).BeginInit(); this.splitContainerControl_SearchSignal.Panel1.SuspendLayout(); @@ -117,6 +126,12 @@ ((System.ComponentModel.ISupportInitialize)(this.splitContainerControl_UpdateSignal.Panel2)).BeginInit(); this.splitContainerControl_UpdateSignal.Panel2.SuspendLayout(); this.splitContainerControl_UpdateSignal.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.groupControl_LongUpSignal)).BeginInit(); + this.groupControl_LongUpSignal.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.treeList_LongUp)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.groupControl_LongDownSignal)).BeginInit(); + this.groupControl_LongDownSignal.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.treeList_ShortDown)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.splitContainerControl_FavoritePurchase)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.splitContainerControl_FavoritePurchase.Panel1)).BeginInit(); this.splitContainerControl_FavoritePurchase.Panel1.SuspendLayout(); @@ -124,9 +139,20 @@ this.splitContainerControl_FavoritePurchase.Panel2.SuspendLayout(); this.splitContainerControl_FavoritePurchase.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.groupControl_FP_LongDown)).BeginInit(); + this.groupControl_FP_LongDown.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.groupControl_FP_ShortUp)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.treeList_LongUp)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.groupControl_SearcherCondition)).BeginInit(); + this.groupControl_SearcherCondition.SuspendLayout(); + this.groupBox2.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.checkEdit_ichmokuUp_DC.Properties)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.checkEdit_ichmokuDown_DC.Properties)).BeginInit(); + this.groupBox1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.checkEdit_ichmokuUp_UC.Properties)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.checkEdit_IchmokuDown_UC.Properties)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.timeSpanEdit_SesstionTime.Properties)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.checkedComboBoxEdit_TimeInterval.Properties)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.checkedComboBoxEdit_MarketInfoList.Properties)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.treeList1)).BeginInit(); this.SuspendLayout(); // // groupControl_Setting @@ -141,14 +167,14 @@ 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(1107, 75); + this.groupControl_Setting.Size = new System.Drawing.Size(922, 75); this.groupControl_Setting.TabIndex = 0; this.groupControl_Setting.Text = "초기 설정"; // // progressBarControl_data // this.progressBarControl_data.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.progressBarControl_data.Location = new System.Drawing.Point(902, 43); + this.progressBarControl_data.Location = new System.Drawing.Point(717, 43); this.progressBarControl_data.Name = "progressBarControl_data"; this.progressBarControl_data.Properties.ShowTitle = true; this.progressBarControl_data.Size = new System.Drawing.Size(200, 18); @@ -179,7 +205,7 @@ // labelControl4 // this.labelControl4.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.labelControl4.Location = new System.Drawing.Point(808, 44); + this.labelControl4.Location = new System.Drawing.Point(623, 44); this.labelControl4.Name = "labelControl4"; this.labelControl4.Size = new System.Drawing.Size(88, 14); this.labelControl4.TabIndex = 0; @@ -209,14 +235,14 @@ this.groupControl_MarketInfo.Dock = System.Windows.Forms.DockStyle.Fill; this.groupControl_MarketInfo.Location = new System.Drawing.Point(0, 0); this.groupControl_MarketInfo.Name = "groupControl_MarketInfo"; - this.groupControl_MarketInfo.Size = new System.Drawing.Size(840, 370); + this.groupControl_MarketInfo.Size = new System.Drawing.Size(920, 408); this.groupControl_MarketInfo.TabIndex = 1; this.groupControl_MarketInfo.Text = "종목 현황"; // // labelControl_MarketCount // this.labelControl_MarketCount.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.labelControl_MarketCount.Location = new System.Drawing.Point(786, 36); + this.labelControl_MarketCount.Location = new System.Drawing.Point(866, 36); this.labelControl_MarketCount.Name = "labelControl_MarketCount"; this.labelControl_MarketCount.Size = new System.Drawing.Size(21, 14); this.labelControl_MarketCount.TabIndex = 2; @@ -225,7 +251,7 @@ // labelControl3 // this.labelControl3.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.labelControl3.Location = new System.Drawing.Point(734, 36); + this.labelControl3.Location = new System.Drawing.Point(814, 36); this.labelControl3.Name = "labelControl3"; this.labelControl3.Size = new System.Drawing.Size(46, 14); this.labelControl3.TabIndex = 1; @@ -248,7 +274,7 @@ this.treeListColumn_quoteVolume}); this.treeList_MarketInfo.Location = new System.Drawing.Point(2, 56); this.treeList_MarketInfo.Name = "treeList_MarketInfo"; - this.treeList_MarketInfo.Size = new System.Drawing.Size(836, 312); + this.treeList_MarketInfo.Size = new System.Drawing.Size(916, 350); this.treeList_MarketInfo.TabIndex = 0; // // treeListColumn_ExchangePlace @@ -269,6 +295,8 @@ // this.treeListColumn_open24h.Caption = "시가 (24시간)"; this.treeListColumn_open24h.FieldName = "open24h"; + this.treeListColumn_open24h.Format.FormatString = "0.00000"; + this.treeListColumn_open24h.Format.FormatType = DevExpress.Utils.FormatType.Custom; this.treeListColumn_open24h.Name = "treeListColumn_open24h"; this.treeListColumn_open24h.Visible = true; this.treeListColumn_open24h.VisibleIndex = 1; @@ -277,6 +305,8 @@ // this.treeListColumn_low24h.Caption = "저가 (24시간)"; this.treeListColumn_low24h.FieldName = "low24h"; + this.treeListColumn_low24h.Format.FormatString = "0.00000"; + this.treeListColumn_low24h.Format.FormatType = DevExpress.Utils.FormatType.Custom; this.treeListColumn_low24h.Name = "treeListColumn_low24h"; this.treeListColumn_low24h.Visible = true; this.treeListColumn_low24h.VisibleIndex = 2; @@ -285,6 +315,8 @@ // this.treeListColumn_high24h.Caption = "고가 (24시간 )"; this.treeListColumn_high24h.FieldName = "high24h"; + this.treeListColumn_high24h.Format.FormatString = "0.00000"; + this.treeListColumn_high24h.Format.FormatType = DevExpress.Utils.FormatType.Custom; this.treeListColumn_high24h.Name = "treeListColumn_high24h"; this.treeListColumn_high24h.Visible = true; this.treeListColumn_high24h.VisibleIndex = 3; @@ -295,6 +327,8 @@ this.treeListColumn_lastPr.AppearanceCell.Options.UseBackColor = true; this.treeListColumn_lastPr.Caption = "현재가"; this.treeListColumn_lastPr.FieldName = "lastPr"; + this.treeListColumn_lastPr.Format.FormatString = "0.00000"; + this.treeListColumn_lastPr.Format.FormatType = DevExpress.Utils.FormatType.Custom; this.treeListColumn_lastPr.Name = "treeListColumn_lastPr"; this.treeListColumn_lastPr.Visible = true; this.treeListColumn_lastPr.VisibleIndex = 4; @@ -303,6 +337,8 @@ // this.treeListColumn_change24h.Caption = "수익률 (24시간)"; this.treeListColumn_change24h.FieldName = "change24h"; + this.treeListColumn_change24h.Format.FormatString = "0.00000"; + this.treeListColumn_change24h.Format.FormatType = DevExpress.Utils.FormatType.Custom; this.treeListColumn_change24h.Name = "treeListColumn_change24h"; this.treeListColumn_change24h.Visible = true; this.treeListColumn_change24h.VisibleIndex = 5; @@ -311,6 +347,8 @@ // this.treeListColumn_baseVolume.Caption = "코인 거래량"; this.treeListColumn_baseVolume.FieldName = "baseVolume"; + this.treeListColumn_baseVolume.Format.FormatString = "0.00"; + this.treeListColumn_baseVolume.Format.FormatType = DevExpress.Utils.FormatType.Custom; this.treeListColumn_baseVolume.Name = "treeListColumn_baseVolume"; this.treeListColumn_baseVolume.Visible = true; this.treeListColumn_baseVolume.VisibleIndex = 6; @@ -319,6 +357,8 @@ // this.treeListColumn_quoteVolume.Caption = "통화 거래량"; this.treeListColumn_quoteVolume.FieldName = "quoteVolume"; + this.treeListColumn_quoteVolume.Format.FormatString = "0.00"; + this.treeListColumn_quoteVolume.Format.FormatType = DevExpress.Utils.FormatType.Custom; this.treeListColumn_quoteVolume.Name = "treeListColumn_quoteVolume"; this.treeListColumn_quoteVolume.Visible = true; this.treeListColumn_quoteVolume.VisibleIndex = 7; @@ -331,7 +371,7 @@ this.xtraTabControl_Main.Location = new System.Drawing.Point(3, 83); this.xtraTabControl_Main.Name = "xtraTabControl_Main"; this.xtraTabControl_Main.SelectedTabPage = this.xtraTabPage_Status; - this.xtraTabControl_Main.Size = new System.Drawing.Size(1107, 638); + this.xtraTabControl_Main.Size = new System.Drawing.Size(922, 434); this.xtraTabControl_Main.TabIndex = 2; this.xtraTabControl_Main.TabPages.AddRange(new DevExpress.XtraTab.XtraTabPage[] { this.xtraTabPage_Status, @@ -341,7 +381,7 @@ // this.xtraTabPage_Status.Controls.Add(this.groupControl_MarketInfo); this.xtraTabPage_Status.Name = "xtraTabPage_Status"; - this.xtraTabPage_Status.Size = new System.Drawing.Size(840, 370); + this.xtraTabPage_Status.Size = new System.Drawing.Size(920, 408); this.xtraTabPage_Status.Text = "현황판"; // // xtraTabPage_Searcher @@ -350,45 +390,289 @@ this.xtraTabPage_Searcher.Controls.Add(this.groupControl_SearcherCondition); this.xtraTabPage_Searcher.Name = "xtraTabPage_Searcher"; this.xtraTabPage_Searcher.PageEnabled = false; - this.xtraTabPage_Searcher.Size = new System.Drawing.Size(1105, 612); + this.xtraTabPage_Searcher.Size = new System.Drawing.Size(920, 408); this.xtraTabPage_Searcher.Text = "검색기"; // // groupControl_SignalSeacher // this.groupControl_SignalSeacher.Controls.Add(this.splitContainerControl_SearchSignal); this.groupControl_SignalSeacher.Dock = System.Windows.Forms.DockStyle.Fill; - this.groupControl_SignalSeacher.Location = new System.Drawing.Point(0, 125); + this.groupControl_SignalSeacher.Location = new System.Drawing.Point(0, 119); this.groupControl_SignalSeacher.Name = "groupControl_SignalSeacher"; - this.groupControl_SignalSeacher.Size = new System.Drawing.Size(1105, 487); + this.groupControl_SignalSeacher.Size = new System.Drawing.Size(920, 289); this.groupControl_SignalSeacher.TabIndex = 1; this.groupControl_SignalSeacher.Text = "신호 검색"; // + // splitContainerControl_SearchSignal + // + this.splitContainerControl_SearchSignal.Dock = System.Windows.Forms.DockStyle.Fill; + this.splitContainerControl_SearchSignal.Location = new System.Drawing.Point(2, 23); + this.splitContainerControl_SearchSignal.Name = "splitContainerControl_SearchSignal"; + // + // splitContainerControl_SearchSignal.Panel1 + // + this.splitContainerControl_SearchSignal.Panel1.Controls.Add(this.splitContainerControl_UpdateSignal); + this.splitContainerControl_SearchSignal.Panel1.Text = "Panel1"; + // + // splitContainerControl_SearchSignal.Panel2 + // + this.splitContainerControl_SearchSignal.Panel2.Controls.Add(this.splitContainerControl_FavoritePurchase); + this.splitContainerControl_SearchSignal.Panel2.Text = "Panel2"; + this.splitContainerControl_SearchSignal.Size = new System.Drawing.Size(916, 264); + this.splitContainerControl_SearchSignal.SplitterPosition = 476; + this.splitContainerControl_SearchSignal.TabIndex = 1; + // + // splitContainerControl_UpdateSignal + // + this.splitContainerControl_UpdateSignal.Dock = System.Windows.Forms.DockStyle.Fill; + this.splitContainerControl_UpdateSignal.Horizontal = false; + this.splitContainerControl_UpdateSignal.Location = new System.Drawing.Point(0, 0); + this.splitContainerControl_UpdateSignal.Name = "splitContainerControl_UpdateSignal"; + // + // splitContainerControl_UpdateSignal.Panel1 + // + this.splitContainerControl_UpdateSignal.Panel1.Controls.Add(this.groupControl_LongUpSignal); + this.splitContainerControl_UpdateSignal.Panel1.Text = "Panel1"; + // + // splitContainerControl_UpdateSignal.Panel2 + // + this.splitContainerControl_UpdateSignal.Panel2.Controls.Add(this.groupControl_LongDownSignal); + this.splitContainerControl_UpdateSignal.Panel2.Text = "Panel2"; + this.splitContainerControl_UpdateSignal.Size = new System.Drawing.Size(476, 264); + this.splitContainerControl_UpdateSignal.SplitterPosition = 129; + this.splitContainerControl_UpdateSignal.TabIndex = 2; + // // groupControl_LongUpSignal // this.groupControl_LongUpSignal.Controls.Add(this.treeList_LongUp); this.groupControl_LongUpSignal.Dock = System.Windows.Forms.DockStyle.Fill; this.groupControl_LongUpSignal.Location = new System.Drawing.Point(0, 0); this.groupControl_LongUpSignal.Name = "groupControl_LongUpSignal"; - this.groupControl_LongUpSignal.Size = new System.Drawing.Size(541, 227); + this.groupControl_LongUpSignal.Size = new System.Drawing.Size(476, 129); this.groupControl_LongUpSignal.TabIndex = 0; this.groupControl_LongUpSignal.Text = "검색 현황 (Long 상숭)"; // + // treeList_LongUp + // + this.treeList_LongUp.Columns.AddRange(new DevExpress.XtraTreeList.Columns.TreeListColumn[] { + this.treeListColumn_SignalStart, + this.treeListColumn_LU_MarketName, + this.treeListColumn_LU_Description, + this.treeListColumn_LU_Price, + this.treeListColumn_Rate, + this.treeListColumn_LU_IndicatorPrice, + this.treeListColumn_LU_IndicatorRate}); + this.treeList_LongUp.Dock = System.Windows.Forms.DockStyle.Fill; + this.treeList_LongUp.Location = new System.Drawing.Point(2, 23); + this.treeList_LongUp.Name = "treeList_LongUp"; + this.treeList_LongUp.Size = new System.Drawing.Size(472, 104); + this.treeList_LongUp.TabIndex = 0; + // + // treeListColumn_SignalStart + // + this.treeListColumn_SignalStart.Caption = "시작 시간"; + this.treeListColumn_SignalStart.FieldName = "SignalStart"; + this.treeListColumn_SignalStart.Format.FormatString = "yy/MM/dd hh:mm:ss"; + this.treeListColumn_SignalStart.Format.FormatType = DevExpress.Utils.FormatType.Custom; + this.treeListColumn_SignalStart.Name = "treeListColumn_SignalStart"; + this.treeListColumn_SignalStart.Visible = true; + this.treeListColumn_SignalStart.VisibleIndex = 2; + // + // treeListColumn_LU_MarketName + // + this.treeListColumn_LU_MarketName.Caption = "종목"; + this.treeListColumn_LU_MarketName.FieldName = "MarketName"; + this.treeListColumn_LU_MarketName.Name = "treeListColumn_LU_MarketName"; + this.treeListColumn_LU_MarketName.Visible = true; + this.treeListColumn_LU_MarketName.VisibleIndex = 1; + // + // treeListColumn_LU_Description + // + this.treeListColumn_LU_Description.Caption = "설명"; + this.treeListColumn_LU_Description.FieldName = "Description"; + this.treeListColumn_LU_Description.Name = "treeListColumn_LU_Description"; + this.treeListColumn_LU_Description.Visible = true; + this.treeListColumn_LU_Description.VisibleIndex = 0; + // + // treeListColumn_LU_Price + // + this.treeListColumn_LU_Price.Caption = "현재가"; + this.treeListColumn_LU_Price.FieldName = "Price"; + this.treeListColumn_LU_Price.Format.FormatString = "0.00000"; + this.treeListColumn_LU_Price.Format.FormatType = DevExpress.Utils.FormatType.Custom; + this.treeListColumn_LU_Price.Name = "treeListColumn_LU_Price"; + this.treeListColumn_LU_Price.Visible = true; + this.treeListColumn_LU_Price.VisibleIndex = 3; + // + // treeListColumn_Rate + // + this.treeListColumn_Rate.Caption = "수익률"; + this.treeListColumn_Rate.FieldName = "Rate"; + this.treeListColumn_Rate.Format.FormatString = "0.00000"; + this.treeListColumn_Rate.Format.FormatType = DevExpress.Utils.FormatType.Custom; + this.treeListColumn_Rate.Name = "treeListColumn_Rate"; + this.treeListColumn_Rate.Visible = true; + this.treeListColumn_Rate.VisibleIndex = 4; + // + // treeListColumn_LU_IndicatorPrice + // + this.treeListColumn_LU_IndicatorPrice.Caption = "지표(구름떼) 가격"; + this.treeListColumn_LU_IndicatorPrice.FieldName = "IndicatorPrice"; + this.treeListColumn_LU_IndicatorPrice.Format.FormatString = "0.00000"; + this.treeListColumn_LU_IndicatorPrice.Format.FormatType = DevExpress.Utils.FormatType.Custom; + this.treeListColumn_LU_IndicatorPrice.Name = "treeListColumn_LU_IndicatorPrice"; + this.treeListColumn_LU_IndicatorPrice.Visible = true; + this.treeListColumn_LU_IndicatorPrice.VisibleIndex = 5; + // + // treeListColumn_LU_IndicatorRate + // + this.treeListColumn_LU_IndicatorRate.Caption = "지표가(매수가) 비율"; + this.treeListColumn_LU_IndicatorRate.FieldName = "IndicatorRate"; + this.treeListColumn_LU_IndicatorRate.Format.FormatString = "0.00000"; + this.treeListColumn_LU_IndicatorRate.Format.FormatType = DevExpress.Utils.FormatType.Custom; + this.treeListColumn_LU_IndicatorRate.Name = "treeListColumn_LU_IndicatorRate"; + this.treeListColumn_LU_IndicatorRate.Visible = true; + this.treeListColumn_LU_IndicatorRate.VisibleIndex = 6; + // // groupControl_LongDownSignal // + this.groupControl_LongDownSignal.Controls.Add(this.treeList_ShortDown); this.groupControl_LongDownSignal.Dock = System.Windows.Forms.DockStyle.Fill; this.groupControl_LongDownSignal.Location = new System.Drawing.Point(0, 0); this.groupControl_LongDownSignal.Name = "groupControl_LongDownSignal"; - this.groupControl_LongDownSignal.Size = new System.Drawing.Size(541, 225); + this.groupControl_LongDownSignal.Size = new System.Drawing.Size(476, 125); this.groupControl_LongDownSignal.TabIndex = 0; this.groupControl_LongDownSignal.Text = "검색 현황 (Short 하락)"; // + // treeList_ShortDown + // + this.treeList_ShortDown.Columns.AddRange(new DevExpress.XtraTreeList.Columns.TreeListColumn[] { + this.treeListColumn_SD_SignalStart, + this.treeListColumn_SD_MarketName, + this.treeListColumn_SD_Description, + this.treeListColumn_SD_Price, + this.treeListColumn_SD_Rate, + this.treeListColumn_SD_IndicatorPrice, + this.treeListColumn_SD_IndicatorRate}); + this.treeList_ShortDown.Dock = System.Windows.Forms.DockStyle.Fill; + this.treeList_ShortDown.Location = new System.Drawing.Point(2, 23); + this.treeList_ShortDown.Name = "treeList_ShortDown"; + this.treeList_ShortDown.Size = new System.Drawing.Size(472, 100); + this.treeList_ShortDown.TabIndex = 1; + // + // treeListColumn_SD_SignalStart + // + this.treeListColumn_SD_SignalStart.Caption = "시작 시간"; + this.treeListColumn_SD_SignalStart.FieldName = "SignalStart"; + this.treeListColumn_SD_SignalStart.Format.FormatString = "yy/MM/dd hh:mm:ss"; + this.treeListColumn_SD_SignalStart.Format.FormatType = DevExpress.Utils.FormatType.Custom; + this.treeListColumn_SD_SignalStart.Name = "treeListColumn_SD_SignalStart"; + this.treeListColumn_SD_SignalStart.Visible = true; + this.treeListColumn_SD_SignalStart.VisibleIndex = 2; + // + // treeListColumn_SD_MarketName + // + this.treeListColumn_SD_MarketName.Caption = "종목"; + this.treeListColumn_SD_MarketName.FieldName = "MarketName"; + this.treeListColumn_SD_MarketName.Name = "treeListColumn_SD_MarketName"; + this.treeListColumn_SD_MarketName.Visible = true; + this.treeListColumn_SD_MarketName.VisibleIndex = 1; + // + // treeListColumn_SD_Description + // + this.treeListColumn_SD_Description.Caption = "설명"; + this.treeListColumn_SD_Description.FieldName = "Description"; + this.treeListColumn_SD_Description.Name = "treeListColumn_SD_Description"; + this.treeListColumn_SD_Description.Visible = true; + this.treeListColumn_SD_Description.VisibleIndex = 0; + // + // treeListColumn_SD_Price + // + this.treeListColumn_SD_Price.Caption = "현재가"; + this.treeListColumn_SD_Price.FieldName = "Price"; + this.treeListColumn_SD_Price.Format.FormatString = "0.00000"; + this.treeListColumn_SD_Price.Format.FormatType = DevExpress.Utils.FormatType.Custom; + this.treeListColumn_SD_Price.Name = "treeListColumn_SD_Price"; + this.treeListColumn_SD_Price.Visible = true; + this.treeListColumn_SD_Price.VisibleIndex = 3; + // + // treeListColumn_SD_Rate + // + this.treeListColumn_SD_Rate.Caption = "수익률"; + this.treeListColumn_SD_Rate.FieldName = "Rate"; + this.treeListColumn_SD_Rate.Format.FormatString = "0.00000"; + this.treeListColumn_SD_Rate.Format.FormatType = DevExpress.Utils.FormatType.Custom; + this.treeListColumn_SD_Rate.Name = "treeListColumn_SD_Rate"; + this.treeListColumn_SD_Rate.Visible = true; + this.treeListColumn_SD_Rate.VisibleIndex = 4; + // + // treeListColumn_SD_IndicatorPrice + // + this.treeListColumn_SD_IndicatorPrice.Caption = "지표(구름떼) 가격"; + this.treeListColumn_SD_IndicatorPrice.FieldName = "IndicatorPrice"; + this.treeListColumn_SD_IndicatorPrice.Format.FormatString = "0.00000"; + this.treeListColumn_SD_IndicatorPrice.Format.FormatType = DevExpress.Utils.FormatType.Custom; + this.treeListColumn_SD_IndicatorPrice.Name = "treeListColumn_SD_IndicatorPrice"; + this.treeListColumn_SD_IndicatorPrice.Visible = true; + this.treeListColumn_SD_IndicatorPrice.VisibleIndex = 5; + // + // treeListColumn_SD_IndicatorRate + // + this.treeListColumn_SD_IndicatorRate.Caption = "지표가(매수가) 비율"; + this.treeListColumn_SD_IndicatorRate.FieldName = "IndicatorRate"; + this.treeListColumn_SD_IndicatorRate.Format.FormatString = "0.00000"; + this.treeListColumn_SD_IndicatorRate.Format.FormatType = DevExpress.Utils.FormatType.Custom; + this.treeListColumn_SD_IndicatorRate.Name = "treeListColumn_SD_IndicatorRate"; + this.treeListColumn_SD_IndicatorRate.Visible = true; + this.treeListColumn_SD_IndicatorRate.VisibleIndex = 6; + // + // splitContainerControl_FavoritePurchase + // + this.splitContainerControl_FavoritePurchase.Dock = System.Windows.Forms.DockStyle.Fill; + this.splitContainerControl_FavoritePurchase.Horizontal = false; + this.splitContainerControl_FavoritePurchase.Location = new System.Drawing.Point(0, 0); + this.splitContainerControl_FavoritePurchase.Name = "splitContainerControl_FavoritePurchase"; + // + // splitContainerControl_FavoritePurchase.Panel1 + // + this.splitContainerControl_FavoritePurchase.Panel1.Controls.Add(this.groupControl_FP_LongDown); + this.splitContainerControl_FavoritePurchase.Panel1.Text = "Panel1"; + // + // splitContainerControl_FavoritePurchase.Panel2 + // + this.splitContainerControl_FavoritePurchase.Panel2.Controls.Add(this.groupControl_FP_ShortUp); + this.splitContainerControl_FavoritePurchase.Panel2.Text = "Panel2"; + this.splitContainerControl_FavoritePurchase.Size = new System.Drawing.Size(430, 264); + this.splitContainerControl_FavoritePurchase.SplitterPosition = 130; + this.splitContainerControl_FavoritePurchase.TabIndex = 3; + // + // groupControl_FP_LongDown + // + this.groupControl_FP_LongDown.Controls.Add(this.treeList1); + this.groupControl_FP_LongDown.Dock = System.Windows.Forms.DockStyle.Fill; + this.groupControl_FP_LongDown.Location = new System.Drawing.Point(0, 0); + this.groupControl_FP_LongDown.Name = "groupControl_FP_LongDown"; + this.groupControl_FP_LongDown.Size = new System.Drawing.Size(430, 130); + this.groupControl_FP_LongDown.TabIndex = 0; + this.groupControl_FP_LongDown.Text = "관심 종목 (Long 상승)"; + // + // groupControl_FP_ShortUp + // + this.groupControl_FP_ShortUp.Dock = System.Windows.Forms.DockStyle.Fill; + this.groupControl_FP_ShortUp.Location = new System.Drawing.Point(0, 0); + this.groupControl_FP_ShortUp.Name = "groupControl_FP_ShortUp"; + this.groupControl_FP_ShortUp.Size = new System.Drawing.Size(430, 124); + this.groupControl_FP_ShortUp.TabIndex = 0; + this.groupControl_FP_ShortUp.Text = "관심 종목 (Long 하락)"; + // // groupControl_SearcherCondition // + this.groupControl_SearcherCondition.Controls.Add(this.simpleButton_MarketOrderRefresh); + this.groupControl_SearcherCondition.Controls.Add(this.groupBox2); + this.groupControl_SearcherCondition.Controls.Add(this.groupBox1); this.groupControl_SearcherCondition.Controls.Add(this.timeSpanEdit_SesstionTime); this.groupControl_SearcherCondition.Controls.Add(this.labelControl8); this.groupControl_SearcherCondition.Controls.Add(this.labelControl7); - this.groupControl_SearcherCondition.Controls.Add(this.checkEdit_IchmokuDown); - this.groupControl_SearcherCondition.Controls.Add(this.checkEdit_ichmokuUp); this.groupControl_SearcherCondition.Controls.Add(this.labelControl6); this.groupControl_SearcherCondition.Controls.Add(this.labelControl5); this.groupControl_SearcherCondition.Controls.Add(this.checkedComboBoxEdit_TimeInterval); @@ -396,27 +680,111 @@ this.groupControl_SearcherCondition.Dock = System.Windows.Forms.DockStyle.Top; this.groupControl_SearcherCondition.Location = new System.Drawing.Point(0, 0); this.groupControl_SearcherCondition.Name = "groupControl_SearcherCondition"; - this.groupControl_SearcherCondition.Size = new System.Drawing.Size(1105, 125); + this.groupControl_SearcherCondition.Size = new System.Drawing.Size(920, 119); this.groupControl_SearcherCondition.TabIndex = 0; this.groupControl_SearcherCondition.Text = "조건 설정"; // - // checkEdit_IchmokuDown + // simpleButton_MarketOrderRefresh // - this.checkEdit_IchmokuDown.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.checkEdit_IchmokuDown.Location = new System.Drawing.Point(984, 52); - this.checkEdit_IchmokuDown.Name = "checkEdit_IchmokuDown"; - this.checkEdit_IchmokuDown.Properties.Caption = "구름떼 하락"; - this.checkEdit_IchmokuDown.Size = new System.Drawing.Size(102, 20); - this.checkEdit_IchmokuDown.TabIndex = 2; + this.simpleButton_MarketOrderRefresh.ImageOptions.SvgImage = ((DevExpress.Utils.Svg.SvgImage)(resources.GetObject("simpleButton_MarketOrderRefresh.ImageOptions.SvgImage"))); + this.simpleButton_MarketOrderRefresh.ImageOptions.SvgImageColorizationMode = DevExpress.Utils.SvgImageColorizationMode.Full; + this.simpleButton_MarketOrderRefresh.Location = new System.Drawing.Point(534, 37); + this.simpleButton_MarketOrderRefresh.Name = "simpleButton_MarketOrderRefresh"; + this.simpleButton_MarketOrderRefresh.Size = new System.Drawing.Size(35, 30); + this.simpleButton_MarketOrderRefresh.TabIndex = 7; + this.simpleButton_MarketOrderRefresh.Text = "R"; // - // checkEdit_ichmokuUp + // groupBox2 // - this.checkEdit_ichmokuUp.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.checkEdit_ichmokuUp.Location = new System.Drawing.Point(984, 26); - this.checkEdit_ichmokuUp.Name = "checkEdit_ichmokuUp"; - this.checkEdit_ichmokuUp.Properties.Caption = "구름떼 돌파"; - this.checkEdit_ichmokuUp.Size = new System.Drawing.Size(102, 20); - this.checkEdit_ichmokuUp.TabIndex = 2; + this.groupBox2.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.groupBox2.Controls.Add(this.checkEdit_ichmokuUp_DC); + this.groupBox2.Controls.Add(this.checkEdit_ichmokuDown_DC); + this.groupBox2.Location = new System.Drawing.Point(802, 26); + this.groupBox2.Name = "groupBox2"; + this.groupBox2.Size = new System.Drawing.Size(112, 68); + this.groupBox2.TabIndex = 5; + this.groupBox2.TabStop = false; + this.groupBox2.Text = "아래 구름선 (하락)"; + // + // checkEdit_ichmokuUp_DC + // + this.checkEdit_ichmokuUp_DC.EditValue = true; + this.checkEdit_ichmokuUp_DC.Enabled = false; + this.checkEdit_ichmokuUp_DC.Location = new System.Drawing.Point(6, 21); + this.checkEdit_ichmokuUp_DC.Name = "checkEdit_ichmokuUp_DC"; + this.checkEdit_ichmokuUp_DC.Properties.Caption = "구름떼 돌파"; + this.checkEdit_ichmokuUp_DC.Size = new System.Drawing.Size(87, 20); + this.checkEdit_ichmokuUp_DC.TabIndex = 2; + // + // checkEdit_ichmokuDown_DC + // + this.checkEdit_ichmokuDown_DC.EditValue = true; + this.checkEdit_ichmokuDown_DC.Enabled = false; + this.checkEdit_ichmokuDown_DC.Location = new System.Drawing.Point(6, 40); + this.checkEdit_ichmokuDown_DC.Name = "checkEdit_ichmokuDown_DC"; + this.checkEdit_ichmokuDown_DC.Properties.Caption = "구름떼 하락"; + this.checkEdit_ichmokuDown_DC.Size = new System.Drawing.Size(87, 20); + this.checkEdit_ichmokuDown_DC.TabIndex = 2; + // + // groupBox1 + // + this.groupBox1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.groupBox1.Controls.Add(this.checkEdit_ichmokuUp_UC); + this.groupBox1.Controls.Add(this.checkEdit_IchmokuDown_UC); + this.groupBox1.Location = new System.Drawing.Point(690, 26); + this.groupBox1.Name = "groupBox1"; + this.groupBox1.Size = new System.Drawing.Size(106, 68); + this.groupBox1.TabIndex = 6; + this.groupBox1.TabStop = false; + this.groupBox1.Text = "윗 구름선 (상승)"; + // + // checkEdit_ichmokuUp_UC + // + this.checkEdit_ichmokuUp_UC.EditValue = true; + this.checkEdit_ichmokuUp_UC.Enabled = false; + this.checkEdit_ichmokuUp_UC.Location = new System.Drawing.Point(6, 21); + this.checkEdit_ichmokuUp_UC.Name = "checkEdit_ichmokuUp_UC"; + this.checkEdit_ichmokuUp_UC.Properties.Caption = "구름떼 돌파"; + this.checkEdit_ichmokuUp_UC.Size = new System.Drawing.Size(87, 20); + this.checkEdit_ichmokuUp_UC.TabIndex = 2; + // + // checkEdit_IchmokuDown_UC + // + this.checkEdit_IchmokuDown_UC.EditValue = true; + this.checkEdit_IchmokuDown_UC.Enabled = false; + this.checkEdit_IchmokuDown_UC.Location = new System.Drawing.Point(6, 40); + this.checkEdit_IchmokuDown_UC.Name = "checkEdit_IchmokuDown_UC"; + this.checkEdit_IchmokuDown_UC.Properties.Caption = "구름떼 하락"; + this.checkEdit_IchmokuDown_UC.Size = new System.Drawing.Size(87, 20); + this.checkEdit_IchmokuDown_UC.TabIndex = 2; + // + // timeSpanEdit_SesstionTime + // + this.timeSpanEdit_SesstionTime.EditValue = System.TimeSpan.Parse("00:02:00"); + this.timeSpanEdit_SesstionTime.Location = new System.Drawing.Point(119, 87); + this.timeSpanEdit_SesstionTime.Name = "timeSpanEdit_SesstionTime"; + this.timeSpanEdit_SesstionTime.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] { + new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo)}); + this.timeSpanEdit_SesstionTime.Properties.DisplayFormat.FormatString = "mm"; + this.timeSpanEdit_SesstionTime.Properties.EditFormat.FormatString = "mm"; + this.timeSpanEdit_SesstionTime.Size = new System.Drawing.Size(46, 20); + this.timeSpanEdit_SesstionTime.TabIndex = 4; + // + // labelControl8 + // + this.labelControl8.Location = new System.Drawing.Point(171, 90); + this.labelControl8.Name = "labelControl8"; + this.labelControl8.Size = new System.Drawing.Size(10, 14); + this.labelControl8.TabIndex = 3; + this.labelControl8.Text = "분"; + // + // labelControl7 + // + this.labelControl7.Location = new System.Drawing.Point(9, 90); + this.labelControl7.Name = "labelControl7"; + this.labelControl7.Size = new System.Drawing.Size(104, 14); + this.labelControl7.TabIndex = 3; + this.labelControl7.Text = "신호 검색 유지 시간 : "; // // labelControl6 // @@ -442,7 +810,7 @@ new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo)}); this.checkedComboBoxEdit_TimeInterval.Properties.IncrementalSearch = true; this.checkedComboBoxEdit_TimeInterval.Properties.TextEditStyle = DevExpress.XtraEditors.Controls.TextEditStyles.Standard; - this.checkedComboBoxEdit_TimeInterval.Size = new System.Drawing.Size(547, 20); + this.checkedComboBoxEdit_TimeInterval.Size = new System.Drawing.Size(463, 20); this.checkedComboBoxEdit_TimeInterval.TabIndex = 0; // // checkedComboBoxEdit_MarketInfoList @@ -453,7 +821,7 @@ new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo)}); this.checkedComboBoxEdit_MarketInfoList.Properties.IncrementalSearch = true; this.checkedComboBoxEdit_MarketInfoList.Properties.TextEditStyle = DevExpress.XtraEditors.Controls.TextEditStyles.Standard; - this.checkedComboBoxEdit_MarketInfoList.Size = new System.Drawing.Size(547, 20); + this.checkedComboBoxEdit_MarketInfoList.Size = new System.Drawing.Size(463, 20); this.checkedComboBoxEdit_MarketInfoList.TabIndex = 0; // // treeListColumn1 @@ -463,183 +831,93 @@ this.treeListColumn1.Visible = true; this.treeListColumn1.VisibleIndex = 0; // - // popupMenu_marketInfo + // treeList1 // - this.popupMenu_marketInfo.Name = "popupMenu_marketInfo"; + this.treeList1.Columns.AddRange(new DevExpress.XtraTreeList.Columns.TreeListColumn[] { + this.treeListColumn2, + this.treeListColumn3, + this.treeListColumn4, + this.treeListColumn5, + this.treeListColumn6, + this.treeListColumn7, + this.treeListColumn8}); + this.treeList1.Dock = System.Windows.Forms.DockStyle.Fill; + this.treeList1.Location = new System.Drawing.Point(2, 23); + this.treeList1.Name = "treeList1"; + this.treeList1.Size = new System.Drawing.Size(426, 105); + this.treeList1.TabIndex = 1; // - // splitContainerControl_SearchSignal + // treeListColumn2 // - this.splitContainerControl_SearchSignal.Dock = System.Windows.Forms.DockStyle.Fill; - this.splitContainerControl_SearchSignal.Location = new System.Drawing.Point(2, 23); - this.splitContainerControl_SearchSignal.Name = "splitContainerControl_SearchSignal"; + this.treeListColumn2.Caption = "시작 시간"; + this.treeListColumn2.FieldName = "SignalStart"; + this.treeListColumn2.Format.FormatString = "yy/MM/dd hh:mm"; + this.treeListColumn2.Format.FormatType = DevExpress.Utils.FormatType.Custom; + this.treeListColumn2.Name = "treeListColumn2"; + this.treeListColumn2.Visible = true; + this.treeListColumn2.VisibleIndex = 2; // - // splitContainerControl_SearchSignal.splitContainerControl_SearchSignal_Panel1 + // treeListColumn3 // - this.splitContainerControl_SearchSignal.Panel1.Controls.Add(this.splitContainerControl_UpdateSignal); - this.splitContainerControl_SearchSignal.Panel1.Text = "Panel1"; + this.treeListColumn3.Caption = "종목"; + this.treeListColumn3.FieldName = "MarketName"; + this.treeListColumn3.Name = "treeListColumn3"; + this.treeListColumn3.Visible = true; + this.treeListColumn3.VisibleIndex = 1; // - // splitContainerControl_SearchSignal.splitContainerControl_SearchSignal_Panel2 + // treeListColumn4 // - this.splitContainerControl_SearchSignal.Panel2.Controls.Add(this.splitContainerControl_FavoritePurchase); - this.splitContainerControl_SearchSignal.Panel2.Text = "Panel2"; - this.splitContainerControl_SearchSignal.Size = new System.Drawing.Size(1101, 462); - this.splitContainerControl_SearchSignal.SplitterPosition = 541; - this.splitContainerControl_SearchSignal.TabIndex = 1; + this.treeListColumn4.Caption = "설명"; + this.treeListColumn4.FieldName = "Description"; + this.treeListColumn4.Name = "treeListColumn4"; + this.treeListColumn4.Visible = true; + this.treeListColumn4.VisibleIndex = 0; // - // splitContainerControl_UpdateSignal + // treeListColumn5 // - this.splitContainerControl_UpdateSignal.Dock = System.Windows.Forms.DockStyle.Fill; - this.splitContainerControl_UpdateSignal.Horizontal = false; - this.splitContainerControl_UpdateSignal.Location = new System.Drawing.Point(0, 0); - this.splitContainerControl_UpdateSignal.Name = "splitContainerControl_UpdateSignal"; + this.treeListColumn5.Caption = "현재가"; + this.treeListColumn5.FieldName = "Price"; + this.treeListColumn5.Format.FormatString = "0.00"; + this.treeListColumn5.Format.FormatType = DevExpress.Utils.FormatType.Custom; + this.treeListColumn5.Name = "treeListColumn5"; + this.treeListColumn5.Visible = true; + this.treeListColumn5.VisibleIndex = 3; // - // splitContainerControl_UpdateSignal.splitContainerControl_UpdateSignal_Panel1 + // treeListColumn6 // - this.splitContainerControl_UpdateSignal.Panel1.Controls.Add(this.groupControl_LongUpSignal); - this.splitContainerControl_UpdateSignal.Panel1.Text = "Panel1"; + this.treeListColumn6.Caption = "수익률"; + this.treeListColumn6.FieldName = "Rate"; + this.treeListColumn6.Format.FormatString = "0.00000"; + this.treeListColumn6.Format.FormatType = DevExpress.Utils.FormatType.Custom; + this.treeListColumn6.Name = "treeListColumn6"; + this.treeListColumn6.Visible = true; + this.treeListColumn6.VisibleIndex = 4; // - // splitContainerControl_UpdateSignal.splitContainerControl_UpdateSignal_Panel2 + // treeListColumn7 // - this.splitContainerControl_UpdateSignal.Panel2.Controls.Add(this.groupControl_LongDownSignal); - this.splitContainerControl_UpdateSignal.Panel2.Text = "Panel2"; - this.splitContainerControl_UpdateSignal.Size = new System.Drawing.Size(541, 462); - this.splitContainerControl_UpdateSignal.SplitterPosition = 227; - this.splitContainerControl_UpdateSignal.TabIndex = 2; + this.treeListColumn7.Caption = "지표(구름떼) 가격"; + this.treeListColumn7.FieldName = "IndicatorPrice"; + this.treeListColumn7.Format.FormatString = "0.00"; + this.treeListColumn7.Format.FormatType = DevExpress.Utils.FormatType.Custom; + this.treeListColumn7.Name = "treeListColumn7"; + this.treeListColumn7.Visible = true; + this.treeListColumn7.VisibleIndex = 5; // - // splitContainerControl_FavoritePurchase + // treeListColumn8 // - this.splitContainerControl_FavoritePurchase.Dock = System.Windows.Forms.DockStyle.Fill; - this.splitContainerControl_FavoritePurchase.Horizontal = false; - this.splitContainerControl_FavoritePurchase.Location = new System.Drawing.Point(0, 0); - this.splitContainerControl_FavoritePurchase.Name = "splitContainerControl_FavoritePurchase"; - // - // splitContainerControl_FavoritePurchase.splitContainerControl_FavoritePurchase_Panel1 - // - this.splitContainerControl_FavoritePurchase.Panel1.Controls.Add(this.groupControl_FP_LongDown); - this.splitContainerControl_FavoritePurchase.Panel1.Text = "Panel1"; - // - // splitContainerControl_FavoritePurchase.splitContainerControl_FavoritePurchase_Panel2 - // - this.splitContainerControl_FavoritePurchase.Panel2.Controls.Add(this.groupControl_FP_ShortUp); - this.splitContainerControl_FavoritePurchase.Panel2.Text = "Panel2"; - this.splitContainerControl_FavoritePurchase.Size = new System.Drawing.Size(550, 462); - this.splitContainerControl_FavoritePurchase.SplitterPosition = 227; - this.splitContainerControl_FavoritePurchase.TabIndex = 3; - // - // groupControl_FP_LongDown - // - this.groupControl_FP_LongDown.Dock = System.Windows.Forms.DockStyle.Fill; - this.groupControl_FP_LongDown.Location = new System.Drawing.Point(0, 0); - this.groupControl_FP_LongDown.Name = "groupControl_FP_LongDown"; - this.groupControl_FP_LongDown.Size = new System.Drawing.Size(550, 227); - this.groupControl_FP_LongDown.TabIndex = 0; - this.groupControl_FP_LongDown.Text = "관심 종목 (Long 상승)"; - // - // groupControl_FP_ShortUp - // - this.groupControl_FP_ShortUp.Dock = System.Windows.Forms.DockStyle.Fill; - this.groupControl_FP_ShortUp.Location = new System.Drawing.Point(0, 0); - this.groupControl_FP_ShortUp.Name = "groupControl_FP_ShortUp"; - this.groupControl_FP_ShortUp.Size = new System.Drawing.Size(550, 225); - this.groupControl_FP_ShortUp.TabIndex = 0; - this.groupControl_FP_ShortUp.Text = "관심 종목 (Long 하락)"; - // - // treeList_LongUp - // - this.treeList_LongUp.Columns.AddRange(new DevExpress.XtraTreeList.Columns.TreeListColumn[] { - this.treeListColumn_LU_MarketName, - this.treeListColumn_LU_Description, - this.treeListColumn_LU_Price, - this.treeListColumn_Rate, - this.treeListColumn_LU_IndicatorPrice, - this.treeListColumn_LU_IndicatorRate}); - this.treeList_LongUp.Dock = System.Windows.Forms.DockStyle.Fill; - this.treeList_LongUp.Location = new System.Drawing.Point(2, 23); - this.treeList_LongUp.Name = "treeList_LongUp"; - this.treeList_LongUp.Size = new System.Drawing.Size(537, 202); - this.treeList_LongUp.TabIndex = 0; - // - // treeListColumn_LU_MarketName - // - this.treeListColumn_LU_MarketName.Caption = "종목"; - this.treeListColumn_LU_MarketName.FieldName = "종목"; - this.treeListColumn_LU_MarketName.Name = "treeListColumn_LU_MarketName"; - this.treeListColumn_LU_MarketName.Visible = true; - this.treeListColumn_LU_MarketName.VisibleIndex = 0; - // - // treeListColumn_LU_Description - // - this.treeListColumn_LU_Description.Caption = "설명"; - this.treeListColumn_LU_Description.FieldName = "Description"; - this.treeListColumn_LU_Description.Name = "treeListColumn_LU_Description"; - this.treeListColumn_LU_Description.Visible = true; - this.treeListColumn_LU_Description.VisibleIndex = 1; - // - // treeListColumn_LU_Price - // - this.treeListColumn_LU_Price.Caption = "현재가"; - this.treeListColumn_LU_Price.FieldName = "Price"; - this.treeListColumn_LU_Price.Name = "treeListColumn_LU_Price"; - this.treeListColumn_LU_Price.Visible = true; - this.treeListColumn_LU_Price.VisibleIndex = 2; - // - // treeListColumn_Rate - // - this.treeListColumn_Rate.Caption = "수익률"; - this.treeListColumn_Rate.FieldName = "Rate"; - this.treeListColumn_Rate.Name = "treeListColumn_Rate"; - this.treeListColumn_Rate.Visible = true; - this.treeListColumn_Rate.VisibleIndex = 3; - // - // treeListColumn_LU_IndicatorPrice - // - this.treeListColumn_LU_IndicatorPrice.Caption = "지표(구름떼) 가격"; - this.treeListColumn_LU_IndicatorPrice.FieldName = "지표(구름떼) 가격"; - this.treeListColumn_LU_IndicatorPrice.Name = "treeListColumn_LU_IndicatorPrice"; - this.treeListColumn_LU_IndicatorPrice.Visible = true; - this.treeListColumn_LU_IndicatorPrice.VisibleIndex = 4; - // - // treeListColumn_LU_IndicatorRate - // - this.treeListColumn_LU_IndicatorRate.Caption = "지표가(매수가) 비율"; - this.treeListColumn_LU_IndicatorRate.FieldName = "IndicatorRate"; - this.treeListColumn_LU_IndicatorRate.Name = "treeListColumn_LU_IndicatorRate"; - this.treeListColumn_LU_IndicatorRate.Visible = true; - this.treeListColumn_LU_IndicatorRate.VisibleIndex = 5; - // - // labelControl7 - // - this.labelControl7.Location = new System.Drawing.Point(9, 90); - this.labelControl7.Name = "labelControl7"; - this.labelControl7.Size = new System.Drawing.Size(104, 14); - this.labelControl7.TabIndex = 3; - this.labelControl7.Text = "신호 검색 유지 시간 : "; - // - // timeSpanEdit_SesstionTime - // - this.timeSpanEdit_SesstionTime.EditValue = System.TimeSpan.Parse("00:02:00"); - this.timeSpanEdit_SesstionTime.Location = new System.Drawing.Point(119, 87); - this.timeSpanEdit_SesstionTime.Name = "timeSpanEdit_SesstionTime"; - this.timeSpanEdit_SesstionTime.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] { - new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo)}); - this.timeSpanEdit_SesstionTime.Properties.DisplayFormat.FormatString = "mm"; - this.timeSpanEdit_SesstionTime.Properties.EditFormat.FormatString = "mm"; - this.timeSpanEdit_SesstionTime.Size = new System.Drawing.Size(46, 20); - this.timeSpanEdit_SesstionTime.TabIndex = 4; - // - // labelControl8 - // - this.labelControl8.Location = new System.Drawing.Point(171, 90); - this.labelControl8.Name = "labelControl8"; - this.labelControl8.Size = new System.Drawing.Size(10, 14); - this.labelControl8.TabIndex = 3; - this.labelControl8.Text = "분"; + this.treeListColumn8.Caption = "지표가(매수가) 비율"; + this.treeListColumn8.FieldName = "IndicatorRate"; + this.treeListColumn8.Format.FormatString = "0.00000"; + this.treeListColumn8.Format.FormatType = DevExpress.Utils.FormatType.Custom; + this.treeListColumn8.Name = "treeListColumn8"; + this.treeListColumn8.Visible = true; + this.treeListColumn8.VisibleIndex = 6; // // MainForm // this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.ClientSize = new System.Drawing.Size(1111, 726); + this.ClientSize = new System.Drawing.Size(926, 522); this.Controls.Add(this.xtraTabControl_Main); this.Controls.Add(this.groupControl_Setting); this.MinimumSize = new System.Drawing.Size(719, 303); @@ -662,18 +940,6 @@ this.xtraTabPage_Searcher.ResumeLayout(false); ((System.ComponentModel.ISupportInitialize)(this.groupControl_SignalSeacher)).EndInit(); this.groupControl_SignalSeacher.ResumeLayout(false); - ((System.ComponentModel.ISupportInitialize)(this.groupControl_LongUpSignal)).EndInit(); - this.groupControl_LongUpSignal.ResumeLayout(false); - ((System.ComponentModel.ISupportInitialize)(this.groupControl_LongDownSignal)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.groupControl_SearcherCondition)).EndInit(); - this.groupControl_SearcherCondition.ResumeLayout(false); - this.groupControl_SearcherCondition.PerformLayout(); - ((System.ComponentModel.ISupportInitialize)(this.checkEdit_IchmokuDown.Properties)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.checkEdit_ichmokuUp.Properties)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.checkedComboBoxEdit_TimeInterval.Properties)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.checkedComboBoxEdit_MarketInfoList.Properties)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.marketInfoBindingSource)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.popupMenu_marketInfo)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.splitContainerControl_SearchSignal.Panel1)).EndInit(); this.splitContainerControl_SearchSignal.Panel1.ResumeLayout(false); ((System.ComponentModel.ISupportInitialize)(this.splitContainerControl_SearchSignal.Panel2)).EndInit(); @@ -686,6 +952,12 @@ this.splitContainerControl_UpdateSignal.Panel2.ResumeLayout(false); ((System.ComponentModel.ISupportInitialize)(this.splitContainerControl_UpdateSignal)).EndInit(); this.splitContainerControl_UpdateSignal.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.groupControl_LongUpSignal)).EndInit(); + this.groupControl_LongUpSignal.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.treeList_LongUp)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.groupControl_LongDownSignal)).EndInit(); + this.groupControl_LongDownSignal.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.treeList_ShortDown)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.splitContainerControl_FavoritePurchase.Panel1)).EndInit(); this.splitContainerControl_FavoritePurchase.Panel1.ResumeLayout(false); ((System.ComponentModel.ISupportInitialize)(this.splitContainerControl_FavoritePurchase.Panel2)).EndInit(); @@ -693,9 +965,21 @@ ((System.ComponentModel.ISupportInitialize)(this.splitContainerControl_FavoritePurchase)).EndInit(); this.splitContainerControl_FavoritePurchase.ResumeLayout(false); ((System.ComponentModel.ISupportInitialize)(this.groupControl_FP_LongDown)).EndInit(); + this.groupControl_FP_LongDown.ResumeLayout(false); ((System.ComponentModel.ISupportInitialize)(this.groupControl_FP_ShortUp)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.treeList_LongUp)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.groupControl_SearcherCondition)).EndInit(); + this.groupControl_SearcherCondition.ResumeLayout(false); + this.groupControl_SearcherCondition.PerformLayout(); + this.groupBox2.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.checkEdit_ichmokuUp_DC.Properties)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.checkEdit_ichmokuDown_DC.Properties)).EndInit(); + this.groupBox1.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.checkEdit_ichmokuUp_UC.Properties)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.checkEdit_IchmokuDown_UC.Properties)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.timeSpanEdit_SesstionTime.Properties)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.checkedComboBoxEdit_TimeInterval.Properties)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.checkedComboBoxEdit_MarketInfoList.Properties)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.treeList1)).EndInit(); this.ResumeLayout(false); } @@ -728,13 +1012,9 @@ private DevExpress.XtraEditors.CheckedComboBoxEdit checkedComboBoxEdit_MarketInfoList; private DevExpress.XtraEditors.ProgressBarControl progressBarControl_data; private DevExpress.XtraEditors.LabelControl labelControl4; - private DevExpress.XtraBars.PopupMenu popupMenu_marketInfo; - private System.Windows.Forms.BindingSource marketInfoBindingSource; private DevExpress.XtraTreeList.Columns.TreeListColumn treeListColumn1; private DevExpress.XtraEditors.GroupControl groupControl_LongUpSignal; private DevExpress.XtraEditors.GroupControl groupControl_LongDownSignal; - private DevExpress.XtraEditors.CheckEdit checkEdit_IchmokuDown; - private DevExpress.XtraEditors.CheckEdit checkEdit_ichmokuUp; private DevExpress.XtraEditors.LabelControl labelControl6; private DevExpress.XtraEditors.LabelControl labelControl5; private DevExpress.XtraEditors.CheckedComboBoxEdit checkedComboBoxEdit_TimeInterval; @@ -753,6 +1033,30 @@ private DevExpress.XtraEditors.TimeSpanEdit timeSpanEdit_SesstionTime; private DevExpress.XtraEditors.LabelControl labelControl8; private DevExpress.XtraEditors.LabelControl labelControl7; + private DevExpress.XtraEditors.SimpleButton simpleButton_MarketOrderRefresh; + private System.Windows.Forms.GroupBox groupBox2; + private DevExpress.XtraEditors.CheckEdit checkEdit_ichmokuUp_DC; + private DevExpress.XtraEditors.CheckEdit checkEdit_ichmokuDown_DC; + private System.Windows.Forms.GroupBox groupBox1; + private DevExpress.XtraEditors.CheckEdit checkEdit_ichmokuUp_UC; + private DevExpress.XtraEditors.CheckEdit checkEdit_IchmokuDown_UC; + private DevExpress.XtraTreeList.Columns.TreeListColumn treeListColumn_SignalStart; + private DevExpress.XtraTreeList.TreeList treeList_ShortDown; + private DevExpress.XtraTreeList.Columns.TreeListColumn treeListColumn_SD_SignalStart; + private DevExpress.XtraTreeList.Columns.TreeListColumn treeListColumn_SD_MarketName; + private DevExpress.XtraTreeList.Columns.TreeListColumn treeListColumn_SD_Description; + private DevExpress.XtraTreeList.Columns.TreeListColumn treeListColumn_SD_Price; + private DevExpress.XtraTreeList.Columns.TreeListColumn treeListColumn_SD_Rate; + private DevExpress.XtraTreeList.Columns.TreeListColumn treeListColumn_SD_IndicatorPrice; + private DevExpress.XtraTreeList.Columns.TreeListColumn treeListColumn_SD_IndicatorRate; + private DevExpress.XtraTreeList.TreeList treeList1; + private DevExpress.XtraTreeList.Columns.TreeListColumn treeListColumn2; + private DevExpress.XtraTreeList.Columns.TreeListColumn treeListColumn3; + private DevExpress.XtraTreeList.Columns.TreeListColumn treeListColumn4; + private DevExpress.XtraTreeList.Columns.TreeListColumn treeListColumn5; + private DevExpress.XtraTreeList.Columns.TreeListColumn treeListColumn6; + private DevExpress.XtraTreeList.Columns.TreeListColumn treeListColumn7; + private DevExpress.XtraTreeList.Columns.TreeListColumn treeListColumn8; } } diff --git a/BitgetApi/MainForm.cs b/BitgetApi/MainForm.cs index 2618fdb..de5b477 100644 --- a/BitgetApi/MainForm.cs +++ b/BitgetApi/MainForm.cs @@ -21,6 +21,7 @@ using System.Threading.Tasks; using System.Windows.Forms; using static BitgetAPI.CommonProperty; using static DevExpress.Utils.Html.ViewInfo.DxHtmlOrderedListInfoCore; +using static System.Windows.Forms.VisualStyles.VisualStyleElement.TextBox; namespace BitgetAPI { @@ -71,8 +72,6 @@ namespace BitgetAPI comboBoxEdit_ExchangePlace.SelectedIndex = (int)CommonProperty.ExchangePlace.Bitget; commonProperty.selectedChangePlace = CommonProperty.ExchangePlace.Bitget; - treeList_MarketInfo.DataSource = commonProperty.webSocketCandles; - // 현황판 정렬 treeList_MarketInfo.BeginSort(); treeList_MarketInfo.Columns["quoteVolume"].SortOrder = SortOrder.Descending; @@ -80,6 +79,7 @@ namespace BitgetAPI // 현황판 웹소켓 commonProperty.webSocketCandles = new List(); + treeList_MarketInfo.DataSource = commonProperty.webSocketCandles; th_MarketStatus = new Thread(() => ThreadEventAsync(BitgetWebSocketType.현황정보_전체종목, "ticker")); th_MarketStatus.Start(); @@ -87,10 +87,6 @@ namespace BitgetAPI treeListMarketInfoListUpdateTimer = new Thread(new ThreadStart(TreeListMarketInfoListUpdate)); treeListMarketInfoListUpdateTimer.Start(); - // 신호검색 스레드 - th_SignalInfo = new Thread(new ThreadStart(Signalnfo)); - th_SignalInfo.Start(); - // 신호 Long 상승 (구매) signals_LU = new List(); // 신호 Short 하락 (구매) @@ -100,7 +96,13 @@ namespace BitgetAPI // 검색현황 Short 상승 (판매) signals_SU = new List(); + // 신호검색 트리리스트 설정 treeList_LongUp.DataSource = signals_LU; + treeList_ShortDown.DataSource = signals_SD; + + // 신호검색 스레드 + th_SignalInfo = new Thread(new ThreadStart(Signalnfo)); + th_SignalInfo.Start(); // API Key 가져오기 및 등록 @@ -133,11 +135,16 @@ namespace BitgetAPI Invoke(new MethodInvoker(delegate () { var scrollPoint = treeList_MarketInfo.TopVisibleNodeIndex; + var scrollPoint_LU = treeList_LongUp.TopVisibleNodeIndex; + var scrollPoint_SD = treeList_ShortDown.TopVisibleNodeIndex; + treeList_MarketInfo.RefreshDataSource(); - treeList_MarketInfo.ClearSelection(); + treeList_LongUp.RefreshDataSource(); + treeList_ShortDown.RefreshDataSource(); treeList_MarketInfo.TopVisibleNodeIndex = scrollPoint; - + treeList_LongUp.TopVisibleNodeIndex = scrollPoint_LU; + treeList_ShortDown.TopVisibleNodeIndex = scrollPoint_SD; })); } } @@ -160,25 +167,39 @@ namespace BitgetAPI while (true) { - Thread.Sleep(300); + //if (!xtraTabPage_Searcher.PageEnabled) continue; + Thread.Sleep(200); var nowTime = DateTime.Now; // 특정 시간 이후 삭제 - foreach (var item in signals_LU) + foreach (var item in signals_LU.ToList()) { // 시간 지나면 삭제 - if (item.SignalStart + timeSpanEdit_SesstionTime.TimeSpan > nowTime) + if (item.SignalStart + timeSpanEdit_SesstionTime.TimeSpan < nowTime) { signals_LU.Remove(item); + continue; + } - } - foreach (var item in signals_LD) - if (item.SignalStart + timeSpanEdit_SesstionTime.TimeSpan > nowTime) { signals_LD.Remove(item); } - foreach (var item in signals_SU) - if (item.SignalStart + timeSpanEdit_SesstionTime.TimeSpan > nowTime) signals_SU.Remove(item); - foreach (var item in signals_SD) - if (item.SignalStart + timeSpanEdit_SesstionTime.TimeSpan > nowTime) signals_SD.Remove(item); + var findedMarket = commonProperty.candleDataLists.Find(i => i.ConGoodsData.MarketName == item.MarketName); + var lastCandleData = findedMarket.candleDataList[item.MCandleTimeType].OrderBy(i => i.Argument).ToList().Last(); + + if(lastCandleData.IchimokData != null) + { + item.Price = lastCandleData.Close; + item.Rate = (lastCandleData.Close / lastCandleData.Open) * 100 - 100; + item.IndicatorPrice = lastCandleData.IchimokData.상한선; + item.IndicatorRate = (lastCandleData.Close / item.IndicatorPrice) * 100 - 100; + } + + } + foreach (var item in signals_LD.ToList()) + if (item.SignalStart + timeSpanEdit_SesstionTime.TimeSpan < nowTime) { signals_LD.Remove(item); } + foreach (var item in signals_SU.ToList()) + if (item.SignalStart + timeSpanEdit_SesstionTime.TimeSpan < nowTime) signals_SU.Remove(item); + foreach (var item in signals_SD.ToList()) + if (item.SignalStart + timeSpanEdit_SesstionTime.TimeSpan < nowTime) signals_SD.Remove(item); var intervalList = checkedComboBoxEdit_TimeInterval.Properties.Items.GetCheckedValues(); @@ -201,12 +222,12 @@ namespace BitgetAPI ichimokuConditionSetup.calIchimokuData(candleDatas_정렬, candleData); - candleDatas_정렬.RemoveAt(candleDatas_정렬.Count-1); + candleDatas_정렬.RemoveAt(candleDatas_정렬.Count - 1); var candleData_전봉 = candleDatas.Find(i => i.Argument == candleDatas_정렬.Last().Argument); ichimokuConditionSetup.calIchimokuData(candleDatas_정렬, candleData_전봉); - - if (candleData_전봉.Open < candleData_전봉.IchimokData.상한선 && candleData.Open > candleData_전봉.IchimokData.상한선) + + if (candleData_전봉.Open < candleData_전봉.IchimokData.상한선 && candleData.Open > candleData.IchimokData.상한선) { var price = candleData.Close; var rate = (candleData.Close / candleData.Open) * 100 - 100; @@ -214,13 +235,38 @@ namespace BitgetAPI var indicatorRate = (candleData.Close / indicatorPrice) * 100 - 100; var signalData = signals_LU.Find(i => i.MarketName.Equals(market)); + + // 없으면 생성 + if (signalData == null) + { + SignalInfoData signalInfoData = new SignalInfoData(); + signalInfoData.SignalStart = nowTime; + signalInfoData.MarketName = market; + signalInfoData.Description = string.Format("{0} 상승", description); + signalInfoData.Rate = rate; + signalInfoData.Price = price; + signalInfoData.IndicatorPrice = indicatorPrice; + signalInfoData.IndicatorRate = indicatorRate; + signalInfoData.MCandleTimeType = interval; + + signals_LU.Add(signalInfoData); + } + } + else if (candleData_전봉.Open > candleData_전봉.IchimokData.하한선 && candleData.Open < candleData.IchimokData.하한선) + { + var price = candleData.Close; + var rate = (candleData.Close / candleData.Open) * 100 - 100; + var indicatorPrice = candleData.IchimokData.하한선; + var indicatorRate = (candleData.Close / indicatorPrice) * 100 - 100; + + var signalData = signals_SD.Find(i => i.MarketName.Equals(market)); // 존재하면 업데이트 if (signalData != null) { signalData.Price = price; - signalData.rate = rate; - signalData.indicatorPrice = indicatorPrice; - signalData.indicoatorRate = indicatorRate; + signalData.Rate = rate; + signalData.IndicatorPrice = indicatorPrice; + signalData.IndicatorRate = indicatorRate; } // 없으면 생성 else @@ -228,30 +274,19 @@ namespace BitgetAPI SignalInfoData signalInfoData = new SignalInfoData(); signalInfoData.SignalStart = nowTime; signalInfoData.MarketName = market; - signalInfoData.Description = "상승 돌파"; - signalData.rate = rate; + signalInfoData.Description = string.Format("{0} 하락", description); + signalInfoData.Rate = rate; signalInfoData.Price = price; - signalInfoData.indicatorPrice = indicatorPrice; - signalInfoData.indicoatorRate = indicatorRate; + signalInfoData.IndicatorPrice = indicatorPrice; + signalInfoData.IndicatorRate = indicatorRate; - signals_LU.Add(signalInfoData); + signals_SD.Add(signalInfoData); } - } } } - Invoke(new MethodInvoker(delegate () - { - var scrollPoint_LU = treeList_LongUp.TopVisibleNodeIndex; - - // 신호검색 트리리스트 설정 - treeList_LongUp.DataSource = signals_LU; - treeList_LongUp.RefreshDataSource(); - - treeList_LongUp.TopVisibleNodeIndex = scrollPoint_LU; - })); } } @@ -259,13 +294,11 @@ namespace BitgetAPI // 종목별 캔들데이터 가져오기 (초기 설정) => Thread private void getMarketCandleData_WebService(ExchangeWebReqType exchangeWebReqType) { - // 프로그레스 바 progressBarControl_data.Properties.Minimum = 0; progressBarControl_data.Properties.Maximum = commonProperty.candleDataLists.Count; progressBarControl_data.Properties.Step = 1; progressBarControl_data.EditValue = 0; - var progressCnt = 0; // WebServicee 초기 캔들 데이터 가져오기 : 종목, 개수 foreach (var marketCandleDataList in commonProperty.candleDataLists) @@ -325,10 +358,9 @@ namespace BitgetAPI progressBarControl_data.PerformStep(); progressBarControl_data.Update(); - xtraTabPage_Searcher.PageEnabled = true; - xtraTabControl_Main.SelectedTabPage = xtraTabPage_Searcher; + //xtraTabPage_Searcher.PageEnabled = true; + //xtraTabControl_Main.SelectedTabPage = xtraTabPage_Searcher; })); - break; } Invoke(new MethodInvoker(delegate () @@ -451,6 +483,12 @@ namespace BitgetAPI th_MarketCandeData = null; } + if(th_SignalInfo != null) + { + th_SignalInfo.Abort(); + th_SignalInfo = null; + } + for(var cnt = 0; cnt < webSocketThreadList.Count; cnt++) { if(webSocketThreadList[cnt] != null && webSocketThreadList[cnt].ThreadState != ThreadState.Running) diff --git a/BitgetApi/MainForm.resx b/BitgetApi/MainForm.resx index bd818f7..fcbc9db 100644 --- a/BitgetApi/MainForm.resx +++ b/BitgetApi/MainForm.resx @@ -117,10 +117,25 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - 200, 17 - - - 17, 17 - + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIzLjIsIFZlcnNpb249MjMuMi40 + LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl + dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAOYCAAAC77u/ + PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi + IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv + MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh + Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg + MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsYWNre2ZpbGw6IzcyNzI3Mjt9Cgku + WWVsbG93e2ZpbGw6I0ZGQjExNTt9CgkuQmx1ZXtmaWxsOiMxMTc3RDc7fQoJLlJlZHtmaWxsOiNEMTFD + MUM7fQoJLldoaXRle2ZpbGw6I0ZGRkZGRjt9CgkuR3JlZW57ZmlsbDojMDM5QzIzO30KCS5zdDB7Zmls + bDojNzI3MjcyO30KCS5zdDF7b3BhY2l0eTowLjU7fQoJLnN0MntvcGFjaXR5OjAuNzU7fQo8L3N0eWxl + Pg0KICA8ZyBpZD0iUGF5bWVudFJlZnVuZCI+DQogICAgPHBhdGggZD0iTTE2LDRjLTMuMywwLTYuMywx + LjMtOC41LDMuNUw0LDR2MTBoMC4yaDQuMUgxNGwtMy42LTMuNkMxMS44LDguOSwxMy44LDgsMTYsOGM0 + LjQsMCw4LDMuNiw4LDhzLTMuNiw4LTgsOCAgIGMtMy43LDAtNi44LTIuNi03LjctNkg0LjJjMSw1Ljcs + NS45LDEwLDExLjgsMTBjNi42LDAsMTItNS40LDEyLTEyUzIyLjYsNCwxNiw0eiIgY2xhc3M9IkJsdWUi + IC8+DQogIDwvZz4NCjwvc3ZnPgs= + + \ No newline at end of file diff --git a/BitgetApi/WebService/WebConnection.cs b/BitgetApi/WebService/WebConnection.cs index 87fa617..3d1fcbf 100644 --- a/BitgetApi/WebService/WebConnection.cs +++ b/BitgetApi/WebService/WebConnection.cs @@ -524,8 +524,8 @@ namespace BitgetAPI.WebService } finally { - if (webSocket.State == WebSocketState.Open) - await webSocket.CloseAsync(WebSocketCloseStatus.NormalClosure, "WebSocket 연결 종료", CancellationToken.None); + //if (webSocket.State == WebSocketState.Open) + //await webSocket.CloseAsync(WebSocketCloseStatus.NormalClosure, "WebSocket 연결 종료", CancellationToken.None); webSocket.Dispose(); // 웹소켓 재귀