- 마감 전 청산
- 미체결 취소 버튼 - TR lock
This commit is contained in:
@@ -67,6 +67,7 @@ namespace AutoSellerNS
|
||||
List<NCITEM> m_NCItems = new List<NCITEM>();
|
||||
string m_strSelectedCode = "";
|
||||
bool m_bSell = false;
|
||||
bool m_bClearBeforeClosing = false;
|
||||
|
||||
System.Timers.Timer m_Timer = new System.Timers.Timer();
|
||||
|
||||
@@ -339,6 +340,21 @@ namespace AutoSellerNS
|
||||
}
|
||||
}
|
||||
|
||||
private async void ClearBeforeClsosingProc()
|
||||
{
|
||||
if(DateTime.Now >= m_CybosHelper.GetMarketEndTime()-TimeSpan.FromMinutes(10))
|
||||
{
|
||||
// 미체결 모두 취소
|
||||
foreach (var ncitem in m_NCItems)
|
||||
await m_CybosHelper.CancelItem(ncitem.m_strCode, ncitem.m_iOrgOrderNo);
|
||||
|
||||
// 잔량 모두 시장가로 매도
|
||||
foreach (var item in m_Items)
|
||||
await m_CybosHelper.SellItem(item.m_strCode, item.m_iAvailableQuantity);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private async void Timer_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
|
||||
{
|
||||
await CorrectItems();
|
||||
@@ -352,6 +368,9 @@ namespace AutoSellerNS
|
||||
lbSBCnt.Invoke(new Action(delegate {
|
||||
lbSBCnt.Text = $"{m_CybosHelper.GetLimitRemainCountSB(), 3}";
|
||||
}));
|
||||
|
||||
if(m_bClearBeforeClosing == true)
|
||||
ClearBeforeClsosingProc();
|
||||
}
|
||||
|
||||
private void btUpdate_Click(object sender, EventArgs e)
|
||||
@@ -455,6 +474,40 @@ namespace AutoSellerNS
|
||||
return m_bSell;
|
||||
}
|
||||
|
||||
private void btClearBeforeClosing_Click(object sender, EventArgs e)
|
||||
{
|
||||
btClearBeforeClosing.Primary = !btClearBeforeClosing.Primary;
|
||||
m_bClearBeforeClosing = (btClearBeforeClosing.Primary == false);
|
||||
}
|
||||
|
||||
private async void btClearAll_Click(object sender, EventArgs e)
|
||||
{
|
||||
List<ITEM> cloned;
|
||||
lock (m_Items)
|
||||
cloned = m_Items.ConvertAll(s => s);
|
||||
foreach (var item in cloned)
|
||||
{
|
||||
await m_CybosHelper.SellItem(item.m_strCode, item.m_iItemCnt);
|
||||
}
|
||||
}
|
||||
|
||||
private void btUpdateNC_Click(object sender, EventArgs e)
|
||||
{
|
||||
UpdateNCItem();
|
||||
}
|
||||
|
||||
private async void btCancel_Click(object sender, EventArgs e)
|
||||
{
|
||||
foreach(ListViewItem nc in lvNCItem.SelectedItems)
|
||||
{
|
||||
string strCode = nc.SubItems[chNCCode.Index].Text;
|
||||
string strOrgOrderNo = nc.SubItems[chNCOrgOrderNo.Index].Text;
|
||||
int iOrgOrderNo = int.Parse(strOrgOrderNo);
|
||||
|
||||
await m_CybosHelper.CancelItem(strCode, iOrgOrderNo);
|
||||
}
|
||||
}
|
||||
|
||||
public void OnReceivedCurPrice(string strCode, int iPrice, int iMaxPrice, double dCheckCountLimit, int iCheckCount, bool bReal)
|
||||
{
|
||||
ITEM Item = m_Items.FirstOrDefault(s => s.m_strCode == strCode);
|
||||
@@ -639,11 +692,6 @@ namespace AutoSellerNS
|
||||
SimulationHelper helper = new SimulationHelper(this, m_CybosHelper, tbSimulationLog);
|
||||
helper.StartSimuation2();
|
||||
}
|
||||
|
||||
private void btUpdateNC_Click(object sender, EventArgs e)
|
||||
{
|
||||
UpdateNCItem();
|
||||
}
|
||||
#endregion
|
||||
|
||||
private void lvItems_ColumnClick(object sender, ColumnClickEventArgs e)
|
||||
@@ -664,17 +712,6 @@ namespace AutoSellerNS
|
||||
lvNCItem.Sort();
|
||||
}
|
||||
|
||||
private async void btClearAll_Click(object sender, EventArgs e)
|
||||
{
|
||||
List<ITEM> cloned;
|
||||
lock (m_Items)
|
||||
cloned = m_Items.ConvertAll(s => s);
|
||||
foreach(var item in cloned)
|
||||
{
|
||||
await m_CybosHelper.SellItem(item.m_strCode, item.m_iItemCnt);
|
||||
}
|
||||
}
|
||||
|
||||
private void btUpdateConclusion_Click(object sender, EventArgs e)
|
||||
{
|
||||
m_CybosHelper.GetConclusion();
|
||||
|
||||
Reference in New Issue
Block a user