From 1f3db07e76ec61c0159d289ceb045419adf46bc9 Mon Sep 17 00:00:00 2001 From: jwlee Date: Thu, 30 May 2024 00:35:38 +0900 Subject: [PATCH] =?UTF-8?q?=EC=9D=B4=EC=B9=98=EB=AA=A8=EC=BF=A0=20?= =?UTF-8?q?=EC=B6=94=EA=B0=80=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- BitgetApi/.vs/BitgetApi.csproj.dtbcache.json | 1 + BitgetApi/BitgetApi.csproj | 1 - .../IchimokuConditionSetup.cs | 73 ++++++++++++++----- 3 files changed, 56 insertions(+), 19 deletions(-) create mode 100644 BitgetApi/.vs/BitgetApi.csproj.dtbcache.json diff --git a/BitgetApi/.vs/BitgetApi.csproj.dtbcache.json b/BitgetApi/.vs/BitgetApi.csproj.dtbcache.json new file mode 100644 index 0000000..e8eb780 --- /dev/null +++ b/BitgetApi/.vs/BitgetApi.csproj.dtbcache.json @@ -0,0 +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":"D:\\Source Code\\Project\\Bitget_API\\BitGet_API\\BitgetApi\\bin\\Debug\\DevExpress.Data.Desktop.v23.2.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"D:\\Source Code\\Project\\Bitget_API\\BitGet_API\\BitgetApi\\bin\\Debug\\DevExpress.Data.v23.2.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"D:\\Source Code\\Project\\Bitget_API\\BitGet_API\\BitgetApi\\bin\\Debug\\DevExpress.Drawing.v23.2.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"D:\\Source Code\\Project\\Bitget_API\\BitGet_API\\BitgetApi\\bin\\Debug\\DevExpress.Printing.v23.2.Core.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"D:\\Source Code\\Project\\Bitget_API\\BitGet_API\\BitgetApi\\bin\\Debug\\DevExpress.Utils.v23.2.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"D:\\Source Code\\Project\\Bitget_API\\BitGet_API\\BitgetApi\\bin\\Debug\\DevExpress.XtraBars.v23.2.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"D:\\Source Code\\Project\\Bitget_API\\BitGet_API\\BitgetApi\\bin\\Debug\\DevExpress.XtraEditors.v23.2.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"D:\\Source Code\\Project\\Bitget_API\\BitGet_API\\BitgetApi\\bin\\Debug\\DevExpress.XtraGrid.v23.2.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"D:\\Source Code\\Project\\Bitget_API\\BitGet_API\\BitgetApi\\bin\\Debug\\DevExpress.XtraLayout.v23.2.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"D:\\Source Code\\Project\\Bitget_API\\BitGet_API\\BitgetApi\\bin\\Debug\\DevExpress.XtraPrinting.v23.2.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"D:\\Source Code\\Project\\Bitget_API\\BitGet_API\\BitgetApi\\bin\\Debug\\DevExpress.XtraTreeList.v23.2.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"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 diff --git a/BitgetApi/BitgetApi.csproj b/BitgetApi/BitgetApi.csproj index 9ed4026..732b05f 100644 --- a/BitgetApi/BitgetApi.csproj +++ b/BitgetApi/BitgetApi.csproj @@ -91,7 +91,6 @@ MainForm.cs - ResXFileCodeGenerator Resources.Designer.cs diff --git a/BitgetApi/IndicatorConditionSetup/IchimokuConditionSetup.cs b/BitgetApi/IndicatorConditionSetup/IchimokuConditionSetup.cs index 5935d72..6bdcbbd 100644 --- a/BitgetApi/IndicatorConditionSetup/IchimokuConditionSetup.cs +++ b/BitgetApi/IndicatorConditionSetup/IchimokuConditionSetup.cs @@ -52,24 +52,28 @@ namespace BitgetAPI.IndicatorConditionSetup 선행스팬2 : (과거 k일간의 최고가 + 과거 k일간의 최저가) /2한 값을 ℓ일 후에 기입 */ - foreach (var data in ) - // 현재 시간 캔들 - var nowCandle = candleDatas.Last(); - - // 현재 종가 - var endValue = nowCandle.Close; // 현재 종가 인덱스 var endIndex = candleDatas.Count - 1; var 한봉전까지Index = endIndex - 1; - // 전봉까지 만듬 - var datas = candleDatas.FindAll(i => - candleDatas.IndexOf(i) >= 한봉전까지Index -ConversionPeriod && - candleDatas.IndexOf(i) <= 한봉전까지Index); + + // 현재 시간 캔들 + var nowCandle = candleDatas[endIndex]; // Ichimok 없으면 생성 if (nowCandle.IchimokData == null) nowCandle.IchimokData = new IchimokData(); - + + // 현재 종가 + var endValue = nowCandle.Close; + + + // 전봉까지 만듬 + var datas = candleDatas.FindAll(i => + candleDatas.IndexOf(i) >= 한봉전까지Index - ConversionPeriod && + candleDatas.IndexOf(i) <= 한봉전까지Index); + + if (datas == null) return; + // 전환선 nowCandle.IchimokData.전환선 = (datas.Min(i => i.Low) + datas.Min(i => i.High)) / 2; @@ -81,17 +85,50 @@ namespace BitgetAPI.IndicatorConditionSetup nowCandle.IchimokData.기준선 = (datas.Min(i => i.Low) + datas.Min(i => i.High)) / 2; // 후행스팬 - if (candleDatas.Count - Displacement >= 0) + if (endIndex - Displacement >= 0) + { + if(candleDatas[candleDatas.Count - Displacement].IchimokData == null) + { + candleDatas[candleDatas.Count - Displacement].IchimokData = new IchimokData(); + } + candleDatas[candleDatas.Count - Displacement].IchimokData.후행스팬 = endValue; - - if(Displacement + ) - // 선행스팬 1 - nowCandle.IchimokData.선행스팬1 = - (nowCandle.IchimokData.전환선 + nowCandle.IchimokData.기준선) / 2 - // 선행스팬 2 + } + // Displacement : 26 일전봉 데이터 가져오기 + endIndex = endIndex - Displacement; + 한봉전까지Index = 한봉전까지Index - Displacement; + datas = candleDatas.FindAll(i => + candleDatas.IndexOf(i) >= 한봉전까지Index - ConversionPeriod && + candleDatas.IndexOf(i) <= 한봉전까지Index); + + if (datas == null) return; + + // 전환선 + var displacement_전환선 = (datas.Min(i => i.Low) + datas.Min(i => i.High)) / 2; + + datas = candleDatas.FindAll(i => + candleDatas.IndexOf(i) >= 한봉전까지Index - BaselinePeriod && + candleDatas.IndexOf(i) <= 한봉전까지Index); + + if (datas == null) return; + + // 기준선 + var displacement_기준선 = (datas.Min(i => i.Low) + datas.Min(i => i.High)) / 2; + + nowCandle.IchimokData.선행스팬1 = + (displacement_전환선 + displacement_기준선) / 2; + + + // 선행스팬 2 + datas = candleDatas.FindAll(i => + candleDatas.IndexOf(i) >= 한봉전까지Index - LaggingSpan2Period && + candleDatas.IndexOf(i) <= 한봉전까지Index); + + + nowCandle.IchimokData.선행스팬2 = (datas.Min(i => i.Low) + datas.Min(i => i.High)) / 2; }