1. 실시간 주문 현황 추가
2. Buy, Sell, Order Cancel 추가 3. Buyer기능 구현 중
This commit is contained in:
264
Million Buyer/MainForm.Designer.cs
generated
264
Million Buyer/MainForm.Designer.cs
generated
@@ -73,20 +73,23 @@
|
||||
this.label9 = new System.Windows.Forms.Label();
|
||||
this.lb_log = new System.Windows.Forms.ListBox();
|
||||
this.bt_alive = new System.Windows.Forms.Button();
|
||||
this.tb_CoinFullName = new System.Windows.Forms.TextBox();
|
||||
this.tb_Price = new System.Windows.Forms.TextBox();
|
||||
this.lb_CoinFullName = new System.Windows.Forms.Label();
|
||||
this.lb_Price = new System.Windows.Forms.Label();
|
||||
this.bt_Buy = new System.Windows.Forms.Button();
|
||||
this.bt_Sell = new System.Windows.Forms.Button();
|
||||
this.lb_Volume = new System.Windows.Forms.Label();
|
||||
this.tb_Volume = new System.Windows.Forms.TextBox();
|
||||
this.bt_Search = new System.Windows.Forms.Button();
|
||||
this.bt_Cancel = new System.Windows.Forms.Button();
|
||||
this.groupBox3 = new System.Windows.Forms.GroupBox();
|
||||
this.cb_AccountList = new System.Windows.Forms.ComboBox();
|
||||
this.cb_UserList = new System.Windows.Forms.ComboBox();
|
||||
this.label12 = new System.Windows.Forms.Label();
|
||||
this.label11 = new System.Windows.Forms.Label();
|
||||
this.label13 = new System.Windows.Forms.Label();
|
||||
this.tl_RealtimeOrder = new DevExpress.XtraTreeList.TreeList();
|
||||
this.treeListColumn1 = new DevExpress.XtraTreeList.Columns.TreeListColumn();
|
||||
this.treeListColumn2 = new DevExpress.XtraTreeList.Columns.TreeListColumn();
|
||||
this.treeListColumn3 = new DevExpress.XtraTreeList.Columns.TreeListColumn();
|
||||
this.treeListColumn4 = new DevExpress.XtraTreeList.Columns.TreeListColumn();
|
||||
this.groupBox1.SuspendLayout();
|
||||
this.groupBox2.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.tl_BuyList)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.tl_Result)).BeginInit();
|
||||
this.groupBox3.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.tl_RealtimeOrder)).BeginInit();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// groupBox1
|
||||
@@ -100,7 +103,7 @@
|
||||
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.Location = new System.Drawing.Point(12, 123);
|
||||
this.groupBox1.Name = "groupBox1";
|
||||
this.groupBox1.Size = new System.Drawing.Size(362, 159);
|
||||
this.groupBox1.TabIndex = 5;
|
||||
@@ -204,9 +207,9 @@
|
||||
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, 217);
|
||||
this.groupBox2.Location = new System.Drawing.Point(12, 288);
|
||||
this.groupBox2.Name = "groupBox2";
|
||||
this.groupBox2.Size = new System.Drawing.Size(362, 191);
|
||||
this.groupBox2.Size = new System.Drawing.Size(362, 156);
|
||||
this.groupBox2.TabIndex = 6;
|
||||
this.groupBox2.TabStop = false;
|
||||
this.groupBox2.Text = "데이터 현황";
|
||||
@@ -214,7 +217,7 @@
|
||||
// lb_StartDate
|
||||
//
|
||||
this.lb_StartDate.AutoSize = true;
|
||||
this.lb_StartDate.Location = new System.Drawing.Point(102, 161);
|
||||
this.lb_StartDate.Location = new System.Drawing.Point(102, 133);
|
||||
this.lb_StartDate.Name = "lb_StartDate";
|
||||
this.lb_StartDate.Size = new System.Drawing.Size(0, 12);
|
||||
this.lb_StartDate.TabIndex = 9;
|
||||
@@ -222,7 +225,7 @@
|
||||
// label10
|
||||
//
|
||||
this.label10.AutoSize = true;
|
||||
this.label10.Location = new System.Drawing.Point(39, 161);
|
||||
this.label10.Location = new System.Drawing.Point(39, 133);
|
||||
this.label10.Name = "label10";
|
||||
this.label10.Size = new System.Drawing.Size(57, 12);
|
||||
this.label10.TabIndex = 8;
|
||||
@@ -231,7 +234,7 @@
|
||||
// lb_TotalMoneyValue
|
||||
//
|
||||
this.lb_TotalMoneyValue.AutoSize = true;
|
||||
this.lb_TotalMoneyValue.Location = new System.Drawing.Point(102, 126);
|
||||
this.lb_TotalMoneyValue.Location = new System.Drawing.Point(102, 108);
|
||||
this.lb_TotalMoneyValue.Name = "lb_TotalMoneyValue";
|
||||
this.lb_TotalMoneyValue.Size = new System.Drawing.Size(0, 12);
|
||||
this.lb_TotalMoneyValue.TabIndex = 7;
|
||||
@@ -239,7 +242,7 @@
|
||||
// lb_TotalRate
|
||||
//
|
||||
this.lb_TotalRate.AutoSize = true;
|
||||
this.lb_TotalRate.Location = new System.Drawing.Point(102, 91);
|
||||
this.lb_TotalRate.Location = new System.Drawing.Point(102, 81);
|
||||
this.lb_TotalRate.Name = "lb_TotalRate";
|
||||
this.lb_TotalRate.Size = new System.Drawing.Size(0, 12);
|
||||
this.lb_TotalRate.TabIndex = 6;
|
||||
@@ -247,7 +250,7 @@
|
||||
// lb_BuyMarketCount
|
||||
//
|
||||
this.lb_BuyMarketCount.AutoSize = true;
|
||||
this.lb_BuyMarketCount.Location = new System.Drawing.Point(102, 59);
|
||||
this.lb_BuyMarketCount.Location = new System.Drawing.Point(102, 53);
|
||||
this.lb_BuyMarketCount.Name = "lb_BuyMarketCount";
|
||||
this.lb_BuyMarketCount.Size = new System.Drawing.Size(0, 12);
|
||||
this.lb_BuyMarketCount.TabIndex = 5;
|
||||
@@ -255,7 +258,7 @@
|
||||
// lb_TotalMoney
|
||||
//
|
||||
this.lb_TotalMoney.AutoSize = true;
|
||||
this.lb_TotalMoney.Location = new System.Drawing.Point(102, 26);
|
||||
this.lb_TotalMoney.Location = new System.Drawing.Point(102, 24);
|
||||
this.lb_TotalMoney.Name = "lb_TotalMoney";
|
||||
this.lb_TotalMoney.Size = new System.Drawing.Size(0, 12);
|
||||
this.lb_TotalMoney.TabIndex = 4;
|
||||
@@ -263,7 +266,7 @@
|
||||
// label7
|
||||
//
|
||||
this.label7.AutoSize = true;
|
||||
this.label7.Location = new System.Drawing.Point(27, 126);
|
||||
this.label7.Location = new System.Drawing.Point(27, 108);
|
||||
this.label7.Name = "label7";
|
||||
this.label7.Size = new System.Drawing.Size(69, 12);
|
||||
this.label7.TabIndex = 3;
|
||||
@@ -272,7 +275,7 @@
|
||||
// label5
|
||||
//
|
||||
this.label5.AutoSize = true;
|
||||
this.label5.Location = new System.Drawing.Point(27, 91);
|
||||
this.label5.Location = new System.Drawing.Point(27, 81);
|
||||
this.label5.Name = "label5";
|
||||
this.label5.Size = new System.Drawing.Size(69, 12);
|
||||
this.label5.TabIndex = 2;
|
||||
@@ -281,7 +284,7 @@
|
||||
// label3
|
||||
//
|
||||
this.label3.AutoSize = true;
|
||||
this.label3.Location = new System.Drawing.Point(23, 59);
|
||||
this.label3.Location = new System.Drawing.Point(23, 53);
|
||||
this.label3.Name = "label3";
|
||||
this.label3.Size = new System.Drawing.Size(73, 12);
|
||||
this.label3.TabIndex = 1;
|
||||
@@ -290,7 +293,7 @@
|
||||
// label4
|
||||
//
|
||||
this.label4.AutoSize = true;
|
||||
this.label4.Location = new System.Drawing.Point(7, 26);
|
||||
this.label4.Location = new System.Drawing.Point(7, 24);
|
||||
this.label4.Name = "label4";
|
||||
this.label4.Size = new System.Drawing.Size(89, 12);
|
||||
this.label4.TabIndex = 0;
|
||||
@@ -320,23 +323,23 @@
|
||||
//
|
||||
this.rd_Realtime.AutoSize = true;
|
||||
this.rd_Realtime.Checked = true;
|
||||
this.rd_Realtime.Location = new System.Drawing.Point(17, 19);
|
||||
this.rd_Realtime.Location = new System.Drawing.Point(8, 79);
|
||||
this.rd_Realtime.Name = "rd_Realtime";
|
||||
this.rd_Realtime.Size = new System.Drawing.Size(123, 16);
|
||||
this.rd_Realtime.Size = new System.Drawing.Size(115, 16);
|
||||
this.rd_Realtime.TabIndex = 9;
|
||||
this.rd_Realtime.TabStop = true;
|
||||
this.rd_Realtime.Text = "실시간 검증 Mode";
|
||||
this.rd_Realtime.Text = "실시간 검증 모드";
|
||||
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.Location = new System.Drawing.Point(178, 79);
|
||||
this.rd_buyer.Name = "rd_buyer";
|
||||
this.rd_buyer.Size = new System.Drawing.Size(92, 16);
|
||||
this.rd_buyer.Size = new System.Drawing.Size(84, 16);
|
||||
this.rd_buyer.TabIndex = 10;
|
||||
this.rd_buyer.Text = "Buyer Mode";
|
||||
this.rd_buyer.Text = "Buyer 모드";
|
||||
this.rd_buyer.UseVisualStyleBackColor = true;
|
||||
this.rd_buyer.CheckedChanged += new System.EventHandler(this.rd_buyer_CheckedChanged);
|
||||
//
|
||||
@@ -350,7 +353,7 @@
|
||||
this.tl_BuyList.Cursor = System.Windows.Forms.Cursors.Default;
|
||||
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.Size = new System.Drawing.Size(573, 278);
|
||||
this.tl_BuyList.TabIndex = 11;
|
||||
//
|
||||
// BuyMarket
|
||||
@@ -398,9 +401,9 @@
|
||||
this.RateData,
|
||||
this.MoneyData});
|
||||
this.tl_Result.Cursor = System.Windows.Forms.Cursors.Default;
|
||||
this.tl_Result.Location = new System.Drawing.Point(801, 31);
|
||||
this.tl_Result.Location = new System.Drawing.Point(380, 330);
|
||||
this.tl_Result.Name = "tl_Result";
|
||||
this.tl_Result.Size = new System.Drawing.Size(796, 699);
|
||||
this.tl_Result.Size = new System.Drawing.Size(1217, 400);
|
||||
this.tl_Result.TabIndex = 12;
|
||||
//
|
||||
// Market
|
||||
@@ -497,7 +500,7 @@
|
||||
// label9
|
||||
//
|
||||
this.label9.AutoSize = true;
|
||||
this.label9.Location = new System.Drawing.Point(799, 9);
|
||||
this.label9.Location = new System.Drawing.Point(380, 312);
|
||||
this.label9.Name = "label9";
|
||||
this.label9.Size = new System.Drawing.Size(129, 12);
|
||||
this.label9.TabIndex = 15;
|
||||
@@ -508,10 +511,10 @@
|
||||
this.lb_log.FormattingEnabled = true;
|
||||
this.lb_log.HorizontalScrollbar = true;
|
||||
this.lb_log.ItemHeight = 12;
|
||||
this.lb_log.Location = new System.Drawing.Point(12, 414);
|
||||
this.lb_log.Location = new System.Drawing.Point(12, 450);
|
||||
this.lb_log.Name = "lb_log";
|
||||
this.lb_log.ScrollAlwaysVisible = true;
|
||||
this.lb_log.Size = new System.Drawing.Size(362, 316);
|
||||
this.lb_log.Size = new System.Drawing.Size(362, 280);
|
||||
this.lb_log.TabIndex = 16;
|
||||
//
|
||||
// bt_alive
|
||||
@@ -524,109 +527,118 @@
|
||||
this.bt_alive.UseVisualStyleBackColor = true;
|
||||
this.bt_alive.Click += new System.EventHandler(this.bt_alive_Click);
|
||||
//
|
||||
// tb_CoinFullName
|
||||
// groupBox3
|
||||
//
|
||||
this.tb_CoinFullName.Location = new System.Drawing.Point(556, 735);
|
||||
this.tb_CoinFullName.Name = "tb_CoinFullName";
|
||||
this.tb_CoinFullName.Size = new System.Drawing.Size(100, 21);
|
||||
this.tb_CoinFullName.TabIndex = 17;
|
||||
this.groupBox3.Controls.Add(this.cb_AccountList);
|
||||
this.groupBox3.Controls.Add(this.cb_UserList);
|
||||
this.groupBox3.Controls.Add(this.label12);
|
||||
this.groupBox3.Controls.Add(this.label11);
|
||||
this.groupBox3.Controls.Add(this.rd_buyer);
|
||||
this.groupBox3.Controls.Add(this.rd_Realtime);
|
||||
this.groupBox3.Location = new System.Drawing.Point(12, 9);
|
||||
this.groupBox3.Name = "groupBox3";
|
||||
this.groupBox3.Size = new System.Drawing.Size(362, 108);
|
||||
this.groupBox3.TabIndex = 10;
|
||||
this.groupBox3.TabStop = false;
|
||||
this.groupBox3.Text = "계정 및 모드 선택";
|
||||
//
|
||||
// tb_Price
|
||||
// cb_AccountList
|
||||
//
|
||||
this.tb_Price.Location = new System.Drawing.Point(862, 735);
|
||||
this.tb_Price.Name = "tb_Price";
|
||||
this.tb_Price.Size = new System.Drawing.Size(100, 21);
|
||||
this.tb_Price.TabIndex = 18;
|
||||
this.cb_AccountList.FormattingEnabled = true;
|
||||
this.cb_AccountList.Location = new System.Drawing.Point(64, 49);
|
||||
this.cb_AccountList.Name = "cb_AccountList";
|
||||
this.cb_AccountList.Size = new System.Drawing.Size(292, 20);
|
||||
this.cb_AccountList.TabIndex = 14;
|
||||
//
|
||||
// lb_CoinFullName
|
||||
// cb_UserList
|
||||
//
|
||||
this.lb_CoinFullName.AutoSize = true;
|
||||
this.lb_CoinFullName.Location = new System.Drawing.Point(457, 742);
|
||||
this.lb_CoinFullName.Name = "lb_CoinFullName";
|
||||
this.lb_CoinFullName.Size = new System.Drawing.Size(93, 12);
|
||||
this.lb_CoinFullName.TabIndex = 19;
|
||||
this.lb_CoinFullName.Text = "Coin Full Name";
|
||||
this.cb_UserList.FormattingEnabled = true;
|
||||
this.cb_UserList.Location = new System.Drawing.Point(64, 21);
|
||||
this.cb_UserList.Name = "cb_UserList";
|
||||
this.cb_UserList.Size = new System.Drawing.Size(292, 20);
|
||||
this.cb_UserList.TabIndex = 13;
|
||||
this.cb_UserList.SelectedIndexChanged += new System.EventHandler(this.cb_UserList_SelectedIndexChanged);
|
||||
//
|
||||
// lb_Price
|
||||
// label12
|
||||
//
|
||||
this.lb_Price.AutoSize = true;
|
||||
this.lb_Price.Location = new System.Drawing.Point(822, 741);
|
||||
this.lb_Price.Name = "lb_Price";
|
||||
this.lb_Price.Size = new System.Drawing.Size(34, 12);
|
||||
this.lb_Price.TabIndex = 20;
|
||||
this.lb_Price.Text = "Price";
|
||||
this.label12.AutoSize = true;
|
||||
this.label12.Location = new System.Drawing.Point(6, 52);
|
||||
this.label12.Name = "label12";
|
||||
this.label12.Size = new System.Drawing.Size(51, 12);
|
||||
this.label12.TabIndex = 12;
|
||||
this.label12.Text = "Account";
|
||||
//
|
||||
// bt_Buy
|
||||
// label11
|
||||
//
|
||||
this.bt_Buy.Location = new System.Drawing.Point(1125, 736);
|
||||
this.bt_Buy.Name = "bt_Buy";
|
||||
this.bt_Buy.Size = new System.Drawing.Size(75, 23);
|
||||
this.bt_Buy.TabIndex = 21;
|
||||
this.bt_Buy.Text = "구매";
|
||||
this.bt_Buy.UseVisualStyleBackColor = true;
|
||||
this.bt_Buy.Click += new System.EventHandler(this.bt_Buy_Click);
|
||||
this.label11.AutoSize = true;
|
||||
this.label11.Location = new System.Drawing.Point(6, 24);
|
||||
this.label11.Name = "label11";
|
||||
this.label11.Size = new System.Drawing.Size(41, 12);
|
||||
this.label11.TabIndex = 11;
|
||||
this.label11.Text = "사용자";
|
||||
//
|
||||
// bt_Sell
|
||||
// label13
|
||||
//
|
||||
this.bt_Sell.Location = new System.Drawing.Point(1206, 736);
|
||||
this.bt_Sell.Name = "bt_Sell";
|
||||
this.bt_Sell.Size = new System.Drawing.Size(75, 23);
|
||||
this.bt_Sell.TabIndex = 22;
|
||||
this.bt_Sell.Text = "판매";
|
||||
this.bt_Sell.UseVisualStyleBackColor = true;
|
||||
this.bt_Sell.Click += new System.EventHandler(this.bt_Sell_Click);
|
||||
this.label13.AutoSize = true;
|
||||
this.label13.Location = new System.Drawing.Point(957, 8);
|
||||
this.label13.Name = "label13";
|
||||
this.label13.Size = new System.Drawing.Size(97, 12);
|
||||
this.label13.TabIndex = 18;
|
||||
this.label13.Text = "실시간 주문 현황";
|
||||
//
|
||||
// lb_Volume
|
||||
// tl_RealtimeOrder
|
||||
//
|
||||
this.lb_Volume.AutoSize = true;
|
||||
this.lb_Volume.Location = new System.Drawing.Point(662, 741);
|
||||
this.lb_Volume.Name = "lb_Volume";
|
||||
this.lb_Volume.Size = new System.Drawing.Size(48, 12);
|
||||
this.lb_Volume.TabIndex = 24;
|
||||
this.lb_Volume.Text = "Volume";
|
||||
this.tl_RealtimeOrder.Columns.AddRange(new DevExpress.XtraTreeList.Columns.TreeListColumn[] {
|
||||
this.treeListColumn1,
|
||||
this.treeListColumn2,
|
||||
this.treeListColumn3,
|
||||
this.treeListColumn4});
|
||||
this.tl_RealtimeOrder.Cursor = System.Windows.Forms.Cursors.Default;
|
||||
this.tl_RealtimeOrder.Location = new System.Drawing.Point(959, 30);
|
||||
this.tl_RealtimeOrder.Name = "tl_RealtimeOrder";
|
||||
this.tl_RealtimeOrder.Size = new System.Drawing.Size(638, 278);
|
||||
this.tl_RealtimeOrder.TabIndex = 17;
|
||||
//
|
||||
// tb_Volume
|
||||
// treeListColumn1
|
||||
//
|
||||
this.tb_Volume.Location = new System.Drawing.Point(716, 735);
|
||||
this.tb_Volume.Name = "tb_Volume";
|
||||
this.tb_Volume.Size = new System.Drawing.Size(100, 21);
|
||||
this.tb_Volume.TabIndex = 23;
|
||||
this.treeListColumn1.Caption = "구매 항목";
|
||||
this.treeListColumn1.FieldName = "BuyMarket";
|
||||
this.treeListColumn1.Name = "treeListColumn1";
|
||||
this.treeListColumn1.Visible = true;
|
||||
this.treeListColumn1.VisibleIndex = 0;
|
||||
//
|
||||
// bt_Search
|
||||
// treeListColumn2
|
||||
//
|
||||
this.bt_Search.Location = new System.Drawing.Point(997, 735);
|
||||
this.bt_Search.Name = "bt_Search";
|
||||
this.bt_Search.Size = new System.Drawing.Size(122, 23);
|
||||
this.bt_Search.TabIndex = 25;
|
||||
this.bt_Search.Text = "구매한 데이터 조회";
|
||||
this.bt_Search.UseVisualStyleBackColor = true;
|
||||
this.bt_Search.Click += new System.EventHandler(this.bt_Search_Click);
|
||||
this.treeListColumn2.Caption = "구매 가격";
|
||||
this.treeListColumn2.FieldName = "BuyValue";
|
||||
this.treeListColumn2.Name = "treeListColumn2";
|
||||
this.treeListColumn2.Visible = true;
|
||||
this.treeListColumn2.VisibleIndex = 1;
|
||||
//
|
||||
// bt_Cancel
|
||||
// treeListColumn3
|
||||
//
|
||||
this.bt_Cancel.Location = new System.Drawing.Point(1288, 737);
|
||||
this.bt_Cancel.Name = "bt_Cancel";
|
||||
this.bt_Cancel.Size = new System.Drawing.Size(75, 23);
|
||||
this.bt_Cancel.TabIndex = 26;
|
||||
this.bt_Cancel.Text = "주문취소";
|
||||
this.bt_Cancel.UseVisualStyleBackColor = true;
|
||||
this.bt_Cancel.Click += new System.EventHandler(this.bt_Cancel_Click);
|
||||
this.treeListColumn3.Caption = "구매 개수";
|
||||
this.treeListColumn3.FieldName = "BuyCount";
|
||||
this.treeListColumn3.Name = "treeListColumn3";
|
||||
this.treeListColumn3.Visible = true;
|
||||
this.treeListColumn3.VisibleIndex = 2;
|
||||
//
|
||||
// treeListColumn4
|
||||
//
|
||||
this.treeListColumn4.Caption = "검출 된 시간";
|
||||
this.treeListColumn4.FieldName = "BuyDateTime";
|
||||
this.treeListColumn4.Name = "treeListColumn4";
|
||||
this.treeListColumn4.Visible = true;
|
||||
this.treeListColumn4.VisibleIndex = 3;
|
||||
//
|
||||
// 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.bt_Cancel);
|
||||
this.Controls.Add(this.bt_Search);
|
||||
this.Controls.Add(this.lb_Volume);
|
||||
this.Controls.Add(this.tb_Volume);
|
||||
this.Controls.Add(this.bt_Sell);
|
||||
this.Controls.Add(this.bt_Buy);
|
||||
this.Controls.Add(this.lb_Price);
|
||||
this.Controls.Add(this.lb_CoinFullName);
|
||||
this.Controls.Add(this.tb_Price);
|
||||
this.Controls.Add(this.tb_CoinFullName);
|
||||
this.Controls.Add(this.label13);
|
||||
this.Controls.Add(this.tl_RealtimeOrder);
|
||||
this.Controls.Add(this.groupBox3);
|
||||
this.Controls.Add(this.bt_alive);
|
||||
this.Controls.Add(this.lb_log);
|
||||
this.Controls.Add(this.label9);
|
||||
@@ -634,8 +646,6 @@
|
||||
this.Controls.Add(this.bt_Save);
|
||||
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);
|
||||
@@ -648,6 +658,9 @@
|
||||
this.groupBox2.PerformLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.tl_BuyList)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.tl_Result)).EndInit();
|
||||
this.groupBox3.ResumeLayout(false);
|
||||
this.groupBox3.PerformLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.tl_RealtimeOrder)).EndInit();
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
|
||||
@@ -700,16 +713,17 @@
|
||||
private System.Windows.Forms.CheckBox cb_UpperMainIndi;
|
||||
private System.Windows.Forms.CheckBox cb_IncludeClearIndicator;
|
||||
private System.Windows.Forms.Button bt_alive;
|
||||
private System.Windows.Forms.TextBox tb_CoinFullName;
|
||||
private System.Windows.Forms.TextBox tb_Price;
|
||||
private System.Windows.Forms.Label lb_CoinFullName;
|
||||
private System.Windows.Forms.Label lb_Price;
|
||||
private System.Windows.Forms.Button bt_Buy;
|
||||
private System.Windows.Forms.Button bt_Sell;
|
||||
private System.Windows.Forms.Label lb_Volume;
|
||||
private System.Windows.Forms.TextBox tb_Volume;
|
||||
private System.Windows.Forms.Button bt_Search;
|
||||
private System.Windows.Forms.Button bt_Cancel;
|
||||
private System.Windows.Forms.GroupBox groupBox3;
|
||||
private System.Windows.Forms.ComboBox cb_AccountList;
|
||||
private System.Windows.Forms.ComboBox cb_UserList;
|
||||
private System.Windows.Forms.Label label12;
|
||||
private System.Windows.Forms.Label label11;
|
||||
private System.Windows.Forms.Label label13;
|
||||
private DevExpress.XtraTreeList.TreeList tl_RealtimeOrder;
|
||||
private DevExpress.XtraTreeList.Columns.TreeListColumn treeListColumn1;
|
||||
private DevExpress.XtraTreeList.Columns.TreeListColumn treeListColumn2;
|
||||
private DevExpress.XtraTreeList.Columns.TreeListColumn treeListColumn3;
|
||||
private DevExpress.XtraTreeList.Columns.TreeListColumn treeListColumn4;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
using Microsoft.CodeAnalysis.CSharp.Scripting;
|
||||
using Million;
|
||||
using Million.Data;
|
||||
using Million.Data.Upbit;
|
||||
using Million.Data.Upbit.Order;
|
||||
using Million.DbManagement;
|
||||
using Million.IndicatorConditionSetup;
|
||||
@@ -27,20 +28,17 @@ namespace Million_Buyer
|
||||
{
|
||||
bool RealTimeMode = true;
|
||||
|
||||
public SavedResultData _saveResultData;
|
||||
private SavedResultData _saveResultData;
|
||||
//결과 데이터
|
||||
public List<SearchResult> resultDataList;
|
||||
private List<SearchResult> resultDataList;
|
||||
//구매 데이터
|
||||
public List<CandleDataList> buyList;
|
||||
private List<CandleDataList> buyList;
|
||||
|
||||
bool SetIndicator = false;
|
||||
bool ThreadFlag = false;
|
||||
|
||||
bool AliveCheck = false;
|
||||
|
||||
Thread thread = null;
|
||||
|
||||
List<Order> orderList = new List<Order>();
|
||||
private Thread thread = null;
|
||||
private Thread orderThread = null;
|
||||
private List<Account> accounts = null;
|
||||
|
||||
public MainForm()
|
||||
{
|
||||
@@ -71,7 +69,14 @@ namespace Million_Buyer
|
||||
SellSetupList = new List<object>()
|
||||
};
|
||||
resultDataList = new List<SearchResult>();
|
||||
buyList = new List<CandleDataList>();
|
||||
buyList = new List<CandleDataList>();
|
||||
|
||||
// 현재 연결되어 있는 KEY를 이용하여 확인
|
||||
cb_UserList.Items.Add("이장화");
|
||||
cb_UserList.Items.Add("김영호");
|
||||
cb_UserList.Items.Add("이찬균");
|
||||
|
||||
cb_UserList.SelectedIndex = 0;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -138,12 +143,21 @@ namespace Million_Buyer
|
||||
{
|
||||
if (!ThreadFlag)
|
||||
{
|
||||
SetReadOnly(true);
|
||||
bt_Start.Enabled = false;
|
||||
thread = new Thread(ThreadFunction);
|
||||
thread.Start();
|
||||
|
||||
//실시간 검증에는 동작하지 않음
|
||||
if (!RealTimeFlag)
|
||||
{
|
||||
orderThread = new Thread(OrderThreadFunction);
|
||||
orderThread.Start();
|
||||
}
|
||||
|
||||
ThreadFlag = true;
|
||||
bt_Start.Enabled = false;
|
||||
rd_buyer.Enabled = false;
|
||||
rd_Realtime.Enabled = false;
|
||||
cb_UserList.Enabled = false;
|
||||
cb_AccountList.Enabled = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -157,9 +171,18 @@ namespace Million_Buyer
|
||||
{
|
||||
ThreadFlag = false;
|
||||
if (!RealTimeMode && thread != null) thread.Abort();
|
||||
if (!RealTimeMode && orderThread != null) orderThread.Abort();
|
||||
|
||||
bt_Start.Enabled = true;
|
||||
rd_buyer.Enabled = true;
|
||||
rd_Realtime.Enabled = true;
|
||||
|
||||
if (rd_buyer.Checked)
|
||||
SetReadOnly(false);
|
||||
|
||||
cb_UserList.Enabled = true;
|
||||
cb_AccountList.Enabled = true;
|
||||
|
||||
/*
|
||||
* 종료 된 후 데이터 처리 소스는 여기서 처리
|
||||
* 1. Grid에 Stop 후 데이터 처리
|
||||
@@ -168,11 +191,23 @@ namespace Million_Buyer
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 실시간 Order 현황 Check(1초에 한번씩 호출할까 2초에 한번할까 고민중
|
||||
/// </summary>
|
||||
private void OrderThreadFunction()
|
||||
{
|
||||
while (ThreadFlag)
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 실제 동작 Thread
|
||||
/// </summary>
|
||||
private void ThreadFunction()
|
||||
{
|
||||
#region Default Setting
|
||||
//시간 체크
|
||||
var sw = new System.Diagnostics.Stopwatch();
|
||||
|
||||
@@ -227,7 +262,7 @@ namespace Million_Buyer
|
||||
|
||||
var cnt = 0;
|
||||
sw.Start();
|
||||
|
||||
#endregion
|
||||
while (ThreadFlag)
|
||||
{
|
||||
try
|
||||
@@ -384,7 +419,7 @@ namespace Million_Buyer
|
||||
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.SellValue = OrderbookManager.GetAskPrice(CalculateManager.GetConditionValue(sellRex, valDic, sellItem.CalculateFlag), false);
|
||||
sellItem.SellTime = time;
|
||||
|
||||
var buyCandleData = buyItem.CandleDataLists_Im[0];
|
||||
@@ -433,8 +468,8 @@ namespace Million_Buyer
|
||||
|
||||
var moneyVal = (sellVal * (1 - 0.0005) - buyCandleData.BuyValue * (1 - 0.0005)) * result.BuyCount;
|
||||
|
||||
tl_Result.AppendNode(new object[] {
|
||||
buyNode.GetValue("BuyMarket"),
|
||||
tl_Result.AppendNode(new object[] {
|
||||
buyNode.GetValue("BuyMarket"),
|
||||
buyNode.GetValue("BuyValue"),
|
||||
buyNode.GetValue("BuyCount"),
|
||||
buyNode.GetValue("BuyDateTime"),
|
||||
@@ -484,6 +519,7 @@ namespace Million_Buyer
|
||||
}
|
||||
}
|
||||
|
||||
#region Thread 종료 후 후 처리 할 로직
|
||||
if (RealTimeFlag)
|
||||
{
|
||||
|
||||
@@ -492,7 +528,7 @@ namespace Million_Buyer
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
SaveData();
|
||||
InsertLog("Thread Out");
|
||||
@@ -595,7 +631,6 @@ namespace Million_Buyer
|
||||
/// <param name="log"></param>
|
||||
private void InsertLog(string log)
|
||||
{
|
||||
|
||||
this.BeginInvoke(new Action(delegate ()
|
||||
{
|
||||
if (lb_log.Items.Count > 500)
|
||||
@@ -613,84 +648,112 @@ namespace Million_Buyer
|
||||
private void bt_alive_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (thread != null && thread.IsAlive)
|
||||
InsertLog("Thread Alive.");
|
||||
InsertLog("Realtime Thread Alive.");
|
||||
else
|
||||
InsertLog("Thread Death.");
|
||||
InsertLog("Realtime Thread Death.");
|
||||
|
||||
if (orderThread != null && orderThread.IsAlive)
|
||||
InsertLog("Order List Thread Alive.");
|
||||
else
|
||||
InsertLog("Order List Thread Death.");
|
||||
}
|
||||
|
||||
#region 임시 함수들(구매 내역 조회 및 구매 판매 함수)
|
||||
private void bt_Search_Click(object sender, EventArgs e)
|
||||
{
|
||||
var orderList = CommonProperty.UpbitApi.GetOrderListInformation(UpbitOrderListTypes.waitwatch);
|
||||
orderList.AddRange(CommonProperty.UpbitApi.GetOrderListInformation(UpbitOrderListTypes.donecancel));
|
||||
InsertLog("------------------------------------");
|
||||
InsertLog("Order List");
|
||||
this.orderList = orderList;
|
||||
foreach (var item in orderList)
|
||||
{
|
||||
InsertLog("@@@@@@@@@@@@@@@");
|
||||
InsertLog(JsonConvert.SerializeObject(item));
|
||||
}
|
||||
InsertLog("------------------------------------");
|
||||
}
|
||||
|
||||
private void bt_Buy_Click(object sender, EventArgs e)
|
||||
{
|
||||
var coinFullName = tb_CoinFullName.Text;
|
||||
#region 임시 함수들(구매 내역 조회 및 구매 판매 함수)
|
||||
|
||||
//만약 Price가 null or 빈값일 경우 현재가 구매
|
||||
var price = tb_Price.Text;
|
||||
|
||||
double.TryParse(tb_Volume.Text, out var volume);
|
||||
double.TryParse(price, out var priceData);
|
||||
/// <summary>
|
||||
/// 구매 함수
|
||||
/// Price가 0일경우 현재가 구매
|
||||
/// </summary>
|
||||
/// <param name="coinFullName"></param>
|
||||
/// <param name="volume"></param>
|
||||
/// <param name="price"></param>
|
||||
private void OrderBuy(string coinFullName, double volume, double price)
|
||||
{
|
||||
var side = UpbitOrderSide.bid;
|
||||
var ordType = UpbitOrderType.limit;
|
||||
|
||||
if (string.IsNullOrWhiteSpace(price))
|
||||
if (price == 0)
|
||||
ordType = UpbitOrderType.price;
|
||||
var returnData = CommonProperty.UpbitApi.TryOrder(coinFullName, side, volume, priceData, ordType);
|
||||
var returnData = CommonProperty.UpbitApi.TryOrder(coinFullName, side, volume, price, ordType);
|
||||
InsertLog("------------------------------------");
|
||||
InsertLog("Buy Return Data : " + JsonConvert.SerializeObject(returnData));
|
||||
InsertLog("------------------------------------");
|
||||
}
|
||||
|
||||
private void bt_Sell_Click(object sender, EventArgs e)
|
||||
{
|
||||
var coinFullName = tb_CoinFullName.Text;
|
||||
|
||||
//만약 Price가 null or 빈값일 경우 현재가 구매
|
||||
var price = tb_Price.Text;
|
||||
|
||||
double.TryParse(tb_Volume.Text, out var volume);
|
||||
double.TryParse(price, out var priceData);
|
||||
|
||||
/// <summary>
|
||||
/// 판매하는 함수
|
||||
/// price가 0일 경우 지정가 판매
|
||||
/// </summary>
|
||||
/// <param name="coinFullName"></param>
|
||||
/// <param name="volume"></param>
|
||||
/// <param name="price"></param>
|
||||
private void OrderSell(string coinFullName, string uuid, double price)
|
||||
{
|
||||
var side = UpbitOrderSide.ask;
|
||||
var ordType = UpbitOrderType.limit;
|
||||
|
||||
if (string.IsNullOrWhiteSpace(price))
|
||||
if (price == 0)
|
||||
ordType = UpbitOrderType.market;
|
||||
|
||||
var returnData = CommonProperty.UpbitApi.TryOrder(coinFullName, side, volume, priceData, ordType);
|
||||
// 판매시 Order Cancel 진행
|
||||
OrderCancel(coinFullName, uuid);
|
||||
|
||||
var orderData = CommonProperty.UpbitApi.GetOrderInformation(uuid);
|
||||
var returnData = CommonProperty.UpbitApi.TryOrder(coinFullName, side, orderData.ExecutedVolume, price, ordType);
|
||||
|
||||
InsertLog("------------------------------------");
|
||||
InsertLog("Sell Return Data : " + JsonConvert.SerializeObject(returnData));
|
||||
InsertLog("------------------------------------");
|
||||
}
|
||||
#endregion
|
||||
|
||||
private void bt_Cancel_Click(object sender, EventArgs e)
|
||||
|
||||
/// <summary>
|
||||
/// Order 취소 함수
|
||||
/// </summary>
|
||||
/// <param name="coinFullName"></param>
|
||||
/// <param name="uuid"></param>
|
||||
private void OrderCancel(string coinFullName, string uuid ="")
|
||||
{
|
||||
InsertLog("------------------------------------");
|
||||
InsertLog("Order Cancel");
|
||||
|
||||
foreach (var item in this.orderList)
|
||||
|
||||
var orderList = CommonProperty.UpbitApi.GetOrderListInformation(UpbitOrderListTypes.waitwatch, uuid);
|
||||
|
||||
foreach (var item in orderList)
|
||||
{
|
||||
if(item.State == "wait" || item.State == "watch")
|
||||
if (item.State == "wait" || item.State == "watch")
|
||||
{
|
||||
var returnData = CommonProperty.UpbitApi.CancelOrder(item.Uuid);
|
||||
InsertLog("Order Cancel Data : " + JsonConvert.SerializeObject(returnData));
|
||||
if(item.CoinFullName == coinFullName)
|
||||
{
|
||||
var returnData = CommonProperty.UpbitApi.CancelOrder(item.Uuid);
|
||||
InsertLog("Order Cancel Data : " + JsonConvert.SerializeObject(returnData));
|
||||
}
|
||||
}
|
||||
}
|
||||
InsertLog("------------------------------------");
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// User 변경
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
private void cb_UserList_SelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
//CommonProperty.ChangeUpbitApiKey.
|
||||
var flag = CommonProperty.ChangeUpbitApiKey(cb_UserList.Text);
|
||||
if (flag)
|
||||
{
|
||||
this.accounts = CommonProperty.UpbitApi.GetAccounts();
|
||||
|
||||
var list = this.accounts.Select(t => t.Currency).ToList();
|
||||
foreach (var item in list)
|
||||
cb_AccountList.Items.Add(item);
|
||||
}
|
||||
else
|
||||
MessageBox.Show("해당 사용자는 Key List에 존재하지 않습니다.");
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -134,7 +134,6 @@
|
||||
<EmbeddedResource Include="HunterMainForm.resx">
|
||||
<DependentUpon>HunterMainForm.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Properties\licenses.licx" />
|
||||
<EmbeddedResource Include="Properties\Resources.resx">
|
||||
<Generator>ResXFileCodeGenerator</Generator>
|
||||
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
|
||||
|
||||
@@ -22,16 +22,41 @@ namespace Million
|
||||
public static string accessKey = "FIkdR3xF4AxJpCI16xaM6qzQkVkFeQPBNONDDMtg";
|
||||
public static string secretKey = "Uk8iulXofcfw8EJvWY6WMoHsmWZ5GWHZ2d5uycli";
|
||||
|
||||
/*
|
||||
* Key List는 어떻게 관리할 지 얘기 후 처리
|
||||
public static string kyhAccessKey = "FIkdR3xF4AxJpCI16xaM6qzQkVkFeQPBNONDDMtg";
|
||||
public static string kyhSecretKey = "Uk8iulXofcfw8EJvWY6WMoHsmWZ5GWHZ2d5uycli";
|
||||
*/
|
||||
public static Dictionary<string, Dictionary<string, string>> keyList = new Dictionary<string, Dictionary<string, string>>
|
||||
{
|
||||
{ "이장화", new Dictionary<string, string>()
|
||||
{
|
||||
{ "accessKey", "" },
|
||||
{"secretKey", "" }
|
||||
}
|
||||
},
|
||||
{ "김영호", new Dictionary<string, string>()
|
||||
{
|
||||
{ "accessKey", "FIkdR3xF4AxJpCI16xaM6qzQkVkFeQPBNONDDMtg" },
|
||||
{"secretKey", "Uk8iulXofcfw8EJvWY6WMoHsmWZ5GWHZ2d5uycli" }
|
||||
}
|
||||
},
|
||||
{ "이찬균", new Dictionary<string, string>()
|
||||
{
|
||||
{ "accessKey", "" },
|
||||
{"secretKey", "" }
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
public static UpbitAPI UpbitApi = new UpbitAPI(accessKey, secretKey);
|
||||
|
||||
public static void ChangeUpbitApiKey(string accessKey, string secretKey)
|
||||
public static bool ChangeUpbitApiKey(string key)
|
||||
{
|
||||
UpbitApi = new UpbitAPI(accessKey, secretKey);
|
||||
if (keyList.ContainsKey(key))
|
||||
{
|
||||
var data = keyList[key];
|
||||
if (string.IsNullOrWhiteSpace(data["accessKey"]) || string.IsNullOrWhiteSpace(data["secretKey"]))
|
||||
return false;
|
||||
UpbitApi = new UpbitAPI(data["accessKey"], data["secretKey"]);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
@@ -96,9 +96,10 @@ namespace Million.WebMangement.Upbit
|
||||
|
||||
/// <summary>
|
||||
/// Order List가져오는 함수
|
||||
/// uuids는 A,B,C이런식으로 나와야함
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public List<Order> GetOrderListInformation(UpbitOrderListTypes type, UpbitOrderListOrderByType orderType = UpbitOrderListOrderByType.desc)
|
||||
public List<Order> GetOrderListInformation(UpbitOrderListTypes type, string uuids = "", UpbitOrderListOrderByType orderType = UpbitOrderListOrderByType.desc)
|
||||
{
|
||||
var url = UpbitURL_Orders;
|
||||
|
||||
@@ -108,8 +109,12 @@ namespace Million.WebMangement.Upbit
|
||||
typeStr = "wait,watch";
|
||||
else if (type == UpbitOrderListTypes.donecancel)
|
||||
typeStr = "done,cancel";
|
||||
var data = new NameValueCollection { { "states", typeStr }, { "order_by", orderType.ToString() } };
|
||||
|
||||
var resResult = process.CallAPI(url, HttpMethod.Get, new NameValueCollection { { "states", typeStr },{ "order_by", orderType.ToString() } });
|
||||
if (uuids != "")
|
||||
data.Add("uuids", uuids);
|
||||
|
||||
var resResult = process.CallAPI(url, HttpMethod.Get, data);
|
||||
return WebServiceFunctions.GetOrderListInformation(resResult);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user