수정
This commit is contained in:
@@ -7,7 +7,23 @@
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Runtime.CompilerServices.Unsafe" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-5.0.0.0" newVersion="5.0.0.0" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Collections.Immutable" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Microsoft.CodeAnalysis" publicKeyToken="31bf3856ad364e35" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-4.3.0.0" newVersion="4.3.0.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Text.Encoding.CodePages" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Microsoft.CodeAnalysis.CSharp" publicKeyToken="31bf3856ad364e35" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-4.3.0.0" newVersion="4.3.0.0" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
</runtime>
|
||||
|
||||
47
Million Buyer/Form1.Designer.cs
generated
47
Million Buyer/Form1.Designer.cs
generated
@@ -1,47 +0,0 @@
|
||||
namespace Million_Buyer
|
||||
{
|
||||
partial class Form1
|
||||
{
|
||||
/// <summary>
|
||||
/// 필수 디자이너 변수입니다.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// 사용 중인 모든 리소스를 정리합니다.
|
||||
/// </summary>
|
||||
/// <param name="disposing">관리되는 리소스를 삭제해야 하면 true이고, 그렇지 않으면 false입니다.</param>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && (components != null))
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
#region Windows Form 디자이너에서 생성한 코드
|
||||
|
||||
/// <summary>
|
||||
/// 디자이너 지원에 필요한 메서드입니다.
|
||||
/// 이 메서드의 내용을 코드 편집기로 수정하지 마세요.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// Form1
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(657, 388);
|
||||
this.Name = "Form1";
|
||||
this.Text = "Form1";
|
||||
this.ResumeLayout(false);
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,20 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Data;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace Million_Buyer
|
||||
{
|
||||
public partial class Form1 : Form
|
||||
{
|
||||
public Form1()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
}
|
||||
}
|
||||
550
Million Buyer/MainForm.Designer.cs
generated
Normal file
550
Million Buyer/MainForm.Designer.cs
generated
Normal file
@@ -0,0 +1,550 @@
|
||||
namespace Million_Buyer
|
||||
{
|
||||
partial class MainForm
|
||||
{
|
||||
/// <summary>
|
||||
/// 필수 디자이너 변수입니다.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// 사용 중인 모든 리소스를 정리합니다.
|
||||
/// </summary>
|
||||
/// <param name="disposing">관리되는 리소스를 삭제해야 하면 true이고, 그렇지 않으면 false입니다.</param>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && (components != null))
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
#region Windows Form 디자이너에서 생성한 코드
|
||||
|
||||
/// <summary>
|
||||
/// 디자이너 지원에 필요한 메서드입니다.
|
||||
/// 이 메서드의 내용을 코드 편집기로 수정하지 마세요.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.groupBox1 = new System.Windows.Forms.GroupBox();
|
||||
this.lb_IndiName = new System.Windows.Forms.Label();
|
||||
this.bt_Modify = new System.Windows.Forms.Button();
|
||||
this.label6 = new System.Windows.Forms.Label();
|
||||
this.tb_CycleMoneyValue = new System.Windows.Forms.TextBox();
|
||||
this.tb_CycleCount = new System.Windows.Forms.TextBox();
|
||||
this.label2 = new System.Windows.Forms.Label();
|
||||
this.label1 = new System.Windows.Forms.Label();
|
||||
this.groupBox2 = new System.Windows.Forms.GroupBox();
|
||||
this.lb_TotalMoneyValue = new System.Windows.Forms.Label();
|
||||
this.lb_TotalRate = new System.Windows.Forms.Label();
|
||||
this.lb_BuyMarketCount = new System.Windows.Forms.Label();
|
||||
this.lb_TotalMoney = new System.Windows.Forms.Label();
|
||||
this.label7 = new System.Windows.Forms.Label();
|
||||
this.label5 = new System.Windows.Forms.Label();
|
||||
this.label3 = new System.Windows.Forms.Label();
|
||||
this.label4 = new System.Windows.Forms.Label();
|
||||
this.bt_Start = new System.Windows.Forms.Button();
|
||||
this.bt_Stop = new System.Windows.Forms.Button();
|
||||
this.rd_Realtime = new System.Windows.Forms.RadioButton();
|
||||
this.rd_buyer = new System.Windows.Forms.RadioButton();
|
||||
this.tl_BuyList = new DevExpress.XtraTreeList.TreeList();
|
||||
this.tl_Result = new DevExpress.XtraTreeList.TreeList();
|
||||
this.button1 = new System.Windows.Forms.Button();
|
||||
this.label8 = new System.Windows.Forms.Label();
|
||||
this.label9 = new System.Windows.Forms.Label();
|
||||
this.BuyMarket = new DevExpress.XtraTreeList.Columns.TreeListColumn();
|
||||
this.BuyValue = new DevExpress.XtraTreeList.Columns.TreeListColumn();
|
||||
this.BuyCount = new DevExpress.XtraTreeList.Columns.TreeListColumn();
|
||||
this.BuyDateTime = new DevExpress.XtraTreeList.Columns.TreeListColumn();
|
||||
this.Market = new DevExpress.XtraTreeList.Columns.TreeListColumn();
|
||||
this.BuyValueData = new DevExpress.XtraTreeList.Columns.TreeListColumn();
|
||||
this.BuyCountData = new DevExpress.XtraTreeList.Columns.TreeListColumn();
|
||||
this.BuyDateTimeData = new DevExpress.XtraTreeList.Columns.TreeListColumn();
|
||||
this.SellValueData = new DevExpress.XtraTreeList.Columns.TreeListColumn();
|
||||
this.SellCountData = new DevExpress.XtraTreeList.Columns.TreeListColumn();
|
||||
this.SellDateTimeData = new DevExpress.XtraTreeList.Columns.TreeListColumn();
|
||||
this.RateData = new DevExpress.XtraTreeList.Columns.TreeListColumn();
|
||||
this.MoneyData = new DevExpress.XtraTreeList.Columns.TreeListColumn();
|
||||
this.lb_log = new System.Windows.Forms.ListBox();
|
||||
this.label10 = new System.Windows.Forms.Label();
|
||||
this.lb_StartDate = new System.Windows.Forms.Label();
|
||||
this.groupBox1.SuspendLayout();
|
||||
this.groupBox2.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.tl_BuyList)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.tl_Result)).BeginInit();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// groupBox1
|
||||
//
|
||||
this.groupBox1.Controls.Add(this.lb_IndiName);
|
||||
this.groupBox1.Controls.Add(this.bt_Modify);
|
||||
this.groupBox1.Controls.Add(this.label6);
|
||||
this.groupBox1.Controls.Add(this.tb_CycleMoneyValue);
|
||||
this.groupBox1.Controls.Add(this.tb_CycleCount);
|
||||
this.groupBox1.Controls.Add(this.label2);
|
||||
this.groupBox1.Controls.Add(this.label1);
|
||||
this.groupBox1.Location = new System.Drawing.Point(12, 52);
|
||||
this.groupBox1.Name = "groupBox1";
|
||||
this.groupBox1.Size = new System.Drawing.Size(362, 111);
|
||||
this.groupBox1.TabIndex = 5;
|
||||
this.groupBox1.TabStop = false;
|
||||
this.groupBox1.Text = "데이터 Setting";
|
||||
//
|
||||
// lb_IndiName
|
||||
//
|
||||
this.lb_IndiName.AutoSize = true;
|
||||
this.lb_IndiName.Location = new System.Drawing.Point(142, 82);
|
||||
this.lb_IndiName.Name = "lb_IndiName";
|
||||
this.lb_IndiName.Size = new System.Drawing.Size(0, 12);
|
||||
this.lb_IndiName.TabIndex = 7;
|
||||
//
|
||||
// bt_Modify
|
||||
//
|
||||
this.bt_Modify.Location = new System.Drawing.Point(288, 77);
|
||||
this.bt_Modify.Name = "bt_Modify";
|
||||
this.bt_Modify.Size = new System.Drawing.Size(68, 23);
|
||||
this.bt_Modify.TabIndex = 6;
|
||||
this.bt_Modify.Text = "선택";
|
||||
this.bt_Modify.UseVisualStyleBackColor = true;
|
||||
this.bt_Modify.Click += new System.EventHandler(this.bt_Modify_Click);
|
||||
//
|
||||
// label6
|
||||
//
|
||||
this.label6.AutoSize = true;
|
||||
this.label6.Location = new System.Drawing.Point(95, 82);
|
||||
this.label6.Name = "label6";
|
||||
this.label6.Size = new System.Drawing.Size(41, 12);
|
||||
this.label6.TabIndex = 4;
|
||||
this.label6.Text = "조건식";
|
||||
//
|
||||
// tb_CycleMoneyValue
|
||||
//
|
||||
this.tb_CycleMoneyValue.Location = new System.Drawing.Point(142, 50);
|
||||
this.tb_CycleMoneyValue.Name = "tb_CycleMoneyValue";
|
||||
this.tb_CycleMoneyValue.ReadOnly = true;
|
||||
this.tb_CycleMoneyValue.Size = new System.Drawing.Size(214, 21);
|
||||
this.tb_CycleMoneyValue.TabIndex = 3;
|
||||
//
|
||||
// tb_CycleCount
|
||||
//
|
||||
this.tb_CycleCount.Location = new System.Drawing.Point(142, 20);
|
||||
this.tb_CycleCount.Name = "tb_CycleCount";
|
||||
this.tb_CycleCount.ReadOnly = true;
|
||||
this.tb_CycleCount.Size = new System.Drawing.Size(214, 21);
|
||||
this.tb_CycleCount.TabIndex = 2;
|
||||
//
|
||||
// label2
|
||||
//
|
||||
this.label2.AutoSize = true;
|
||||
this.label2.Location = new System.Drawing.Point(35, 53);
|
||||
this.label2.Name = "label2";
|
||||
this.label2.Size = new System.Drawing.Size(101, 12);
|
||||
this.label2.TabIndex = 1;
|
||||
this.label2.Text = "종목 별 구입 금액";
|
||||
//
|
||||
// label1
|
||||
//
|
||||
this.label1.AutoSize = true;
|
||||
this.label1.Location = new System.Drawing.Point(7, 26);
|
||||
this.label1.Name = "label1";
|
||||
this.label1.Size = new System.Drawing.Size(129, 12);
|
||||
this.label1.TabIndex = 0;
|
||||
this.label1.Text = "한번에 구입 할 종목 수";
|
||||
//
|
||||
// groupBox2
|
||||
//
|
||||
this.groupBox2.Controls.Add(this.lb_StartDate);
|
||||
this.groupBox2.Controls.Add(this.label10);
|
||||
this.groupBox2.Controls.Add(this.lb_TotalMoneyValue);
|
||||
this.groupBox2.Controls.Add(this.lb_TotalRate);
|
||||
this.groupBox2.Controls.Add(this.lb_BuyMarketCount);
|
||||
this.groupBox2.Controls.Add(this.lb_TotalMoney);
|
||||
this.groupBox2.Controls.Add(this.label7);
|
||||
this.groupBox2.Controls.Add(this.label5);
|
||||
this.groupBox2.Controls.Add(this.label3);
|
||||
this.groupBox2.Controls.Add(this.label4);
|
||||
this.groupBox2.Location = new System.Drawing.Point(12, 169);
|
||||
this.groupBox2.Name = "groupBox2";
|
||||
this.groupBox2.Size = new System.Drawing.Size(362, 191);
|
||||
this.groupBox2.TabIndex = 6;
|
||||
this.groupBox2.TabStop = false;
|
||||
this.groupBox2.Text = "데이터 현황";
|
||||
//
|
||||
// lb_TotalMoneyValue
|
||||
//
|
||||
this.lb_TotalMoneyValue.AutoSize = true;
|
||||
this.lb_TotalMoneyValue.Location = new System.Drawing.Point(102, 126);
|
||||
this.lb_TotalMoneyValue.Name = "lb_TotalMoneyValue";
|
||||
this.lb_TotalMoneyValue.Size = new System.Drawing.Size(0, 12);
|
||||
this.lb_TotalMoneyValue.TabIndex = 7;
|
||||
//
|
||||
// lb_TotalRate
|
||||
//
|
||||
this.lb_TotalRate.AutoSize = true;
|
||||
this.lb_TotalRate.Location = new System.Drawing.Point(102, 91);
|
||||
this.lb_TotalRate.Name = "lb_TotalRate";
|
||||
this.lb_TotalRate.Size = new System.Drawing.Size(0, 12);
|
||||
this.lb_TotalRate.TabIndex = 6;
|
||||
//
|
||||
// lb_BuyMarketCount
|
||||
//
|
||||
this.lb_BuyMarketCount.AutoSize = true;
|
||||
this.lb_BuyMarketCount.Location = new System.Drawing.Point(102, 59);
|
||||
this.lb_BuyMarketCount.Name = "lb_BuyMarketCount";
|
||||
this.lb_BuyMarketCount.Size = new System.Drawing.Size(0, 12);
|
||||
this.lb_BuyMarketCount.TabIndex = 5;
|
||||
//
|
||||
// lb_TotalMoney
|
||||
//
|
||||
this.lb_TotalMoney.AutoSize = true;
|
||||
this.lb_TotalMoney.Location = new System.Drawing.Point(102, 26);
|
||||
this.lb_TotalMoney.Name = "lb_TotalMoney";
|
||||
this.lb_TotalMoney.Size = new System.Drawing.Size(0, 12);
|
||||
this.lb_TotalMoney.TabIndex = 4;
|
||||
//
|
||||
// label7
|
||||
//
|
||||
this.label7.AutoSize = true;
|
||||
this.label7.Location = new System.Drawing.Point(27, 126);
|
||||
this.label7.Name = "label7";
|
||||
this.label7.Size = new System.Drawing.Size(69, 12);
|
||||
this.label7.TabIndex = 3;
|
||||
this.label7.Text = "전체 수익금";
|
||||
//
|
||||
// label5
|
||||
//
|
||||
this.label5.AutoSize = true;
|
||||
this.label5.Location = new System.Drawing.Point(27, 91);
|
||||
this.label5.Name = "label5";
|
||||
this.label5.Size = new System.Drawing.Size(69, 12);
|
||||
this.label5.TabIndex = 2;
|
||||
this.label5.Text = "전체 수익율";
|
||||
//
|
||||
// label3
|
||||
//
|
||||
this.label3.AutoSize = true;
|
||||
this.label3.Location = new System.Drawing.Point(23, 59);
|
||||
this.label3.Name = "label3";
|
||||
this.label3.Size = new System.Drawing.Size(73, 12);
|
||||
this.label3.TabIndex = 1;
|
||||
this.label3.Text = "구입 종목 수";
|
||||
//
|
||||
// label4
|
||||
//
|
||||
this.label4.AutoSize = true;
|
||||
this.label4.Location = new System.Drawing.Point(7, 26);
|
||||
this.label4.Name = "label4";
|
||||
this.label4.Size = new System.Drawing.Size(89, 12);
|
||||
this.label4.TabIndex = 0;
|
||||
this.label4.Text = "계정 내 총 금액";
|
||||
//
|
||||
// bt_Start
|
||||
//
|
||||
this.bt_Start.Location = new System.Drawing.Point(1441, 737);
|
||||
this.bt_Start.Name = "bt_Start";
|
||||
this.bt_Start.Size = new System.Drawing.Size(75, 23);
|
||||
this.bt_Start.TabIndex = 7;
|
||||
this.bt_Start.Text = "Start";
|
||||
this.bt_Start.UseVisualStyleBackColor = true;
|
||||
this.bt_Start.Click += new System.EventHandler(this.bt_Start_Click);
|
||||
//
|
||||
// bt_Stop
|
||||
//
|
||||
this.bt_Stop.Location = new System.Drawing.Point(1522, 737);
|
||||
this.bt_Stop.Name = "bt_Stop";
|
||||
this.bt_Stop.Size = new System.Drawing.Size(75, 23);
|
||||
this.bt_Stop.TabIndex = 8;
|
||||
this.bt_Stop.Text = "Stop";
|
||||
this.bt_Stop.UseVisualStyleBackColor = true;
|
||||
this.bt_Stop.Click += new System.EventHandler(this.bt_Stop_Click);
|
||||
//
|
||||
// rd_Realtime
|
||||
//
|
||||
this.rd_Realtime.AutoSize = true;
|
||||
this.rd_Realtime.Checked = true;
|
||||
this.rd_Realtime.Location = new System.Drawing.Point(17, 19);
|
||||
this.rd_Realtime.Name = "rd_Realtime";
|
||||
this.rd_Realtime.Size = new System.Drawing.Size(123, 16);
|
||||
this.rd_Realtime.TabIndex = 9;
|
||||
this.rd_Realtime.TabStop = true;
|
||||
this.rd_Realtime.Text = "실시간 검증 Mode";
|
||||
this.rd_Realtime.UseVisualStyleBackColor = true;
|
||||
this.rd_Realtime.CheckedChanged += new System.EventHandler(this.rd_Realtime_CheckedChanged);
|
||||
//
|
||||
// rd_buyer
|
||||
//
|
||||
this.rd_buyer.AutoSize = true;
|
||||
this.rd_buyer.Location = new System.Drawing.Point(202, 20);
|
||||
this.rd_buyer.Name = "rd_buyer";
|
||||
this.rd_buyer.Size = new System.Drawing.Size(92, 16);
|
||||
this.rd_buyer.TabIndex = 10;
|
||||
this.rd_buyer.Text = "Buyer Mode";
|
||||
this.rd_buyer.UseVisualStyleBackColor = true;
|
||||
this.rd_buyer.CheckedChanged += new System.EventHandler(this.rd_buyer_CheckedChanged);
|
||||
//
|
||||
// tl_BuyList
|
||||
//
|
||||
this.tl_BuyList.Columns.AddRange(new DevExpress.XtraTreeList.Columns.TreeListColumn[] {
|
||||
this.BuyMarket,
|
||||
this.BuyValue,
|
||||
this.BuyCount,
|
||||
this.BuyDateTime});
|
||||
this.tl_BuyList.Location = new System.Drawing.Point(380, 31);
|
||||
this.tl_BuyList.Name = "tl_BuyList";
|
||||
this.tl_BuyList.Size = new System.Drawing.Size(415, 699);
|
||||
this.tl_BuyList.TabIndex = 11;
|
||||
//
|
||||
// tl_Result
|
||||
//
|
||||
this.tl_Result.Columns.AddRange(new DevExpress.XtraTreeList.Columns.TreeListColumn[] {
|
||||
this.Market,
|
||||
this.BuyValueData,
|
||||
this.BuyCountData,
|
||||
this.BuyDateTimeData,
|
||||
this.SellValueData,
|
||||
this.SellCountData,
|
||||
this.SellDateTimeData,
|
||||
this.RateData,
|
||||
this.MoneyData});
|
||||
this.tl_Result.Location = new System.Drawing.Point(801, 31);
|
||||
this.tl_Result.Name = "tl_Result";
|
||||
this.tl_Result.Size = new System.Drawing.Size(796, 699);
|
||||
this.tl_Result.TabIndex = 12;
|
||||
//
|
||||
// button1
|
||||
//
|
||||
this.button1.Location = new System.Drawing.Point(17, 737);
|
||||
this.button1.Name = "button1";
|
||||
this.button1.Size = new System.Drawing.Size(91, 23);
|
||||
this.button1.TabIndex = 13;
|
||||
this.button1.Text = "데이터 저장";
|
||||
this.button1.UseVisualStyleBackColor = true;
|
||||
this.button1.Click += new System.EventHandler(this.button1_Click);
|
||||
//
|
||||
// label8
|
||||
//
|
||||
this.label8.AutoSize = true;
|
||||
this.label8.Location = new System.Drawing.Point(378, 9);
|
||||
this.label8.Name = "label8";
|
||||
this.label8.Size = new System.Drawing.Size(57, 12);
|
||||
this.label8.TabIndex = 14;
|
||||
this.label8.Text = "구매 목록";
|
||||
//
|
||||
// label9
|
||||
//
|
||||
this.label9.AutoSize = true;
|
||||
this.label9.Location = new System.Drawing.Point(799, 9);
|
||||
this.label9.Name = "label9";
|
||||
this.label9.Size = new System.Drawing.Size(129, 12);
|
||||
this.label9.TabIndex = 15;
|
||||
this.label9.Text = "구매 및 판매 완료 목록";
|
||||
//
|
||||
// BuyMarket
|
||||
//
|
||||
this.BuyMarket.Caption = "구매 항목";
|
||||
this.BuyMarket.FieldName = "BuyMarket";
|
||||
this.BuyMarket.Name = "BuyMarket";
|
||||
this.BuyMarket.Visible = true;
|
||||
this.BuyMarket.VisibleIndex = 0;
|
||||
//
|
||||
// BuyValue
|
||||
//
|
||||
this.BuyValue.Caption = "구매 가격";
|
||||
this.BuyValue.FieldName = "BuyValue";
|
||||
this.BuyValue.Name = "BuyValue";
|
||||
this.BuyValue.Visible = true;
|
||||
this.BuyValue.VisibleIndex = 1;
|
||||
//
|
||||
// BuyCount
|
||||
//
|
||||
this.BuyCount.Caption = "구매 개수";
|
||||
this.BuyCount.FieldName = "BuyCount";
|
||||
this.BuyCount.Name = "BuyCount";
|
||||
this.BuyCount.Visible = true;
|
||||
this.BuyCount.VisibleIndex = 2;
|
||||
//
|
||||
// BuyDateTime
|
||||
//
|
||||
this.BuyDateTime.Caption = "검출 된 시간";
|
||||
this.BuyDateTime.FieldName = "BuyDateTime";
|
||||
this.BuyDateTime.Name = "BuyDateTime";
|
||||
this.BuyDateTime.Visible = true;
|
||||
this.BuyDateTime.VisibleIndex = 3;
|
||||
//
|
||||
// Market
|
||||
//
|
||||
this.Market.Caption = "항목";
|
||||
this.Market.FieldName = "Market";
|
||||
this.Market.Name = "Market";
|
||||
this.Market.Visible = true;
|
||||
this.Market.VisibleIndex = 0;
|
||||
//
|
||||
// BuyValueData
|
||||
//
|
||||
this.BuyValueData.Caption = "구매 가격";
|
||||
this.BuyValueData.FieldName = "BuyValueData";
|
||||
this.BuyValueData.Name = "BuyValueData";
|
||||
this.BuyValueData.Visible = true;
|
||||
this.BuyValueData.VisibleIndex = 1;
|
||||
//
|
||||
// BuyCountData
|
||||
//
|
||||
this.BuyCountData.Caption = "구매 개수";
|
||||
this.BuyCountData.FieldName = "BuyCountData";
|
||||
this.BuyCountData.Name = "BuyCountData";
|
||||
this.BuyCountData.Visible = true;
|
||||
this.BuyCountData.VisibleIndex = 2;
|
||||
//
|
||||
// BuyDateTimeData
|
||||
//
|
||||
this.BuyDateTimeData.Caption = "구매 시간";
|
||||
this.BuyDateTimeData.FieldName = "BuyDateTimeData";
|
||||
this.BuyDateTimeData.Name = "BuyDateTimeData";
|
||||
this.BuyDateTimeData.Visible = true;
|
||||
this.BuyDateTimeData.VisibleIndex = 3;
|
||||
//
|
||||
// SellValueData
|
||||
//
|
||||
this.SellValueData.Caption = "판매 가격";
|
||||
this.SellValueData.FieldName = "SellValueData";
|
||||
this.SellValueData.Name = "SellValueData";
|
||||
this.SellValueData.Visible = true;
|
||||
this.SellValueData.VisibleIndex = 4;
|
||||
//
|
||||
// SellCountData
|
||||
//
|
||||
this.SellCountData.Caption = "판매 개수";
|
||||
this.SellCountData.FieldName = "SellCountData";
|
||||
this.SellCountData.Name = "SellCountData";
|
||||
this.SellCountData.Visible = true;
|
||||
this.SellCountData.VisibleIndex = 5;
|
||||
//
|
||||
// SellDateTimeData
|
||||
//
|
||||
this.SellDateTimeData.Caption = "판매 시간";
|
||||
this.SellDateTimeData.FieldName = "SellDateTimeData";
|
||||
this.SellDateTimeData.Name = "SellDateTimeData";
|
||||
this.SellDateTimeData.Visible = true;
|
||||
this.SellDateTimeData.VisibleIndex = 6;
|
||||
//
|
||||
// RateData
|
||||
//
|
||||
this.RateData.Caption = "수익률";
|
||||
this.RateData.FieldName = "RateData";
|
||||
this.RateData.Name = "RateData";
|
||||
this.RateData.Visible = true;
|
||||
this.RateData.VisibleIndex = 7;
|
||||
//
|
||||
// MoneyData
|
||||
//
|
||||
this.MoneyData.Caption = "수익금";
|
||||
this.MoneyData.FieldName = "MoneyData";
|
||||
this.MoneyData.Name = "MoneyData";
|
||||
this.MoneyData.Visible = true;
|
||||
this.MoneyData.VisibleIndex = 8;
|
||||
//
|
||||
// lb_log
|
||||
//
|
||||
this.lb_log.FormattingEnabled = true;
|
||||
this.lb_log.ItemHeight = 12;
|
||||
this.lb_log.Location = new System.Drawing.Point(12, 366);
|
||||
this.lb_log.Name = "lb_log";
|
||||
this.lb_log.Size = new System.Drawing.Size(362, 364);
|
||||
this.lb_log.TabIndex = 16;
|
||||
//
|
||||
// label10
|
||||
//
|
||||
this.label10.AutoSize = true;
|
||||
this.label10.Location = new System.Drawing.Point(39, 161);
|
||||
this.label10.Name = "label10";
|
||||
this.label10.Size = new System.Drawing.Size(57, 12);
|
||||
this.label10.TabIndex = 8;
|
||||
this.label10.Text = "시작 시간";
|
||||
//
|
||||
// lb_StartDate
|
||||
//
|
||||
this.lb_StartDate.AutoSize = true;
|
||||
this.lb_StartDate.Location = new System.Drawing.Point(102, 161);
|
||||
this.lb_StartDate.Name = "lb_StartDate";
|
||||
this.lb_StartDate.Size = new System.Drawing.Size(0, 12);
|
||||
this.lb_StartDate.TabIndex = 9;
|
||||
//
|
||||
// MainForm
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(1609, 771);
|
||||
this.Controls.Add(this.lb_log);
|
||||
this.Controls.Add(this.label9);
|
||||
this.Controls.Add(this.label8);
|
||||
this.Controls.Add(this.button1);
|
||||
this.Controls.Add(this.tl_Result);
|
||||
this.Controls.Add(this.tl_BuyList);
|
||||
this.Controls.Add(this.rd_buyer);
|
||||
this.Controls.Add(this.rd_Realtime);
|
||||
this.Controls.Add(this.bt_Stop);
|
||||
this.Controls.Add(this.bt_Start);
|
||||
this.Controls.Add(this.groupBox1);
|
||||
this.Controls.Add(this.groupBox2);
|
||||
this.Name = "MainForm";
|
||||
this.Text = "Buyer";
|
||||
this.groupBox1.ResumeLayout(false);
|
||||
this.groupBox1.PerformLayout();
|
||||
this.groupBox2.ResumeLayout(false);
|
||||
this.groupBox2.PerformLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.tl_BuyList)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.tl_Result)).EndInit();
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private System.Windows.Forms.GroupBox groupBox1;
|
||||
private System.Windows.Forms.Label label6;
|
||||
private System.Windows.Forms.TextBox tb_CycleMoneyValue;
|
||||
private System.Windows.Forms.TextBox tb_CycleCount;
|
||||
private System.Windows.Forms.Label label2;
|
||||
private System.Windows.Forms.Label label1;
|
||||
private System.Windows.Forms.GroupBox groupBox2;
|
||||
private System.Windows.Forms.Label label7;
|
||||
private System.Windows.Forms.Label label5;
|
||||
private System.Windows.Forms.Label label3;
|
||||
private System.Windows.Forms.Label label4;
|
||||
private System.Windows.Forms.Button bt_Modify;
|
||||
private System.Windows.Forms.Label lb_BuyMarketCount;
|
||||
private System.Windows.Forms.Label lb_TotalMoney;
|
||||
private System.Windows.Forms.Label lb_TotalMoneyValue;
|
||||
private System.Windows.Forms.Label lb_TotalRate;
|
||||
private System.Windows.Forms.Button bt_Start;
|
||||
private System.Windows.Forms.Button bt_Stop;
|
||||
private System.Windows.Forms.Label lb_IndiName;
|
||||
private System.Windows.Forms.RadioButton rd_Realtime;
|
||||
private System.Windows.Forms.RadioButton rd_buyer;
|
||||
private DevExpress.XtraTreeList.TreeList tl_BuyList;
|
||||
private DevExpress.XtraTreeList.TreeList tl_Result;
|
||||
private System.Windows.Forms.Button button1;
|
||||
private System.Windows.Forms.Label label8;
|
||||
private System.Windows.Forms.Label label9;
|
||||
private DevExpress.XtraTreeList.Columns.TreeListColumn BuyMarket;
|
||||
private DevExpress.XtraTreeList.Columns.TreeListColumn BuyValue;
|
||||
private DevExpress.XtraTreeList.Columns.TreeListColumn BuyCount;
|
||||
private DevExpress.XtraTreeList.Columns.TreeListColumn BuyDateTime;
|
||||
private DevExpress.XtraTreeList.Columns.TreeListColumn Market;
|
||||
private DevExpress.XtraTreeList.Columns.TreeListColumn BuyValueData;
|
||||
private DevExpress.XtraTreeList.Columns.TreeListColumn BuyCountData;
|
||||
private DevExpress.XtraTreeList.Columns.TreeListColumn BuyDateTimeData;
|
||||
private DevExpress.XtraTreeList.Columns.TreeListColumn SellValueData;
|
||||
private DevExpress.XtraTreeList.Columns.TreeListColumn SellCountData;
|
||||
private DevExpress.XtraTreeList.Columns.TreeListColumn SellDateTimeData;
|
||||
private DevExpress.XtraTreeList.Columns.TreeListColumn RateData;
|
||||
private DevExpress.XtraTreeList.Columns.TreeListColumn MoneyData;
|
||||
private System.Windows.Forms.ListBox lb_log;
|
||||
private System.Windows.Forms.Label lb_StartDate;
|
||||
private System.Windows.Forms.Label label10;
|
||||
}
|
||||
}
|
||||
|
||||
513
Million Buyer/MainForm.cs
Normal file
513
Million Buyer/MainForm.cs
Normal file
@@ -0,0 +1,513 @@
|
||||
using DevExpress.XtraTreeList.Nodes;
|
||||
using Microsoft.CodeAnalysis.CSharp.Scripting;
|
||||
using Million;
|
||||
using Million.Data;
|
||||
using Million.DbManagement;
|
||||
using Million.IndicatorConditionSetup;
|
||||
using Million.Manager;
|
||||
using Million.SaveData;
|
||||
using Million_Buyer.SubForm;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Data;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Forms;
|
||||
using static Million.CommonProperty;
|
||||
|
||||
namespace Million_Buyer
|
||||
{
|
||||
public partial class MainForm : Form
|
||||
{
|
||||
bool RealTimeMode = true;
|
||||
public SavedResultData _saveResultData;
|
||||
bool SetIndicator = false;
|
||||
bool ThreadFlag = false;
|
||||
|
||||
Thread thread = null;
|
||||
|
||||
//결과 데이터
|
||||
List<SearchResult> resultDataList = new List<SearchResult>();
|
||||
|
||||
public MainForm()
|
||||
{
|
||||
InitializeComponent();
|
||||
Init();
|
||||
}
|
||||
|
||||
public void Init()
|
||||
{
|
||||
// data setting
|
||||
DbServiceFunctions.GetMarketTable_FromDB("Upbit", "KRW");
|
||||
|
||||
// Result Data DB에 생성
|
||||
Million.DbManagement.DBConnection.QueryUpdateExcuter
|
||||
(CommonProperty.DbConnectionResultData, DbServiceFunctions.CreateSavedAnalysisDataTableQuery());
|
||||
Million.DbManagement.DBConnection.QueryUpdateExcuter
|
||||
(CommonProperty.DbConnectionResultData, DbServiceFunctions.CreateSavedResultDataTableQuery());
|
||||
Million.DbManagement.DBConnection.QueryUpdateExcuter
|
||||
(CommonProperty.DbConnectionResultData, DbServiceFunctions.CreateRealTimeIndicatorTableQuery());
|
||||
|
||||
_saveResultData = new SavedResultData
|
||||
{
|
||||
BuySetupList = new List<object>(),
|
||||
SellSetupList = new List<object>()
|
||||
};
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 실시간 모드일 경우
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
private void rd_Realtime_CheckedChanged(object sender, EventArgs e)
|
||||
{
|
||||
SetReadOnly(true);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Buyer 모드일 경우
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
private void rd_buyer_CheckedChanged(object sender, EventArgs e)
|
||||
{
|
||||
SetReadOnly(false);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Read Only Set(모드 변경)
|
||||
/// </summary>
|
||||
/// <param name="flag"></param>
|
||||
private void SetReadOnly(bool flag)
|
||||
{
|
||||
RealTimeMode = flag;
|
||||
tb_CycleCount.ReadOnly = flag;
|
||||
tb_CycleMoneyValue.ReadOnly = flag;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 조건식 폼 띄우기
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
private void bt_Modify_Click(object sender, EventArgs e)
|
||||
{
|
||||
var subForm = new IndicatorLoadForm();
|
||||
if(subForm.ShowDialog() == DialogResult.OK)
|
||||
{
|
||||
_saveResultData.SellSetupList = ((List<object>)subForm.selectData["SellSetupList"]);
|
||||
_saveResultData.BuySetupList = ((List<object>)subForm.selectData["BuySetupList"]);
|
||||
_saveResultData.BuyRegularExpression = subForm.selectData["BuyRegularExpression"].ToString();
|
||||
_saveResultData.SellRegularExpression = subForm.selectData["SellRegularExpression"].ToString();
|
||||
lb_IndiName.Text = subForm.selectData["Name"].ToString();
|
||||
SetIndicator = true;
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// Start Button Event
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
private void bt_Start_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (!SetIndicator)
|
||||
{
|
||||
MessageBox.Show("Indicator Setting 필요");
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!ThreadFlag)
|
||||
{
|
||||
thread = new Thread(ThreadFunction);
|
||||
thread.Start();
|
||||
ThreadFlag = true;
|
||||
bt_Start.Enabled = false;
|
||||
rd_buyer.Enabled = false;
|
||||
rd_Realtime.Enabled = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Stop Button Event
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
private void bt_Stop_Click(object sender, EventArgs e)
|
||||
{
|
||||
ThreadFlag = false;
|
||||
if (!RealTimeMode && thread != null) thread.Abort();
|
||||
bt_Start.Enabled = true;
|
||||
rd_buyer.Enabled = true;
|
||||
rd_Realtime.Enabled = true;
|
||||
/*
|
||||
* 종료 된 후 데이터 처리 소스는 여기서 처리
|
||||
* 1. Grid에 Stop 후 데이터 처리
|
||||
* 2. 종료 후 데이터 저장 처리
|
||||
*/
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 실제 동작 Thread
|
||||
/// </summary>
|
||||
private void ThreadFunction()
|
||||
{
|
||||
var dataList = new Dictionary<MCandleTimeType, List<CandleDataList>>();
|
||||
|
||||
var sellIndicator = _saveResultData.SellSetupList.OfType<IndicatorCoditionSetup>().ToList();
|
||||
var buyIndicator = _saveResultData.BuySetupList.OfType<IndicatorCoditionSetup>().ToList();
|
||||
var totalIndicatorList = new List<IndicatorCoditionSetup>();
|
||||
|
||||
totalIndicatorList.AddRange(sellIndicator);
|
||||
totalIndicatorList.AddRange(buyIndicator);
|
||||
|
||||
var candleTypeList = totalIndicatorList.Select(t => t.MCandleTimeType).ToList();
|
||||
candleTypeList.Add(MCandleTimeType.M1);
|
||||
candleTypeList = candleTypeList.Distinct().ToList();
|
||||
|
||||
//사고 파는 rex 데이터 가져오는 부분
|
||||
var buyRex = _saveResultData.BuyRegularExpression;
|
||||
var sellRex = _saveResultData.SellRegularExpression;
|
||||
|
||||
var buyScript = new InteratorScripter();
|
||||
buyScript.regularExpressionString = buyRex;
|
||||
var sellScript = new InteratorScripter();
|
||||
sellScript.regularExpressionString = sellRex;
|
||||
|
||||
//save 데이터
|
||||
_saveResultData.StartDateTime = DateTime.Now;
|
||||
|
||||
//구매 데이터
|
||||
var buyList = new List<CandleDataList>();
|
||||
var saveFlag = true;
|
||||
|
||||
//구매 후 데이터 여러개 계속 겹치는 경우 제외하기 위한 List
|
||||
var overlapBuyManagementList = new Dictionary<string, bool>();
|
||||
|
||||
int firstFlag = 0;
|
||||
|
||||
RealtimeDataSettingManager realTimeMsg = null;
|
||||
|
||||
var standardTime = DateTime.Now;
|
||||
|
||||
this.Invoke(new Action(delegate ()
|
||||
{
|
||||
lb_StartDate.Text = standardTime.ToString("yyyy-MM-dd HH:mm:ss");
|
||||
}));
|
||||
|
||||
if (RealTimeFlag)
|
||||
InsertLog("실시간 검증 구동 중..");
|
||||
else
|
||||
InsertLog("Buyer 구동 중..");
|
||||
while (ThreadFlag)
|
||||
{
|
||||
# region 기본 데이터 Setting
|
||||
if (firstFlag == 0)
|
||||
{
|
||||
realTimeMsg = new RealtimeDataSettingManager(null, PaymentType.KRW);
|
||||
dataList = realTimeMsg.GetRealTimeCandleData(candleTypeList, 200);
|
||||
foreach (var item in realTimeMsg.codeFullNameList)
|
||||
{
|
||||
overlapBuyManagementList[item] = true;
|
||||
}
|
||||
firstFlag = 1;
|
||||
InsertLog("Deafult Data Setting 완료..");
|
||||
}
|
||||
else
|
||||
{
|
||||
if (firstFlag == 1)
|
||||
{
|
||||
dataList = realTimeMsg.ProcessRecentlyCandleDatas(dataList, candleTypeList);
|
||||
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
//Ticker 초기화
|
||||
if (DateTime.Now.Minute == 0 && saveFlag)
|
||||
{
|
||||
realTimeMsg.ClearTicker();
|
||||
InsertLog("Ticker Data Clear..");
|
||||
saveFlag = false;
|
||||
}
|
||||
else if (DateTime.Now.Minute > 1) saveFlag = true;
|
||||
|
||||
foreach (var item in realTimeMsg.codeFullNameList)
|
||||
{
|
||||
# region Indicator 계산 -> Code full name 으로 for문 돌면서 계산 처리
|
||||
|
||||
var dic = new Dictionary<MCandleTimeType, List<CandleData>>();
|
||||
var distinctIndicator = IndicatorSetupManager.Distinct(totalIndicatorList);
|
||||
|
||||
foreach (var key in dataList.Keys)
|
||||
{
|
||||
var candleDataList = dataList[key].FirstOrDefault(t => t.ConGoodsData.CodeFullName == item);
|
||||
dic[key] = candleDataList.CandleDataLists_Im;
|
||||
|
||||
var indicatorSetUpList = distinctIndicator.Where(t => t.MCandleTimeType == key).ToList();
|
||||
foreach (var setup in indicatorSetUpList)
|
||||
{
|
||||
setup.excute(dic[key], true);
|
||||
}
|
||||
}
|
||||
|
||||
var minDateTime = dic[MCandleTimeType.M1].Select(t => t.DateTime).Min();
|
||||
var maxDateTime = dic[MCandleTimeType.M1].Select(t => t.DateTime).Max().AddHours(1);
|
||||
|
||||
dic = IndicatorSetupManager.CalculateIndicator(dic, totalIndicatorList, minDateTime, maxDateTime, true);
|
||||
#endregion
|
||||
|
||||
#region 사고 파는 로직
|
||||
//최신 데이터 가져오기
|
||||
var recentlyData = dic[MCandleTimeType.M1][dic[MCandleTimeType.M1].Count - 1];
|
||||
if (recentlyData == null)
|
||||
continue;
|
||||
/*
|
||||
* 로직 설명
|
||||
* 1. Buy List에 있는지 확인
|
||||
* 2. 없을 경우 추가(Buy Script 처리)
|
||||
* 3. Buy List에 있을 경우 Sell Script 확인
|
||||
* 4. Sell 처리 후 결과 처리
|
||||
*/
|
||||
|
||||
//없을 시 -> BUY
|
||||
if (!buyList.Any(t => t.ConGoodsData.CodeFullName == item))
|
||||
{
|
||||
var flag = buyScript.DicExcuteScript(recentlyData.CalculateFlag);
|
||||
if (flag)
|
||||
{
|
||||
if (overlapBuyManagementList[item])
|
||||
{
|
||||
//if (resultDataList.Select(t => t.MarketData).ToList().Any(t => t.CodeFullName == item)) continue;
|
||||
var time = DateTime.Now;
|
||||
var buyData = new CandleDataList();
|
||||
buyData.CandleDataLists_Im.Add(recentlyData);
|
||||
var valDic = ResultLogicManager.GetIndicateValue(recentlyData.CalculateFlag, totalIndicatorList, recentlyData);
|
||||
|
||||
recentlyData.BuyValue = OrderbookManager.GetAskPrice(CalculateManager.GetConditionValue(buyRex, valDic, recentlyData.CalculateFlag));
|
||||
recentlyData.BuyTime = time;
|
||||
|
||||
// 임시 -> 실시간은 1개만 삿다고 처리
|
||||
recentlyData.BuyCount = 1;
|
||||
|
||||
buyData.ConGoodsData = dataList[MCandleTimeType.M1].FirstOrDefault(t => t.ConGoodsData.CodeFullName == item).ConGoodsData;
|
||||
buyList.Add(buyData);
|
||||
overlapBuyManagementList[item] = false;
|
||||
InsertLog(buyData.ConGoodsData.CodeFullName + " Market Data 구입 DateTime : " + time.ToString("yyyy-MM-dd HH:mm:ss"));
|
||||
//grid 처리 구매항목, 구매 가격, 구매 개수, 구매시점
|
||||
this.Invoke(new Action(delegate ()
|
||||
{
|
||||
tl_BuyList.AppendNode(new object[]
|
||||
{buyData.ConGoodsData.CodeFullName, recentlyData.BuyValue, recentlyData.BuyCount, time.ToString("yyyy-MM-dd HH:mm:ss") }, null);
|
||||
|
||||
lb_BuyMarketCount.Text = buyList.Count.ToString();
|
||||
}));
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
overlapBuyManagementList[item] = true;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
var flag = sellScript.DicExcuteScript(recentlyData.CalculateFlag);
|
||||
if (flag)
|
||||
{
|
||||
var buyItem = buyList.FirstOrDefault(x => x.ConGoodsData.CodeFullName == item);
|
||||
|
||||
var time = DateTime.Now;
|
||||
var sellItem = recentlyData;
|
||||
var valDic = ResultLogicManager.GetIndicateValue(sellItem.CalculateFlag, totalIndicatorList, sellItem);
|
||||
sellItem.SellValue = OrderbookManager.GetAskPrice(CalculateManager.GetConditionValue(sellRex, valDic, sellItem.CalculateFlag));
|
||||
sellItem.SellTime = time;
|
||||
|
||||
var buyCandleData = buyItem.CandleDataLists_Im[0];
|
||||
|
||||
var sellVal = sellItem.SellValue;
|
||||
|
||||
var result = new SearchResult();
|
||||
var rate = ((sellVal - buyCandleData.BuyValue) / buyCandleData.BuyValue) * 100;
|
||||
result.FirstEarningRate = rate;
|
||||
result.EndDate = sellItem.DateTime;
|
||||
result.CodeFullName = buyItem.ConGoodsData.CodeFullName;
|
||||
result.MarketData = buyItem.ConGoodsData;
|
||||
result.BuyEarningRate.Add(rate);
|
||||
result.BuyValueList.Add(buyCandleData.BuyValue);
|
||||
result.BuyList.ConGoodsData = buyItem.ConGoodsData;
|
||||
result.BuyList.CandleDataLists_Im.Add(buyItem.CandleDataLists_Im[0]);
|
||||
result.StartDate = buyItem.CandleDataLists_Im[0].DateTime;
|
||||
result.SellData = sellItem;
|
||||
result.SellValue = sellVal;
|
||||
result.TotalEarningRate = rate;
|
||||
result.WinCount = rate > 0 ? 1 : 0;
|
||||
result.LoseCount = rate < 0 ? 1 : 0;
|
||||
result.FirstWinFlag = rate > 0 ? true : false;
|
||||
|
||||
//실시간 검증은 1개로 처리
|
||||
result.BuyCount = buyItem.CandleDataLists_Im[0].BuyCount;
|
||||
result.SellCount = buyItem.CandleDataLists_Im[0].BuyCount;
|
||||
|
||||
resultDataList.Add(result);
|
||||
//처리한 buyList는 삭제
|
||||
buyList.Remove(buyItem);
|
||||
InsertLog(buyItem.ConGoodsData.CodeFullName + " Market Data 판매 DateTime : " + time.ToString("yyyy-MM-dd HH:mm:ss"));
|
||||
this.Invoke(new Action(delegate ()
|
||||
{
|
||||
//Grid 처리
|
||||
TreeListNode buyNode = null;
|
||||
|
||||
foreach (TreeListNode node in tl_BuyList.Nodes)
|
||||
{
|
||||
if (node.GetValue("BuyMarket").ToString() == buyItem.ConGoodsData.CodeFullName)
|
||||
{
|
||||
buyNode = node;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
var moneyVal = (sellVal * (1 - 0.0005) - buyCandleData.BuyValue * (1 - 0.0005)) * result.BuyCount;
|
||||
|
||||
tl_Result.AppendNode(new object[] {
|
||||
buyNode.GetValue("BuyMarket"),
|
||||
buyNode.GetValue("BuyValue"),
|
||||
buyNode.GetValue("BuyCount"),
|
||||
buyNode.GetValue("BuyDateTime"),
|
||||
sellVal,
|
||||
result.SellCount,
|
||||
time.ToString("yyyy-MM-dd HH:mm:ss"),
|
||||
result.FirstEarningRate,
|
||||
moneyVal}, null);
|
||||
|
||||
tl_BuyList.Nodes.Remove(buyNode);
|
||||
|
||||
|
||||
lb_BuyMarketCount.Text = buyList.Count.ToString();
|
||||
double totalRate = 0;
|
||||
double totalMoneyValue = 0;
|
||||
foreach (var resultData in resultDataList)
|
||||
{
|
||||
totalRate += resultData.FirstEarningRate;
|
||||
if (!RealTimeFlag)
|
||||
{
|
||||
// 총 돈량 측정
|
||||
totalMoneyValue += (resultData.SellValue * (1 - 0.0005) - resultData.BuyValueList[0] * (1 - 0.0005)) * resultData.BuyCount;
|
||||
}
|
||||
}
|
||||
|
||||
lb_TotalRate.Text = totalRate + "%";
|
||||
|
||||
if (!RealTimeFlag)
|
||||
lb_TotalMoneyValue.Text = totalMoneyValue + "원";
|
||||
}));
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
|
||||
//Stop 시 저장 -> Real Time의 경우 Search Result List만 저장
|
||||
if (RealTimeFlag)
|
||||
{
|
||||
SaveData(resultDataList);
|
||||
}
|
||||
else
|
||||
{
|
||||
//이거는 결정해야함
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// 데이터 저장 기능
|
||||
/// </summary>
|
||||
/// <param name="resultDataList"></param>
|
||||
public void SaveData(List<SearchResult> resultDataList)
|
||||
{
|
||||
if (resultDataList.Count > 0)
|
||||
{
|
||||
_saveResultData.EndDateTime = DateTime.Now;
|
||||
_saveResultData.SavedDateTime = DateTime.Now;
|
||||
_saveResultData.SearchResultList = resultDataList;
|
||||
|
||||
//수익 률 계산 로직 -> 이거는 추후 빼도 될듯
|
||||
double totalVal = 0;
|
||||
double win = 0;
|
||||
double lose = 0;
|
||||
double firstProfitRate = 0;
|
||||
double firstWin = 0;
|
||||
|
||||
//승률, 수익률 계산
|
||||
foreach (var item in resultDataList)
|
||||
{
|
||||
if (item.FirstWinFlag) firstWin++;
|
||||
|
||||
firstProfitRate += item.FirstEarningRate;
|
||||
win += item.WinCount;
|
||||
lose += item.LoseCount;
|
||||
totalVal += item.TotalEarningRate;
|
||||
}
|
||||
double winRate;
|
||||
if (win == 0)
|
||||
{
|
||||
winRate = 0;
|
||||
}
|
||||
else if (lose == 0)
|
||||
{
|
||||
winRate = 100;
|
||||
}
|
||||
else
|
||||
{
|
||||
winRate = (win * 100 / (win + lose));
|
||||
}
|
||||
_saveResultData.ResultDataCount = resultDataList.Count;
|
||||
_saveResultData.FirstWinRate = (firstWin * 100) / resultDataList.Count;
|
||||
_saveResultData.FirstProfitRate = firstProfitRate;
|
||||
_saveResultData.WinRate = winRate;
|
||||
_saveResultData.ProfitRate = totalVal / resultDataList.Count;
|
||||
_saveResultData.SearchResultList = resultDataList;
|
||||
_saveResultData.Name = _saveResultData.SavedDateTime.ToString("yyyy-MM-dd HH:mm:ss") + " Realtime Result";
|
||||
_saveResultData.Type = "Data";
|
||||
_saveResultData.SaveResultType = "Realtime";
|
||||
_saveResultData.ExchangePlace = "Upbit";
|
||||
_saveResultData.ParentId = null;
|
||||
|
||||
DBConnection.QueryInsertExcuter_SavedResultData(_saveResultData);
|
||||
|
||||
_saveResultData.StartDateTime = DateTime.Now;
|
||||
resultDataList.Clear();
|
||||
MessageBox.Show("데이터 저장 완료");
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 데이터 저장 기능
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
private void button1_Click(object sender, EventArgs e)
|
||||
{
|
||||
SaveData(resultDataList);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Text Area 에 Log 입력
|
||||
/// </summary>
|
||||
/// <param name="log"></param>
|
||||
private void InsertLog(string log)
|
||||
{
|
||||
this.Invoke(new Action(delegate ()
|
||||
{
|
||||
if (lb_log.Items.Count > 500)
|
||||
{
|
||||
lb_log.Items.Clear();
|
||||
}
|
||||
lb_log.Items.Insert(0, log);
|
||||
}));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
is_global = true
|
||||
build_property.TargetFramework =
|
||||
build_property.TargetPlatformMinVersion =
|
||||
build_property.UsingMicrosoftNETSdkWeb =
|
||||
build_property.ProjectTypeGuids =
|
||||
build_property.InvariantGlobalization =
|
||||
build_property.PlatformNeutralAssembly =
|
||||
build_property._SupportedPlatformList =
|
||||
@@ -1,5 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="..\packages\Microsoft.CodeAnalysis.Analyzers.3.3.3\build\Microsoft.CodeAnalysis.Analyzers.props" Condition="Exists('..\packages\Microsoft.CodeAnalysis.Analyzers.3.3.3\build\Microsoft.CodeAnalysis.Analyzers.props')" />
|
||||
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
@@ -12,6 +13,8 @@
|
||||
<FileAlignment>512</FileAlignment>
|
||||
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
|
||||
<Deterministic>true</Deterministic>
|
||||
<NuGetPackageImportStamp>
|
||||
</NuGetPackageImportStamp>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||
@@ -53,8 +56,51 @@
|
||||
<Prefer32Bit>true</Prefer32Bit>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="DevExpress.Data.v18.2, Version=18.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
|
||||
<Reference Include="DevExpress.Printing.v18.2.Core, Version=18.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
|
||||
<Reference Include="DevExpress.Utils.v18.2, Version=18.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
|
||||
<Reference Include="DevExpress.XtraEditors.v18.2, Version=18.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
|
||||
<Reference Include="DevExpress.XtraLayout.v18.2, Version=18.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
|
||||
<Reference Include="DevExpress.XtraTreeList.v18.2, Version=18.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
|
||||
<Reference Include="Microsoft.CodeAnalysis, Version=4.3.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.CodeAnalysis.Common.4.3.0\lib\netstandard2.0\Microsoft.CodeAnalysis.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.CodeAnalysis.CSharp, Version=4.3.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.CodeAnalysis.CSharp.4.3.0\lib\netstandard2.0\Microsoft.CodeAnalysis.CSharp.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.CodeAnalysis.CSharp.Scripting, Version=4.3.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.CodeAnalysis.CSharp.Scripting.4.3.0\lib\netstandard2.0\Microsoft.CodeAnalysis.CSharp.Scripting.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.CodeAnalysis.Scripting, Version=4.3.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.CodeAnalysis.Scripting.Common.4.3.0\lib\netstandard2.0\Microsoft.CodeAnalysis.Scripting.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Buffers, Version=4.0.3.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\System.Buffers.4.5.1\lib\net461\System.Buffers.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Collections.Immutable, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\System.Collections.Immutable.6.0.0\lib\net461\System.Collections.Immutable.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Core" />
|
||||
<Reference Include="System.Memory, Version=4.0.1.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\System.Memory.4.5.4\lib\net461\System.Memory.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Numerics" />
|
||||
<Reference Include="System.Numerics.Vectors, Version=4.1.4.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\System.Numerics.Vectors.4.5.0\lib\net46\System.Numerics.Vectors.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Reflection.Metadata, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\System.Reflection.Metadata.5.0.0\lib\net461\System.Reflection.Metadata.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Runtime.CompilerServices.Unsafe, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\System.Runtime.CompilerServices.Unsafe.6.0.0\lib\net461\System.Runtime.CompilerServices.Unsafe.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Text.Encoding.CodePages, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\System.Text.Encoding.CodePages.6.0.0\lib\net461\System.Text.Encoding.CodePages.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Threading.Tasks.Extensions, Version=4.2.0.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\System.Threading.Tasks.Extensions.4.5.4\lib\net461\System.Threading.Tasks.Extensions.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Xml.Linq" />
|
||||
<Reference Include="System.Data.DataSetExtensions" />
|
||||
<Reference Include="Microsoft.CSharp" />
|
||||
@@ -66,17 +112,24 @@
|
||||
<Reference Include="System.Xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="Form1.cs">
|
||||
<Compile Include="MainForm.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Form1.Designer.cs">
|
||||
<DependentUpon>Form1.cs</DependentUpon>
|
||||
<Compile Include="MainForm.Designer.cs">
|
||||
<DependentUpon>MainForm.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Program.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<EmbeddedResource Include="Form1.resx">
|
||||
<DependentUpon>Form1.cs</DependentUpon>
|
||||
<Compile Include="SubForm\IndicatorLoad.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="SubForm\IndicatorLoad.Designer.cs">
|
||||
<DependentUpon>IndicatorLoad.cs</DependentUpon>
|
||||
</Compile>
|
||||
<EmbeddedResource Include="MainForm.resx">
|
||||
<DependentUpon>MainForm.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Properties\licenses.licx" />
|
||||
<EmbeddedResource Include="Properties\Resources.resx">
|
||||
<Generator>ResXFileCodeGenerator</Generator>
|
||||
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
|
||||
@@ -86,6 +139,10 @@
|
||||
<AutoGen>True</AutoGen>
|
||||
<DependentUpon>Resources.resx</DependentUpon>
|
||||
</Compile>
|
||||
<EmbeddedResource Include="SubForm\IndicatorLoad.resx">
|
||||
<DependentUpon>IndicatorLoad.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<None Include="packages.config" />
|
||||
<None Include="Properties\Settings.settings">
|
||||
<Generator>SettingsSingleFileGenerator</Generator>
|
||||
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
|
||||
@@ -105,5 +162,17 @@
|
||||
<Name>Million Core</Name>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Analyzer Include="..\packages\Microsoft.CodeAnalysis.Analyzers.3.3.3\analyzers\dotnet\cs\Microsoft.CodeAnalysis.Analyzers.dll" />
|
||||
<Analyzer Include="..\packages\Microsoft.CodeAnalysis.Analyzers.3.3.3\analyzers\dotnet\cs\Microsoft.CodeAnalysis.CSharp.Analyzers.dll" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
|
||||
<PropertyGroup>
|
||||
<ErrorText>이 프로젝트는 이 컴퓨터에 없는 NuGet 패키지를 참조합니다. 해당 패키지를 다운로드하려면 NuGet 패키지 복원을 사용하십시오. 자세한 내용은 http://go.microsoft.com/fwlink/?LinkID=322105를 참조하십시오. 누락된 파일은 {0}입니다.</ErrorText>
|
||||
</PropertyGroup>
|
||||
<Error Condition="!Exists('..\packages\Microsoft.CodeAnalysis.Analyzers.3.3.3\build\Microsoft.CodeAnalysis.Analyzers.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.CodeAnalysis.Analyzers.3.3.3\build\Microsoft.CodeAnalysis.Analyzers.props'))" />
|
||||
<Error Condition="!Exists('..\packages\Microsoft.CodeAnalysis.Analyzers.3.3.3\build\Microsoft.CodeAnalysis.Analyzers.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.CodeAnalysis.Analyzers.3.3.3\build\Microsoft.CodeAnalysis.Analyzers.targets'))" />
|
||||
</Target>
|
||||
<Import Project="..\packages\Microsoft.CodeAnalysis.Analyzers.3.3.3\build\Microsoft.CodeAnalysis.Analyzers.targets" Condition="Exists('..\packages\Microsoft.CodeAnalysis.Analyzers.3.3.3\build\Microsoft.CodeAnalysis.Analyzers.targets')" />
|
||||
</Project>
|
||||
@@ -16,7 +16,7 @@ namespace Million_Buyer
|
||||
{
|
||||
Application.EnableVisualStyles();
|
||||
Application.SetCompatibleTextRenderingDefault(false);
|
||||
Application.Run(new Form1());
|
||||
Application.Run(new MainForm());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
2
Million Buyer/Properties/licenses.licx
Normal file
2
Million Buyer/Properties/licenses.licx
Normal file
@@ -0,0 +1,2 @@
|
||||
DevExpress.XtraTreeList.TreeList, DevExpress.XtraTreeList.v18.2, Version=18.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
|
||||
DevExpress.XtraEditors.ComboBoxEdit, DevExpress.XtraEditors.v18.2, Version=18.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
|
||||
173
Million Buyer/SubForm/IndicatorLoad.Designer.cs
generated
Normal file
173
Million Buyer/SubForm/IndicatorLoad.Designer.cs
generated
Normal file
@@ -0,0 +1,173 @@
|
||||
|
||||
namespace Million_Buyer.SubForm
|
||||
{
|
||||
partial class IndicatorLoadForm
|
||||
{
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// Clean up any resources being used.
|
||||
/// </summary>
|
||||
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && (components != null))
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
#region Windows Form Designer generated code
|
||||
|
||||
/// <summary>
|
||||
/// Required method for Designer support - do not modify
|
||||
/// the contents of this method with the code editor.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.tl_Indicator = new DevExpress.XtraTreeList.TreeList();
|
||||
this.Id = new DevExpress.XtraTreeList.Columns.TreeListColumn();
|
||||
this.NameField = new DevExpress.XtraTreeList.Columns.TreeListColumn();
|
||||
this.SavedDateTime = new DevExpress.XtraTreeList.Columns.TreeListColumn();
|
||||
this.BuyRegularExpression = new DevExpress.XtraTreeList.Columns.TreeListColumn();
|
||||
this.SellRegularExpression = new DevExpress.XtraTreeList.Columns.TreeListColumn();
|
||||
this.bt_Cancel = new System.Windows.Forms.Button();
|
||||
this.bt_Ok = new System.Windows.Forms.Button();
|
||||
this.bt_Delete = new System.Windows.Forms.Button();
|
||||
this.bt_Modify = new System.Windows.Forms.Button();
|
||||
((System.ComponentModel.ISupportInitialize)(this.tl_Indicator)).BeginInit();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// tl_Indicator
|
||||
//
|
||||
this.tl_Indicator.Columns.AddRange(new DevExpress.XtraTreeList.Columns.TreeListColumn[] {
|
||||
this.Id,
|
||||
this.NameField,
|
||||
this.SavedDateTime,
|
||||
this.BuyRegularExpression,
|
||||
this.SellRegularExpression});
|
||||
this.tl_Indicator.Cursor = System.Windows.Forms.Cursors.Default;
|
||||
this.tl_Indicator.Location = new System.Drawing.Point(12, 12);
|
||||
this.tl_Indicator.Name = "tl_Indicator";
|
||||
this.tl_Indicator.Size = new System.Drawing.Size(718, 388);
|
||||
this.tl_Indicator.TabIndex = 12;
|
||||
//
|
||||
// Id
|
||||
//
|
||||
this.Id.Caption = "ID";
|
||||
this.Id.FieldName = "Id";
|
||||
this.Id.Name = "Id";
|
||||
this.Id.OptionsColumn.ReadOnly = true;
|
||||
this.Id.Visible = true;
|
||||
this.Id.VisibleIndex = 0;
|
||||
//
|
||||
// NameField
|
||||
//
|
||||
this.NameField.Caption = "Name";
|
||||
this.NameField.FieldName = "NameField";
|
||||
this.NameField.Name = "NameField";
|
||||
this.NameField.OptionsColumn.ReadOnly = true;
|
||||
this.NameField.Visible = true;
|
||||
this.NameField.VisibleIndex = 1;
|
||||
//
|
||||
// SavedDateTime
|
||||
//
|
||||
this.SavedDateTime.Caption = "Save Datetime";
|
||||
this.SavedDateTime.FieldName = "SavedDateTime";
|
||||
this.SavedDateTime.Name = "SavedDateTime";
|
||||
this.SavedDateTime.OptionsColumn.ReadOnly = true;
|
||||
this.SavedDateTime.Visible = true;
|
||||
this.SavedDateTime.VisibleIndex = 2;
|
||||
//
|
||||
// BuyRegularExpression
|
||||
//
|
||||
this.BuyRegularExpression.Caption = "Buy Reg";
|
||||
this.BuyRegularExpression.FieldName = "BuyRegularExpression";
|
||||
this.BuyRegularExpression.Name = "BuyRegularExpression";
|
||||
this.BuyRegularExpression.OptionsColumn.ReadOnly = true;
|
||||
this.BuyRegularExpression.Visible = true;
|
||||
this.BuyRegularExpression.VisibleIndex = 3;
|
||||
//
|
||||
// SellRegularExpression
|
||||
//
|
||||
this.SellRegularExpression.Caption = "Sell Reg";
|
||||
this.SellRegularExpression.FieldName = "SellRegularExpression";
|
||||
this.SellRegularExpression.Name = "SellRegularExpression";
|
||||
this.SellRegularExpression.OptionsColumn.ReadOnly = true;
|
||||
this.SellRegularExpression.Visible = true;
|
||||
this.SellRegularExpression.VisibleIndex = 4;
|
||||
//
|
||||
// bt_Cancel
|
||||
//
|
||||
this.bt_Cancel.Location = new System.Drawing.Point(655, 415);
|
||||
this.bt_Cancel.Name = "bt_Cancel";
|
||||
this.bt_Cancel.Size = new System.Drawing.Size(75, 23);
|
||||
this.bt_Cancel.TabIndex = 14;
|
||||
this.bt_Cancel.Text = "Cancel";
|
||||
this.bt_Cancel.UseVisualStyleBackColor = true;
|
||||
this.bt_Cancel.Click += new System.EventHandler(this.bt_Cancel_Click);
|
||||
//
|
||||
// bt_Ok
|
||||
//
|
||||
this.bt_Ok.Location = new System.Drawing.Point(574, 415);
|
||||
this.bt_Ok.Name = "bt_Ok";
|
||||
this.bt_Ok.Size = new System.Drawing.Size(75, 23);
|
||||
this.bt_Ok.TabIndex = 13;
|
||||
this.bt_Ok.Text = "OK";
|
||||
this.bt_Ok.UseVisualStyleBackColor = true;
|
||||
this.bt_Ok.Click += new System.EventHandler(this.bt_Ok_Click);
|
||||
//
|
||||
// bt_Delete
|
||||
//
|
||||
this.bt_Delete.Location = new System.Drawing.Point(105, 415);
|
||||
this.bt_Delete.Name = "bt_Delete";
|
||||
this.bt_Delete.Size = new System.Drawing.Size(75, 23);
|
||||
this.bt_Delete.TabIndex = 15;
|
||||
this.bt_Delete.Text = "Delete";
|
||||
this.bt_Delete.UseVisualStyleBackColor = true;
|
||||
this.bt_Delete.Click += new System.EventHandler(this.bt_Delete_Click);
|
||||
//
|
||||
// bt_Modify
|
||||
//
|
||||
this.bt_Modify.Location = new System.Drawing.Point(12, 415);
|
||||
this.bt_Modify.Name = "bt_Modify";
|
||||
this.bt_Modify.Size = new System.Drawing.Size(75, 23);
|
||||
this.bt_Modify.TabIndex = 16;
|
||||
this.bt_Modify.Text = "Modify";
|
||||
this.bt_Modify.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// IndicatorLoadForm
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(742, 450);
|
||||
this.Controls.Add(this.bt_Modify);
|
||||
this.Controls.Add(this.bt_Delete);
|
||||
this.Controls.Add(this.bt_Cancel);
|
||||
this.Controls.Add(this.bt_Ok);
|
||||
this.Controls.Add(this.tl_Indicator);
|
||||
this.Name = "IndicatorLoadForm";
|
||||
this.Text = "IndicatorLoad";
|
||||
((System.ComponentModel.ISupportInitialize)(this.tl_Indicator)).EndInit();
|
||||
this.ResumeLayout(false);
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private DevExpress.XtraTreeList.TreeList tl_Indicator;
|
||||
private System.Windows.Forms.Button bt_Cancel;
|
||||
private System.Windows.Forms.Button bt_Ok;
|
||||
private DevExpress.XtraTreeList.Columns.TreeListColumn Id;
|
||||
private DevExpress.XtraTreeList.Columns.TreeListColumn NameField;
|
||||
private DevExpress.XtraTreeList.Columns.TreeListColumn SavedDateTime;
|
||||
private DevExpress.XtraTreeList.Columns.TreeListColumn BuyRegularExpression;
|
||||
private DevExpress.XtraTreeList.Columns.TreeListColumn SellRegularExpression;
|
||||
private System.Windows.Forms.Button bt_Delete;
|
||||
private System.Windows.Forms.Button bt_Modify;
|
||||
}
|
||||
}
|
||||
93
Million Buyer/SubForm/IndicatorLoad.cs
Normal file
93
Million Buyer/SubForm/IndicatorLoad.cs
Normal file
@@ -0,0 +1,93 @@
|
||||
using DevExpress.XtraTreeList.Columns;
|
||||
using Million;
|
||||
using Million.DbManagement;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Data;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace Million_Buyer.SubForm
|
||||
{
|
||||
public partial class IndicatorLoadForm : Form
|
||||
{
|
||||
public List<Dictionary<string, object>> datas = null;
|
||||
int id = 0;
|
||||
public Dictionary<string, object> selectData = null;
|
||||
public IndicatorLoadForm()
|
||||
{
|
||||
InitializeComponent();
|
||||
Init();
|
||||
}
|
||||
|
||||
private void Init()
|
||||
{
|
||||
tl_Indicator.ClearNodes();
|
||||
|
||||
datas = DBConnection.QueryGetExcuter_RealTimeIndicator();
|
||||
|
||||
if (datas.Count > 0)
|
||||
{
|
||||
tl_Indicator.BeginUnboundLoad();
|
||||
foreach (var item in datas)
|
||||
{
|
||||
tl_Indicator.AppendNode(new object[]
|
||||
{
|
||||
item["Id"],
|
||||
item["Name"],
|
||||
((DateTime)item["SavedDateTime"]).ToString("yyyy-MM-dd HH:mm:ss"),
|
||||
item["BuyRegularExpression"],
|
||||
item["SellRegularExpression"]
|
||||
}, null);
|
||||
}
|
||||
tl_Indicator.EndUnboundLoad();
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// cancel 버튼
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
private void bt_Cancel_Click(object sender, EventArgs e)
|
||||
{
|
||||
this.Close();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// ok 버튼
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
private void bt_Ok_Click(object sender, EventArgs e)
|
||||
{
|
||||
try
|
||||
{
|
||||
var data = tl_Indicator.Selection.First();
|
||||
if (data != null)
|
||||
{
|
||||
var strId = data["Id"].ToString();
|
||||
selectData = datas.FirstOrDefault(t => t["Id"].ToString() == strId);
|
||||
this.DialogResult = DialogResult.OK;
|
||||
}
|
||||
this.Close();
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
MessageBox.Show(ex.Message);
|
||||
}
|
||||
}
|
||||
|
||||
private void bt_Delete_Click(object sender, EventArgs e)
|
||||
{
|
||||
var strId = tl_Indicator.Selection.First()["Id"].ToString();
|
||||
DBConnection.QueryUpdateExcuter(CommonProperty.DbConnectionResultData,
|
||||
"DELETE FROM [ResultData].[dbo].[RealTimeIndicator] WHERE Id = " + strId);
|
||||
Init();
|
||||
}
|
||||
}
|
||||
}
|
||||
120
Million Buyer/SubForm/IndicatorLoad.resx
Normal file
120
Million Buyer/SubForm/IndicatorLoad.resx
Normal file
@@ -0,0 +1,120 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
</root>
|
||||
@@ -1,7 +1,21 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<packages>
|
||||
<package id="Microsoft.CodeAnalysis.Analyzers" version="3.3.3" targetFramework="net48" developmentDependency="true" />
|
||||
<package id="Microsoft.CodeAnalysis.Common" version="4.3.0" targetFramework="net48" />
|
||||
<package id="Microsoft.CodeAnalysis.CSharp" version="4.3.0" targetFramework="net48" />
|
||||
<package id="Microsoft.CodeAnalysis.CSharp.Scripting" version="4.3.0" targetFramework="net48" />
|
||||
<package id="Microsoft.CodeAnalysis.Scripting.Common" version="4.3.0" targetFramework="net48" />
|
||||
<package id="Microsoft.CSharp" version="4.7.0" targetFramework="net48" />
|
||||
<package id="Microsoft.IdentityModel.JsonWebTokens" version="6.12.0" targetFramework="net48" />
|
||||
<package id="Microsoft.IdentityModel.Logging" version="6.12.0" targetFramework="net48" />
|
||||
<package id="Microsoft.IdentityModel.Tokens" version="6.12.0" targetFramework="net48" />
|
||||
<package id="System.Buffers" version="4.5.1" targetFramework="net48" />
|
||||
<package id="System.Collections.Immutable" version="6.0.0" targetFramework="net48" />
|
||||
<package id="System.IdentityModel.Tokens.Jwt" version="6.12.0" targetFramework="net48" />
|
||||
<package id="System.Memory" version="4.5.4" targetFramework="net48" />
|
||||
<package id="System.Numerics.Vectors" version="4.5.0" targetFramework="net48" />
|
||||
<package id="System.Reflection.Metadata" version="5.0.0" targetFramework="net48" />
|
||||
<package id="System.Runtime.CompilerServices.Unsafe" version="6.0.0" targetFramework="net48" />
|
||||
<package id="System.Text.Encoding.CodePages" version="6.0.0" targetFramework="net48" />
|
||||
<package id="System.Threading.Tasks.Extensions" version="4.5.4" targetFramework="net48" />
|
||||
</packages>
|
||||
37
Million Hunter/HunterMainForm.Designer.cs
generated
37
Million Hunter/HunterMainForm.Designer.cs
generated
@@ -54,6 +54,9 @@ namespace Million
|
||||
this.treeListColumn2 = new DevExpress.XtraTreeList.Columns.TreeListColumn();
|
||||
this.treeListColumn3 = new DevExpress.XtraTreeList.Columns.TreeListColumn();
|
||||
this.groupBox6 = new System.Windows.Forms.GroupBox();
|
||||
this.label1 = new System.Windows.Forms.Label();
|
||||
this.tb_BuyerIndicatorName = new System.Windows.Forms.TextBox();
|
||||
this.bt_InsertBuyerIndicator = new DevExpress.XtraEditors.SimpleButton();
|
||||
this.simpleButton_SaveTest = new DevExpress.XtraEditors.SimpleButton();
|
||||
this.simpleButton_CalcurateData = new DevExpress.XtraEditors.SimpleButton();
|
||||
this.simpleButton_ViewResultData = new DevExpress.XtraEditors.SimpleButton();
|
||||
@@ -387,6 +390,9 @@ namespace Million
|
||||
//
|
||||
this.groupBox6.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.groupBox6.Controls.Add(this.label1);
|
||||
this.groupBox6.Controls.Add(this.tb_BuyerIndicatorName);
|
||||
this.groupBox6.Controls.Add(this.bt_InsertBuyerIndicator);
|
||||
this.groupBox6.Controls.Add(this.simpleButton_SaveTest);
|
||||
this.groupBox6.Controls.Add(this.simpleButton_CalcurateData);
|
||||
this.groupBox6.Controls.Add(this.simpleButton_ViewResultData);
|
||||
@@ -397,10 +403,35 @@ namespace Million
|
||||
this.groupBox6.TabStop = false;
|
||||
this.groupBox6.Text = "결과 보기";
|
||||
//
|
||||
// label1
|
||||
//
|
||||
this.label1.AutoSize = true;
|
||||
this.label1.Location = new System.Drawing.Point(210, 30);
|
||||
this.label1.Name = "label1";
|
||||
this.label1.Size = new System.Drawing.Size(47, 12);
|
||||
this.label1.TabIndex = 5;
|
||||
this.label1.Text = "Name :";
|
||||
//
|
||||
// tb_BuyerIndicatorName
|
||||
//
|
||||
this.tb_BuyerIndicatorName.Location = new System.Drawing.Point(263, 27);
|
||||
this.tb_BuyerIndicatorName.Name = "tb_BuyerIndicatorName";
|
||||
this.tb_BuyerIndicatorName.Size = new System.Drawing.Size(126, 21);
|
||||
this.tb_BuyerIndicatorName.TabIndex = 4;
|
||||
//
|
||||
// bt_InsertBuyerIndicator
|
||||
//
|
||||
this.bt_InsertBuyerIndicator.Location = new System.Drawing.Point(395, 20);
|
||||
this.bt_InsertBuyerIndicator.Name = "bt_InsertBuyerIndicator";
|
||||
this.bt_InsertBuyerIndicator.Size = new System.Drawing.Size(118, 30);
|
||||
this.bt_InsertBuyerIndicator.TabIndex = 3;
|
||||
this.bt_InsertBuyerIndicator.Text = "Buyer 정규식에 추가";
|
||||
this.bt_InsertBuyerIndicator.Click += new System.EventHandler(this.bt_InsertBuyerIndicator_Click);
|
||||
//
|
||||
// simpleButton_SaveTest
|
||||
//
|
||||
this.simpleButton_SaveTest.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.simpleButton_SaveTest.Location = new System.Drawing.Point(530, 20);
|
||||
this.simpleButton_SaveTest.Location = new System.Drawing.Point(557, 20);
|
||||
this.simpleButton_SaveTest.Name = "simpleButton_SaveTest";
|
||||
this.simpleButton_SaveTest.Size = new System.Drawing.Size(97, 31);
|
||||
this.simpleButton_SaveTest.TabIndex = 2;
|
||||
@@ -552,6 +583,7 @@ namespace Million
|
||||
this.groupBox4.ResumeLayout(false);
|
||||
((System.ComponentModel.ISupportInitialize)(this.treeList_SellSetupList)).EndInit();
|
||||
this.groupBox6.ResumeLayout(false);
|
||||
this.groupBox6.PerformLayout();
|
||||
this.groupBox7.ResumeLayout(false);
|
||||
this.splitContainer_SetupPanel.Panel1.ResumeLayout(false);
|
||||
this.splitContainer_SetupPanel.Panel2.ResumeLayout(false);
|
||||
@@ -607,6 +639,9 @@ namespace Million
|
||||
private System.Windows.Forms.GroupBox groupBox9;
|
||||
private DevExpress.XtraEditors.SimpleButton simpleButton_SaveTest;
|
||||
public DevExpress.XtraEditors.SimpleButton simpleButton_ViewResultData;
|
||||
private DevExpress.XtraEditors.SimpleButton bt_InsertBuyerIndicator;
|
||||
private System.Windows.Forms.Label label1;
|
||||
private System.Windows.Forms.TextBox tb_BuyerIndicatorName;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -80,7 +80,8 @@ namespace Million
|
||||
(CommonProperty.DbConnectionResultData, DbServiceFunctions.CreateSavedAnalysisDataTableQuery());
|
||||
Million.DbManagement.DBConnection.QueryUpdateExcuter
|
||||
(CommonProperty.DbConnectionResultData, DbServiceFunctions.CreateSavedResultDataTableQuery());
|
||||
|
||||
Million.DbManagement.DBConnection.QueryUpdateExcuter
|
||||
(CommonProperty.DbConnectionResultData, DbServiceFunctions.CreateRealTimeIndicatorTableQuery());
|
||||
}
|
||||
|
||||
// 지표 콤보박스 클릭 시 이벤트
|
||||
@@ -376,7 +377,8 @@ namespace Million
|
||||
|
||||
if (buy.BuyValue < sell.SellValue) t1++;
|
||||
}
|
||||
|
||||
_saveResultData.EndDateTime = DateTime.Now;
|
||||
_saveResultData.SavedDateTime = DateTime.Now;
|
||||
|
||||
tt /= totalResultList.Count;
|
||||
_saveResultData.ResultDataCount = totalResultList.Count;
|
||||
@@ -385,7 +387,12 @@ namespace Million
|
||||
_saveResultData.WinRate = winRate;
|
||||
_saveResultData.ProfitRate = totalVal / totalResultList.Count;
|
||||
_saveResultData.SearchResultList = totalResultList;
|
||||
|
||||
_saveResultData.Name = _saveResultData.SavedDateTime.ToString("yyyy-MM-dd HH:mm:ss") + " Hunter Result";
|
||||
_saveResultData.Type = "Data";
|
||||
_saveResultData.SaveResultType = "Hunter";
|
||||
_saveResultData.ExchangePlace = "Upbit";
|
||||
|
||||
|
||||
// 3. 자동으로 저장하기
|
||||
if (DBConnection.QueryInsertExcuter_SavedResultData(_saveResultData))
|
||||
MessageBox.Show("데이터 저장 성공");
|
||||
@@ -464,5 +471,20 @@ namespace Million
|
||||
else
|
||||
MessageBox.Show("데이터 저장 실패");
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Buyer 정규식에 추가
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
private void bt_InsertBuyerIndicator_Click(object sender, EventArgs e)
|
||||
{
|
||||
var name = tb_BuyerIndicatorName.Text;
|
||||
|
||||
if (DBConnection.QueryInsertExcuter_RealTimeIndicator(_saveResultData, name))
|
||||
MessageBox.Show("데이터 저장 성공");
|
||||
else
|
||||
MessageBox.Show("데이터 저장 실패");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -13,7 +13,7 @@ namespace Million
|
||||
/// </summary>
|
||||
[STAThread]
|
||||
static void Main()
|
||||
{
|
||||
{
|
||||
Application.EnableVisualStyles();
|
||||
Application.SetCompatibleTextRenderingDefault(false);
|
||||
Application.Run(new MainForm());
|
||||
|
||||
@@ -20,6 +20,15 @@ namespace Million.Data
|
||||
// 거래량
|
||||
public double MoneyVolume { get; set; }
|
||||
public double BuyValue { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 구매 개수
|
||||
/// </summary>
|
||||
public double BuyCount { get; set; }
|
||||
|
||||
public DateTime BuyTime { get; set; }
|
||||
public DateTime SellTime { get; set; }
|
||||
|
||||
public double SellValue { get; set; }
|
||||
public int CandleTimeType { get; set; }
|
||||
public bool RecentlyDataFlag { get; set; } = false;
|
||||
|
||||
@@ -40,6 +40,11 @@ namespace Million.Data
|
||||
public int LoseCount { get; set; } = 0;
|
||||
|
||||
|
||||
|
||||
// Buyer에서 사용
|
||||
/// <summary>
|
||||
/// 산 개수
|
||||
/// </summary>
|
||||
public double BuyCount { get; set; } = 0;
|
||||
public double SellCount { get; set; } = 0;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -76,6 +76,7 @@ namespace Million.DbManagement
|
||||
return marketDatas;
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Get Candle Data List
|
||||
/// </summary>
|
||||
@@ -214,7 +215,7 @@ namespace Million.DbManagement
|
||||
conn.Close();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Insert SavedResultData
|
||||
/// </summary>
|
||||
@@ -273,6 +274,60 @@ namespace Million.DbManagement
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// insert RealTimeIndicator
|
||||
/// </summary>
|
||||
/// <param name="item"></param>
|
||||
/// <returns></returns>
|
||||
public static bool QueryInsertExcuter_RealTimeIndicator(SavedResultData item, string name)
|
||||
{
|
||||
var baBinaryFormatter = new BinaryFormatter();
|
||||
|
||||
var sqlQuery = DbServiceFunctions.InsertRealTimeIndicatorQuery(item, name);
|
||||
var strDBCon = CommonProperty.DbConnectionResultData;
|
||||
|
||||
SqlConnection conn = null;
|
||||
SqlDataReader rdr = null;
|
||||
|
||||
try
|
||||
{
|
||||
using (conn = new SqlConnection(strDBCon))
|
||||
{
|
||||
using (var cmd = new SqlCommand(sqlQuery, conn))
|
||||
{
|
||||
var buySetupListStream = new MemoryStream();
|
||||
baBinaryFormatter.Serialize(buySetupListStream, item.BuySetupList);
|
||||
buySetupListStream.Position = 0;
|
||||
|
||||
var sellSetupListStream = new MemoryStream();
|
||||
baBinaryFormatter.Serialize(sellSetupListStream, item.SellSetupList);
|
||||
sellSetupListStream.Position = 0;
|
||||
|
||||
cmd.Parameters.Add("@BuySetupList", SqlDbType.VarBinary, (int)buySetupListStream.Length).Value = buySetupListStream.ToArray();
|
||||
cmd.Parameters.Add("@SellSetupList", SqlDbType.VarBinary, (int)sellSetupListStream.Length).Value = sellSetupListStream.ToArray();
|
||||
|
||||
conn.Open();
|
||||
using (rdr = cmd.ExecuteReader())
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
conn.Close();
|
||||
}
|
||||
return true;
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
Console.WriteLine(" ============= exception ===============");
|
||||
Console.WriteLine(e.Message);
|
||||
if (rdr != null)
|
||||
rdr.Close();
|
||||
if (conn != null)
|
||||
conn.Close();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Insert SavedAnalysisData
|
||||
/// </summary>
|
||||
@@ -501,7 +556,53 @@ namespace Million.DbManagement
|
||||
|
||||
return returnData;
|
||||
}
|
||||
public static List<Dictionary<string, object>> QueryGetExcuter_RealTimeIndicator()
|
||||
{
|
||||
var returnData = new List<Dictionary<string, object>>();
|
||||
var sqlQuery = "SELECT * FROM [ResultData].[dbo].[RealTimeIndicator]";
|
||||
|
||||
var strDBCon = CommonProperty.DbConnectionResultData;
|
||||
|
||||
using (var conn = new SqlConnection(strDBCon))
|
||||
{
|
||||
using (var cmd = new SqlCommand(sqlQuery, conn))
|
||||
{
|
||||
try
|
||||
{
|
||||
conn.Open();
|
||||
|
||||
using (var rdr = cmd.ExecuteReader())
|
||||
{
|
||||
while (rdr.Read())
|
||||
{
|
||||
var data = new Dictionary<string, object>();
|
||||
data["BuySetupList"] = (List<object>)GetBinaryConvertClass(rdr, "BuySetupList");
|
||||
data["SellSetupList"] = (List<object>)GetBinaryConvertClass(rdr, "SellSetupList");
|
||||
int.TryParse(rdr["Id"]?.ToString(), out var id);
|
||||
data["Id"] = id;
|
||||
data["Name"] = rdr["Name"]?.ToString();
|
||||
data["SavedDateTime"] = Convert.ToDateTime(rdr["SavedDateTime"]?.ToString());
|
||||
|
||||
data["BuyRegularExpression"] = rdr["BuyRegularExpression"]?.ToString();
|
||||
data["SellRegularExpression"] = rdr["SellRegularExpression"]?.ToString();
|
||||
|
||||
returnData.Add(data);
|
||||
}
|
||||
}
|
||||
conn.Close();
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Console.WriteLine(" ============= exception ===============");
|
||||
Console.WriteLine(ex.Message);
|
||||
conn.Close();
|
||||
return returnData;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return returnData;
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
|
||||
@@ -61,7 +61,24 @@ namespace Million.DbManagement
|
||||
Type nvarchar(50) NOT NULL,
|
||||
SaveResultType nvarchar(50) NOT NULL,
|
||||
Description nvarchar(MAX) NULL
|
||||
)";
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Create SavedResultData Table
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public static string CreateRealTimeIndicatorTableQuery()
|
||||
{
|
||||
return @"if not exists (select * from sysobjects where name='RealTimeIndicator' and xtype='U')
|
||||
create table " + "\"RealTimeIndicator\"" + @"(
|
||||
Id int IDENTITY (1,1) NOT NULL,
|
||||
Name nvarchar(50) NOT NULL,
|
||||
SavedDateTime datetime NOT NULL,
|
||||
BuySetupList varbinary(MAX) NULL,
|
||||
SellSetupList varbinary(MAX) NULL,
|
||||
BuyRegularExpression varchar(100) NOT NULL,
|
||||
SellRegularExpression varchar(100) NOT NULL
|
||||
)";
|
||||
}
|
||||
|
||||
@@ -442,6 +459,37 @@ namespace Million.DbManagement
|
||||
}
|
||||
return flag;
|
||||
}
|
||||
/// <summary>
|
||||
/// Get Real time Indicator query
|
||||
/// </summary>
|
||||
/// <param name="item"></param>
|
||||
/// <returns></returns>
|
||||
public static string InsertRealTimeIndicatorQuery(SavedResultData item, string name)
|
||||
{
|
||||
|
||||
var str = string.Format(@"INSERT INTO [ResultData].[dbo].[RealTimeIndicator]
|
||||
(
|
||||
[Name]
|
||||
,[SavedDateTime]
|
||||
,[BuySetupList]
|
||||
,[SellSetupList]
|
||||
,[BuyRegularExpression]
|
||||
,[SellRegularExpression]
|
||||
)VALUES(
|
||||
'{0}',
|
||||
'{1}',
|
||||
@BuySetupList,
|
||||
@SellSetupList,
|
||||
'{2}',
|
||||
'{3}'
|
||||
);",
|
||||
name,
|
||||
item.SavedDateTime.ToString("yyyy-MM-dd HH:mm:ss"),
|
||||
item.BuyRegularExpression,
|
||||
item.SellRegularExpression
|
||||
);
|
||||
return str;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Get Insert SavedResultData Query
|
||||
|
||||
@@ -71,7 +71,7 @@ namespace Million.Manager
|
||||
}
|
||||
catch(Exception ex)
|
||||
{
|
||||
ex.ToString();
|
||||
throw ex;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
BIN
packages/Microsoft.CodeAnalysis.CSharp.4.3.0/.signature.p7s
vendored
Normal file
BIN
packages/Microsoft.CodeAnalysis.CSharp.4.3.0/.signature.p7s
vendored
Normal file
Binary file not shown.
BIN
packages/Microsoft.CodeAnalysis.CSharp.4.3.0/Icon.png
vendored
Normal file
BIN
packages/Microsoft.CodeAnalysis.CSharp.4.3.0/Icon.png
vendored
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 6.8 KiB |
BIN
packages/Microsoft.CodeAnalysis.CSharp.4.3.0/Microsoft.CodeAnalysis.CSharp.4.3.0.nupkg
vendored
Normal file
BIN
packages/Microsoft.CodeAnalysis.CSharp.4.3.0/Microsoft.CodeAnalysis.CSharp.4.3.0.nupkg
vendored
Normal file
Binary file not shown.
BIN
packages/Microsoft.CodeAnalysis.CSharp.4.3.0/ThirdPartyNotices.rtf
vendored
Normal file
BIN
packages/Microsoft.CodeAnalysis.CSharp.4.3.0/ThirdPartyNotices.rtf
vendored
Normal file
Binary file not shown.
BIN
packages/Microsoft.CodeAnalysis.CSharp.4.3.0/lib/netcoreapp3.1/Microsoft.CodeAnalysis.CSharp.dll
vendored
Normal file
BIN
packages/Microsoft.CodeAnalysis.CSharp.4.3.0/lib/netcoreapp3.1/Microsoft.CodeAnalysis.CSharp.dll
vendored
Normal file
Binary file not shown.
BIN
packages/Microsoft.CodeAnalysis.CSharp.4.3.0/lib/netcoreapp3.1/Microsoft.CodeAnalysis.CSharp.pdb
vendored
Normal file
BIN
packages/Microsoft.CodeAnalysis.CSharp.4.3.0/lib/netcoreapp3.1/Microsoft.CodeAnalysis.CSharp.pdb
vendored
Normal file
Binary file not shown.
43856
packages/Microsoft.CodeAnalysis.CSharp.4.3.0/lib/netcoreapp3.1/Microsoft.CodeAnalysis.CSharp.xml
vendored
Normal file
43856
packages/Microsoft.CodeAnalysis.CSharp.4.3.0/lib/netcoreapp3.1/Microsoft.CodeAnalysis.CSharp.xml
vendored
Normal file
File diff suppressed because it is too large
Load Diff
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
packages/Microsoft.CodeAnalysis.CSharp.4.3.0/lib/netstandard2.0/Microsoft.CodeAnalysis.CSharp.dll
vendored
Normal file
BIN
packages/Microsoft.CodeAnalysis.CSharp.4.3.0/lib/netstandard2.0/Microsoft.CodeAnalysis.CSharp.dll
vendored
Normal file
Binary file not shown.
BIN
packages/Microsoft.CodeAnalysis.CSharp.4.3.0/lib/netstandard2.0/Microsoft.CodeAnalysis.CSharp.pdb
vendored
Normal file
BIN
packages/Microsoft.CodeAnalysis.CSharp.4.3.0/lib/netstandard2.0/Microsoft.CodeAnalysis.CSharp.pdb
vendored
Normal file
Binary file not shown.
43856
packages/Microsoft.CodeAnalysis.CSharp.4.3.0/lib/netstandard2.0/Microsoft.CodeAnalysis.CSharp.xml
vendored
Normal file
43856
packages/Microsoft.CodeAnalysis.CSharp.4.3.0/lib/netstandard2.0/Microsoft.CodeAnalysis.CSharp.xml
vendored
Normal file
File diff suppressed because it is too large
Load Diff
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
packages/Microsoft.CodeAnalysis.CSharp.Scripting.4.3.0/.signature.p7s
vendored
Normal file
BIN
packages/Microsoft.CodeAnalysis.CSharp.Scripting.4.3.0/.signature.p7s
vendored
Normal file
Binary file not shown.
BIN
packages/Microsoft.CodeAnalysis.CSharp.Scripting.4.3.0/Icon.png
vendored
Normal file
BIN
packages/Microsoft.CodeAnalysis.CSharp.Scripting.4.3.0/Icon.png
vendored
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 6.8 KiB |
Binary file not shown.
BIN
packages/Microsoft.CodeAnalysis.CSharp.Scripting.4.3.0/ThirdPartyNotices.rtf
vendored
Normal file
BIN
packages/Microsoft.CodeAnalysis.CSharp.Scripting.4.3.0/ThirdPartyNotices.rtf
vendored
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,119 @@
|
||||
<?xml version="1.0"?>
|
||||
<doc>
|
||||
<assembly>
|
||||
<name>Microsoft.CodeAnalysis.CSharp.Scripting</name>
|
||||
</assembly>
|
||||
<members>
|
||||
<member name="T:Microsoft.CodeAnalysis.CSharp.Scripting.CSharpScript">
|
||||
<summary>
|
||||
A factory for creating and running C# scripts.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Microsoft.CodeAnalysis.CSharp.Scripting.CSharpScript.Create``1(System.String,Microsoft.CodeAnalysis.Scripting.ScriptOptions,System.Type,Microsoft.CodeAnalysis.Scripting.Hosting.InteractiveAssemblyLoader)">
|
||||
<summary>
|
||||
Create a new C# script.
|
||||
</summary>
|
||||
<param name="code">The source code of the script.</param>
|
||||
<param name="options">The script options.</param>
|
||||
<param name="globalsType">Type of global object.</param>
|
||||
<param name="assemblyLoader">Custom assembly loader.</param>
|
||||
<typeparam name="T">The return type of the script</typeparam>
|
||||
<exception cref="T:System.ArgumentNullException">Code is null.</exception>
|
||||
</member>
|
||||
<member name="M:Microsoft.CodeAnalysis.CSharp.Scripting.CSharpScript.Create``1(System.IO.Stream,Microsoft.CodeAnalysis.Scripting.ScriptOptions,System.Type,Microsoft.CodeAnalysis.Scripting.Hosting.InteractiveAssemblyLoader)">
|
||||
<summary>
|
||||
Create a new C# script.
|
||||
</summary>
|
||||
<param name="code">The <see cref="T:System.IO.Stream"/> representing the source code of the script.</param>
|
||||
<param name="options">The script options.</param>
|
||||
<param name="globalsType">Type of global object.</param>
|
||||
<param name="assemblyLoader">Custom assembly loader.</param>
|
||||
<typeparam name="T">The return type of the script</typeparam>
|
||||
<exception cref="T:System.ArgumentNullException">Stream is null.</exception>
|
||||
<exception cref="T:System.ArgumentException">Stream is not readable or seekable.</exception>
|
||||
</member>
|
||||
<member name="M:Microsoft.CodeAnalysis.CSharp.Scripting.CSharpScript.Create(System.String,Microsoft.CodeAnalysis.Scripting.ScriptOptions,System.Type,Microsoft.CodeAnalysis.Scripting.Hosting.InteractiveAssemblyLoader)">
|
||||
<summary>
|
||||
Create a new C# script.
|
||||
</summary>
|
||||
<param name="code">The source code of the script.</param>
|
||||
<param name="options">The script options.</param>
|
||||
<param name="globalsType">Type of global object.</param>
|
||||
<param name="assemblyLoader">Custom assembly loader.</param>
|
||||
<exception cref="T:System.ArgumentNullException">Code is null.</exception>
|
||||
</member>
|
||||
<member name="M:Microsoft.CodeAnalysis.CSharp.Scripting.CSharpScript.Create(System.IO.Stream,Microsoft.CodeAnalysis.Scripting.ScriptOptions,System.Type,Microsoft.CodeAnalysis.Scripting.Hosting.InteractiveAssemblyLoader)">
|
||||
<summary>
|
||||
Create a new C# script.
|
||||
</summary>
|
||||
<param name="code">The <see cref="T:System.IO.Stream"/> representing the source code of the script.</param>
|
||||
<param name="options">The script options.</param>
|
||||
<param name="globalsType">Type of global object.</param>
|
||||
<param name="assemblyLoader">Custom assembly loader.</param>
|
||||
<exception cref="T:System.ArgumentNullException">Stream is null.</exception>
|
||||
<exception cref="T:System.ArgumentException">Stream is not readable or seekable.</exception>
|
||||
</member>
|
||||
<member name="M:Microsoft.CodeAnalysis.CSharp.Scripting.CSharpScript.RunAsync``1(System.String,Microsoft.CodeAnalysis.Scripting.ScriptOptions,System.Object,System.Type,System.Threading.CancellationToken)">
|
||||
<summary>
|
||||
Run a C# script.
|
||||
</summary>
|
||||
<param name="code">The source code of the script.</param>
|
||||
<param name="options">The script options.</param>
|
||||
<param name="globals">An object instance whose members can be accessed by the script as global variables.</param>
|
||||
<param name="globalsType">Type of global object, <paramref name="globals"/>.GetType() is used if not specified.</param>
|
||||
<param name="cancellationToken">Cancellation token.</param>
|
||||
<typeparam name="T">The return type of the submission</typeparam>
|
||||
<exception cref="T:Microsoft.CodeAnalysis.Scripting.CompilationErrorException">Specified code has errors.</exception>
|
||||
</member>
|
||||
<member name="M:Microsoft.CodeAnalysis.CSharp.Scripting.CSharpScript.RunAsync(System.String,Microsoft.CodeAnalysis.Scripting.ScriptOptions,System.Object,System.Type,System.Threading.CancellationToken)">
|
||||
<summary>
|
||||
Run a C# script.
|
||||
</summary>
|
||||
<param name="code">The source code of the script.</param>
|
||||
<param name="options">The script options.</param>
|
||||
<param name="globals">An object instance whose members can be accessed by the script as global variables.</param>
|
||||
<param name="globalsType">Type of global object, <paramref name="globals"/>.GetType() is used if not specified.</param>
|
||||
<param name="cancellationToken">Cancellation token.</param>
|
||||
<exception cref="T:Microsoft.CodeAnalysis.Scripting.CompilationErrorException">Specified code has errors.</exception>
|
||||
</member>
|
||||
<member name="M:Microsoft.CodeAnalysis.CSharp.Scripting.CSharpScript.EvaluateAsync``1(System.String,Microsoft.CodeAnalysis.Scripting.ScriptOptions,System.Object,System.Type,System.Threading.CancellationToken)">
|
||||
<summary>
|
||||
Run a C# script and return its resulting value.
|
||||
</summary>
|
||||
<param name="code">The source code of the script.</param>
|
||||
<param name="options">The script options.</param>
|
||||
<param name="globals">An object instance whose members can be accessed by the script as global variables.</param>
|
||||
<param name="globalsType">Type of global object, <paramref name="globals"/>.GetType() is used if not specified.</param>
|
||||
<param name="cancellationToken">Cancellation token.</param>
|
||||
<typeparam name="T">The return type of the submission</typeparam>
|
||||
<return>Returns the value returned by running the script.</return>
|
||||
<exception cref="T:Microsoft.CodeAnalysis.Scripting.CompilationErrorException">Specified code has errors.</exception>
|
||||
</member>
|
||||
<member name="M:Microsoft.CodeAnalysis.CSharp.Scripting.CSharpScript.EvaluateAsync(System.String,Microsoft.CodeAnalysis.Scripting.ScriptOptions,System.Object,System.Type,System.Threading.CancellationToken)">
|
||||
<summary>
|
||||
Run a C# script and return its resulting value.
|
||||
</summary>
|
||||
<param name="code">The source code of the script.</param>
|
||||
<param name="options">The script options.</param>
|
||||
<param name="globals">An object instance whose members can be accessed by the script as global variables.</param>
|
||||
<param name="globalsType">Type of global object, <paramref name="globals"/>.GetType() is used if not specified.</param>
|
||||
<param name="cancellationToken">Cancellation token.</param>
|
||||
<return>Returns the value returned by running the script.</return>
|
||||
<exception cref="T:Microsoft.CodeAnalysis.Scripting.CompilationErrorException">Specified code has errors.</exception>
|
||||
</member>
|
||||
<member name="P:Microsoft.CodeAnalysis.CSharp.Scripting.CSharpScriptingResources.LogoLine1">
|
||||
<summary>Microsoft (R) Visual C# Interactive Compiler version {0}</summary>
|
||||
</member>
|
||||
<member name="P:Microsoft.CodeAnalysis.CSharp.Scripting.CSharpScriptingResources.LogoLine2">
|
||||
<summary>Copyright (C) Microsoft Corporation. All rights reserved.</summary>
|
||||
</member>
|
||||
<member name="P:Microsoft.CodeAnalysis.CSharp.Scripting.CSharpScriptingResources.InteractiveHelp">
|
||||
<summary>Usage: csi [option] ... [script-file.csx] [script-argument] ...
|
||||
|
||||
Executes script-file.csx if specified, otherwise launches an interactive REPL (Read Eval Print Loop).
|
||||
|
||||
Options:
|
||||
/help Display this usage message (alternative form: ...</summary>
|
||||
</member>
|
||||
</members>
|
||||
</doc>
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,119 @@
|
||||
<?xml version="1.0"?>
|
||||
<doc>
|
||||
<assembly>
|
||||
<name>Microsoft.CodeAnalysis.CSharp.Scripting</name>
|
||||
</assembly>
|
||||
<members>
|
||||
<member name="T:Microsoft.CodeAnalysis.CSharp.Scripting.CSharpScript">
|
||||
<summary>
|
||||
A factory for creating and running C# scripts.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Microsoft.CodeAnalysis.CSharp.Scripting.CSharpScript.Create``1(System.String,Microsoft.CodeAnalysis.Scripting.ScriptOptions,System.Type,Microsoft.CodeAnalysis.Scripting.Hosting.InteractiveAssemblyLoader)">
|
||||
<summary>
|
||||
Create a new C# script.
|
||||
</summary>
|
||||
<param name="code">The source code of the script.</param>
|
||||
<param name="options">The script options.</param>
|
||||
<param name="globalsType">Type of global object.</param>
|
||||
<param name="assemblyLoader">Custom assembly loader.</param>
|
||||
<typeparam name="T">The return type of the script</typeparam>
|
||||
<exception cref="T:System.ArgumentNullException">Code is null.</exception>
|
||||
</member>
|
||||
<member name="M:Microsoft.CodeAnalysis.CSharp.Scripting.CSharpScript.Create``1(System.IO.Stream,Microsoft.CodeAnalysis.Scripting.ScriptOptions,System.Type,Microsoft.CodeAnalysis.Scripting.Hosting.InteractiveAssemblyLoader)">
|
||||
<summary>
|
||||
Create a new C# script.
|
||||
</summary>
|
||||
<param name="code">The <see cref="T:System.IO.Stream"/> representing the source code of the script.</param>
|
||||
<param name="options">The script options.</param>
|
||||
<param name="globalsType">Type of global object.</param>
|
||||
<param name="assemblyLoader">Custom assembly loader.</param>
|
||||
<typeparam name="T">The return type of the script</typeparam>
|
||||
<exception cref="T:System.ArgumentNullException">Stream is null.</exception>
|
||||
<exception cref="T:System.ArgumentException">Stream is not readable or seekable.</exception>
|
||||
</member>
|
||||
<member name="M:Microsoft.CodeAnalysis.CSharp.Scripting.CSharpScript.Create(System.String,Microsoft.CodeAnalysis.Scripting.ScriptOptions,System.Type,Microsoft.CodeAnalysis.Scripting.Hosting.InteractiveAssemblyLoader)">
|
||||
<summary>
|
||||
Create a new C# script.
|
||||
</summary>
|
||||
<param name="code">The source code of the script.</param>
|
||||
<param name="options">The script options.</param>
|
||||
<param name="globalsType">Type of global object.</param>
|
||||
<param name="assemblyLoader">Custom assembly loader.</param>
|
||||
<exception cref="T:System.ArgumentNullException">Code is null.</exception>
|
||||
</member>
|
||||
<member name="M:Microsoft.CodeAnalysis.CSharp.Scripting.CSharpScript.Create(System.IO.Stream,Microsoft.CodeAnalysis.Scripting.ScriptOptions,System.Type,Microsoft.CodeAnalysis.Scripting.Hosting.InteractiveAssemblyLoader)">
|
||||
<summary>
|
||||
Create a new C# script.
|
||||
</summary>
|
||||
<param name="code">The <see cref="T:System.IO.Stream"/> representing the source code of the script.</param>
|
||||
<param name="options">The script options.</param>
|
||||
<param name="globalsType">Type of global object.</param>
|
||||
<param name="assemblyLoader">Custom assembly loader.</param>
|
||||
<exception cref="T:System.ArgumentNullException">Stream is null.</exception>
|
||||
<exception cref="T:System.ArgumentException">Stream is not readable or seekable.</exception>
|
||||
</member>
|
||||
<member name="M:Microsoft.CodeAnalysis.CSharp.Scripting.CSharpScript.RunAsync``1(System.String,Microsoft.CodeAnalysis.Scripting.ScriptOptions,System.Object,System.Type,System.Threading.CancellationToken)">
|
||||
<summary>
|
||||
Run a C# script.
|
||||
</summary>
|
||||
<param name="code">The source code of the script.</param>
|
||||
<param name="options">The script options.</param>
|
||||
<param name="globals">An object instance whose members can be accessed by the script as global variables.</param>
|
||||
<param name="globalsType">Type of global object, <paramref name="globals"/>.GetType() is used if not specified.</param>
|
||||
<param name="cancellationToken">Cancellation token.</param>
|
||||
<typeparam name="T">The return type of the submission</typeparam>
|
||||
<exception cref="T:Microsoft.CodeAnalysis.Scripting.CompilationErrorException">Specified code has errors.</exception>
|
||||
</member>
|
||||
<member name="M:Microsoft.CodeAnalysis.CSharp.Scripting.CSharpScript.RunAsync(System.String,Microsoft.CodeAnalysis.Scripting.ScriptOptions,System.Object,System.Type,System.Threading.CancellationToken)">
|
||||
<summary>
|
||||
Run a C# script.
|
||||
</summary>
|
||||
<param name="code">The source code of the script.</param>
|
||||
<param name="options">The script options.</param>
|
||||
<param name="globals">An object instance whose members can be accessed by the script as global variables.</param>
|
||||
<param name="globalsType">Type of global object, <paramref name="globals"/>.GetType() is used if not specified.</param>
|
||||
<param name="cancellationToken">Cancellation token.</param>
|
||||
<exception cref="T:Microsoft.CodeAnalysis.Scripting.CompilationErrorException">Specified code has errors.</exception>
|
||||
</member>
|
||||
<member name="M:Microsoft.CodeAnalysis.CSharp.Scripting.CSharpScript.EvaluateAsync``1(System.String,Microsoft.CodeAnalysis.Scripting.ScriptOptions,System.Object,System.Type,System.Threading.CancellationToken)">
|
||||
<summary>
|
||||
Run a C# script and return its resulting value.
|
||||
</summary>
|
||||
<param name="code">The source code of the script.</param>
|
||||
<param name="options">The script options.</param>
|
||||
<param name="globals">An object instance whose members can be accessed by the script as global variables.</param>
|
||||
<param name="globalsType">Type of global object, <paramref name="globals"/>.GetType() is used if not specified.</param>
|
||||
<param name="cancellationToken">Cancellation token.</param>
|
||||
<typeparam name="T">The return type of the submission</typeparam>
|
||||
<return>Returns the value returned by running the script.</return>
|
||||
<exception cref="T:Microsoft.CodeAnalysis.Scripting.CompilationErrorException">Specified code has errors.</exception>
|
||||
</member>
|
||||
<member name="M:Microsoft.CodeAnalysis.CSharp.Scripting.CSharpScript.EvaluateAsync(System.String,Microsoft.CodeAnalysis.Scripting.ScriptOptions,System.Object,System.Type,System.Threading.CancellationToken)">
|
||||
<summary>
|
||||
Run a C# script and return its resulting value.
|
||||
</summary>
|
||||
<param name="code">The source code of the script.</param>
|
||||
<param name="options">The script options.</param>
|
||||
<param name="globals">An object instance whose members can be accessed by the script as global variables.</param>
|
||||
<param name="globalsType">Type of global object, <paramref name="globals"/>.GetType() is used if not specified.</param>
|
||||
<param name="cancellationToken">Cancellation token.</param>
|
||||
<return>Returns the value returned by running the script.</return>
|
||||
<exception cref="T:Microsoft.CodeAnalysis.Scripting.CompilationErrorException">Specified code has errors.</exception>
|
||||
</member>
|
||||
<member name="P:Microsoft.CodeAnalysis.CSharp.Scripting.CSharpScriptingResources.LogoLine1">
|
||||
<summary>Microsoft (R) Visual C# Interactive Compiler version {0}</summary>
|
||||
</member>
|
||||
<member name="P:Microsoft.CodeAnalysis.CSharp.Scripting.CSharpScriptingResources.LogoLine2">
|
||||
<summary>Copyright (C) Microsoft Corporation. All rights reserved.</summary>
|
||||
</member>
|
||||
<member name="P:Microsoft.CodeAnalysis.CSharp.Scripting.CSharpScriptingResources.InteractiveHelp">
|
||||
<summary>Usage: csi [option] ... [script-file.csx] [script-argument] ...
|
||||
|
||||
Executes script-file.csx if specified, otherwise launches an interactive REPL (Read Eval Print Loop).
|
||||
|
||||
Options:
|
||||
/help Display this usage message (alternative form: ...</summary>
|
||||
</member>
|
||||
</members>
|
||||
</doc>
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
packages/Microsoft.CodeAnalysis.Common.4.3.0/.signature.p7s
vendored
Normal file
BIN
packages/Microsoft.CodeAnalysis.Common.4.3.0/.signature.p7s
vendored
Normal file
Binary file not shown.
BIN
packages/Microsoft.CodeAnalysis.Common.4.3.0/Icon.png
vendored
Normal file
BIN
packages/Microsoft.CodeAnalysis.Common.4.3.0/Icon.png
vendored
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 6.8 KiB |
BIN
packages/Microsoft.CodeAnalysis.Common.4.3.0/Microsoft.CodeAnalysis.Common.4.3.0.nupkg
vendored
Normal file
BIN
packages/Microsoft.CodeAnalysis.Common.4.3.0/Microsoft.CodeAnalysis.Common.4.3.0.nupkg
vendored
Normal file
Binary file not shown.
BIN
packages/Microsoft.CodeAnalysis.Common.4.3.0/ThirdPartyNotices.rtf
vendored
Normal file
BIN
packages/Microsoft.CodeAnalysis.Common.4.3.0/ThirdPartyNotices.rtf
vendored
Normal file
Binary file not shown.
BIN
packages/Microsoft.CodeAnalysis.Common.4.3.0/lib/netcoreapp3.1/Microsoft.CodeAnalysis.dll
vendored
Normal file
BIN
packages/Microsoft.CodeAnalysis.Common.4.3.0/lib/netcoreapp3.1/Microsoft.CodeAnalysis.dll
vendored
Normal file
Binary file not shown.
BIN
packages/Microsoft.CodeAnalysis.Common.4.3.0/lib/netcoreapp3.1/Microsoft.CodeAnalysis.pdb
vendored
Normal file
BIN
packages/Microsoft.CodeAnalysis.Common.4.3.0/lib/netcoreapp3.1/Microsoft.CodeAnalysis.pdb
vendored
Normal file
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user