From 7c63795f12777c786a6a97d9f03df76588a0bed8 Mon Sep 17 00:00:00 2001 From: mjjo Date: Fri, 22 Jul 2016 16:31:43 +0900 Subject: [PATCH] =?UTF-8?q?=EB=A1=9C=EA=B7=B8=20=EC=88=98=EC=A0=95=20?= =?UTF-8?q?=EA=B8=B0=EB=B3=B8=20=ED=8C=8C=EB=9D=BC=EB=AF=B8=ED=84=B0=20?= =?UTF-8?q?=EB=B3=80=EA=B2=BD=20watch=20=EC=82=AD=EC=A0=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- MainForm.Designer.cs | 4 ++-- ULBalanceDlg.cs | 8 ++++++-- ULDataMgr.cs | 9 +++++++++ 3 files changed, 17 insertions(+), 4 deletions(-) diff --git a/MainForm.Designer.cs b/MainForm.Designer.cs index 62e11fc..c2c8700 100644 --- a/MainForm.Designer.cs +++ b/MainForm.Designer.cs @@ -158,7 +158,7 @@ this.tbTrailing.Name = "tbTrailing"; this.tbTrailing.Size = new System.Drawing.Size(100, 21); this.tbTrailing.TabIndex = 10; - this.tbTrailing.Text = "1.0%"; + this.tbTrailing.Text = "3.0%"; this.tbTrailing.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; // // label5 @@ -176,7 +176,7 @@ this.tbLossCut.Name = "tbLossCut"; this.tbLossCut.Size = new System.Drawing.Size(100, 21); this.tbLossCut.TabIndex = 10; - this.tbLossCut.Text = "2.0%"; + this.tbLossCut.Text = "3.0%"; this.tbLossCut.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; // // label6 diff --git a/ULBalanceDlg.cs b/ULBalanceDlg.cs index 3803a15..e45959d 100644 --- a/ULBalanceDlg.cs +++ b/ULBalanceDlg.cs @@ -192,18 +192,22 @@ namespace upper_limit_crawler // loss cut if (iCurPrice <= OwnItem.m_iUnitBEP * (1.0f - m_DataMgr.m_Setting.m_fLossCut)) { - UlUtil.Trace(string.Format("[{0}] 손절({1})", OwnItem.m_strCodeName, iCurPrice)); + UlUtil.Trace(string.Format("[{0}] 손절 {1}원 ({2})", OwnItem.m_strCodeName, iCurPrice, (iCurPrice/OwnItem.m_iUnitBEP-1.0f).ToString("0.00%"))); m_DataMgr.GetTrader().SellCurPrice(OwnItem.m_strCode, OwnItem.m_iPayBalance); m_OwnList.Remove(OwnItem); + m_DataMgr.RemoveWatch(strCode); + + // own에서 삭제하고 미체결 리스트에 넣고, watch에서도 뺀다 // 미체결 잔량 취소 } // trailing else if (iCurPrice <= OwnItem.m_iMaxPrice - OwnItem.m_iUnitBEP * m_DataMgr.m_Setting.m_fTrailing) { - UlUtil.Trace(string.Format("[{0}] 트레일링 매도({1})", OwnItem.m_strCodeName, iCurPrice)); + UlUtil.Trace(string.Format("[{0}] 트레일링 매도 {1}원 ({2})", OwnItem.m_strCodeName, iCurPrice, (iCurPrice/OwnItem.m_iUnitBEP-1.0f).ToString("0.00%"))); m_DataMgr.GetTrader().SellCurPrice(OwnItem.m_strCode, OwnItem.m_iPayBalance); m_OwnList.Remove(OwnItem); + m_DataMgr.RemoveWatch(strCode); } } } diff --git a/ULDataMgr.cs b/ULDataMgr.cs index ec77299..78b03f2 100644 --- a/ULDataMgr.cs +++ b/ULDataMgr.cs @@ -88,6 +88,15 @@ namespace upper_limit_crawler m_WatchList.Add(strCode, item); } + public void RemoveWatch(string strCode) + { + if (m_WatchList.ContainsKey(strCode)) + return; + + m_WatchList[strCode].m_StockCur.Unsubscribe(); + m_WatchList.Remove(strCode); + } + public void AddBlackList(string strCode) { m_BlackList.Add(strCode);