/*매수전략 생성*/ private void createStrategy() { // if (sender.Equals(createStrategyButton)) // { string account = accountComboBox.Text; if (account.Length == 0) { MessageBox.Show("투자 계좌번호를 선택해주세요"); return; } string conditionName = buycondition_combo.Text; condition buyingCondition = null; //매수조건식 if (conditionName.Length > 0) { buyingCondition = conditionList.Find(o => o.name.Equals(conditionName)); } else // 매수조건식 선택 x { MessageBox.Show("매수 조건식을 선택하세요."); } if (buyingCondition == null) { return; } string buyingOrderOption; // 호가옵션 if (marketPriceRadio.Checked) { buyingOrderOption = "시장가"; } else { buyingOrderOption = buyingOrderComboBox.Text; } int totablInvestMent; if (investmentnumeric1.Value == 0) { MessageBox.Show("투자금액을 설정해주세요"); return; } // totablInvestMent = (int)investmentnumeric1.Value - Convert.ToInt32(lb매입금액.Text); // 총투자금액 totablInvestMent = int.Parse(lb총금액.Text) - int.Parse(lb매입금액.Text); int itemCount = (int)itemcountnumeric2.Value; // 매수조건수 tradingStrategy ts = new tradingStrategy(account, buyingCondition, buyingOrderOption, totablInvestMent, itemCount); tradingStrategyList.Add(ts); //MessageBox.Show("전략이 생성되었습니다."); AddStrategyToDataGridView(ts); }
public int itemInvestment; // 종목별 투자금액 public tradingStrategy(string account, condition condition, string buyingOrderOption, int totalInvestment, int buyingItemCount) { this.account = account; this.buyingcondition = condition; this.buyingOrderOption = buyingOrderOption; this.totalInvestment = totalInvestment; this.buyingItemCount = buyingItemCount; if (buyingItemCount != 0) { this.itemInvestment = totalInvestment / buyingItemCount; } }
/* 실시간 조건검색 정지 매서드*/ private void stopStrategyFund() { string nameOfCondition = realTimeConditionCombo.Text; condition tmp = null; if (nameOfCondition.Length > 0) { tmp = conditionList.Find(o => o.name.Equals(nameOfCondition)); } axKHOpenAPI1.SendConditionStop(GetScrNum(), tmp.name, tmp.index); }
/* 조건검색을 통한 실시간 주식들 정보가져오기 * 서버를 통해 조건검색 ( 실시간 주식정보) 요청*/ private void findStrategyFund() // SendCondition { string nameOfCondition = realTimeConditionCombo.Text; condition tmp = null; if (nameOfCondition.Length > 0) { tmp = conditionList.Find(o => o.name.Equals(nameOfCondition)); long lRet = axKHOpenAPI1.SendCondition(GetScrNum(), tmp.name, tmp.index, 1); Console.WriteLine(lRet); // 1 } else { MessageBox.Show("조건이름을 설정하세요"); return; } }
private void get_OnReceiveConditionVer(object sender, AxKHOpenAPILib._DKHOpenAPIEvents_OnReceiveConditionVerEvent e) { string conditions = axKHOpenAPI1.GetConditionNameList(); // 조건식 이름 GET //000^안전; string[] conditionArray = conditions.Split(';'); foreach (string condition in conditionArray) { if (condition.Length > 0) { string[] conditionInfo = condition.Split('^'); string index = conditionInfo[0]; string name = conditionInfo[1]; condition cd = new condition(int.Parse(index), name); conditionList.Add(cd); } } foreach (condition condition in conditionList) { buycondition_combo.Items.Add(condition.name); realTimeConditionCombo.Items.Add(condition.name); } }