커뮤니티

Account1.GetBalanceETCinfo 값이 0으로 나옵니다.

프로필 이미지
카즈머스
2016-12-29 14:45:25
1790
글번호 224077
답변완료

첨부 이미지

var gIsNH = true; var infoNum = gIsNH ? 16 : 5; var d100 = Account1.GetBalanceETCinfo(infoNum); //NH D 100% 주문가능금액, 하이투자증권 : 5, 주문가능금액 var dplus2 = Account1.GetBalanceETCinfo(20); //NH D + 2 예수금 this.currency = gIsNH ? dplus2 : d100; dplus2, ", currency = ", this.currency); this.balance = Account1.GetTotalAmount(1, 2); //주식 잔고 평가금액 gInitialMoney = Math.min(초기투자금액, gInitialMoney); var fakeCurrency = gInitialMoney - this.balance; this.currency = this.currency > fakeCurrency ? fakeCurrency : this.currency; if( this.currency <= 0 ) { this.moneyPerStock = this.moneyToBuyStock = this.moneyToBuy = 0; Log.msg("주문 가능 현금이 없습니다. currency = ", this.currency, ', balance = ', this.balance, ', balance = ', this.balance , ', fakeCurrency = ', fakeCurrency, ', moneyForTrade = ', this.moneyForTrade, ', gInitialMoney = ', gInitialMoney); return; } 코드는 복잡해보이지만 Account1.GetBalanceETCinfo(20) 값이 가끔 0 으로 나오는 오류가 난다는 내용입니다. 찍히는 로그는 캡쳐해두었습니다. 평상시 잘 읽히다가 가끔 불특정 상황에서 일어나는 일이라서 스팟 적용에 당황스런 상황이 발생합니다. 추가) this.balance = Account1.GetTotalAmount(1, 2); 이 값도 잘 안들어올 때가 있습니다. 예를 들어 매수체결 후 6초가 지난 후 읽었는데도 balance 값이 0으로 찍혔습니다.
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2016-12-29 16:14:47

안녕하세요 예스스탁입니다. 전화로 답변드린 부분과 같이 가원장의 초기화가 수식안의 refresh, 계좌조회화면에서 조회버튼 클릭시, 다른 PC에서의 주문에 대한 체결이 수신될때 발생되는데 초기화시에 가원장의 내용을 비우고 실원장에서 내용을 수신받고 업데이트가 이루어 지게 됩니다. 계좌조회화면에서 조회버튼을 클릭하거나 다른 매체의 주문에 대한 체결여부는 스팟에서 확인할수 없는 내용이고 말씀하신 내용과 같이 원장 초기화시에 내용을 비우지 않고 정보를 업데이터 하는 방법이 가장 합리적인 것으로 판단이 되어 해당 방향으로 수정하도록 하겠습니다. 즐거운 하루되세요 > 카즈머스 님이 쓴 글입니다. > 제목 : Account1.GetBalanceETCinfo 값이 0으로 나옵니다. > var gIsNH = true; var infoNum = gIsNH ? 16 : 5; var d100 = Account1.GetBalanceETCinfo(infoNum); //NH D 100% 주문가능금액, 하이투자증권 : 5, 주문가능금액 var dplus2 = Account1.GetBalanceETCinfo(20); //NH D + 2 예수금 this.currency = gIsNH ? dplus2 : d100; dplus2, ", currency = ", this.currency); this.balance = Account1.GetTotalAmount(1, 2); //주식 잔고 평가금액 gInitialMoney = Math.min(초기투자금액, gInitialMoney); var fakeCurrency = gInitialMoney - this.balance; this.currency = this.currency > fakeCurrency ? fakeCurrency : this.currency; if( this.currency <= 0 ) { this.moneyPerStock = this.moneyToBuyStock = this.moneyToBuy = 0; Log.msg("주문 가능 현금이 없습니다. currency = ", this.currency, ', balance = ', this.balance, ', balance = ', this.balance , ', fakeCurrency = ', fakeCurrency, ', moneyForTrade = ', this.moneyForTrade, ', gInitialMoney = ', gInitialMoney); return; } 코드는 복잡해보이지만 Account1.GetBalanceETCinfo(20) 값이 가끔 0 으로 나오는 오류가 난다는 내용입니다. 찍히는 로그는 캡쳐해두었습니다. 평상시 잘 읽히다가 가끔 불특정 상황에서 일어나는 일이라서 스팟 적용에 당황스런 상황이 발생합니다. 추가) this.balance = Account1.GetTotalAmount(1, 2); 이 값도 잘 안들어올 때가 있습니다. 예를 들어 매수체결 후 6초가 지난 후 읽었는데도 balance 값이 0으로 찍혔습니다.