안녕하세요.
유진예스트레이더 모의계좌로 예스스팟으로 이것저것 확인하고 있는데
Account 객체에서 예수금 등을 확인하는게 전반적으로 이상합니다.
v2=Account1.GetBalanceETCinfo(3); # 3 자리에 0~17까지 들어갈 수 있는데 대부분 반환값이 0 입니다.
0번 예탁금, 3번 예탁금(D+1), 11번 주문가능금액 등이 필요한데 반환값이 이상합니다.
이게 모의계좌라서 그런가요? 실계좌는 정상적으로 나옵니까?
아래는 예스스팟 수식입니다.
function Chart1_OnBarAppended(nData)
{
Account1.Refresh()
v1=Account1.Balance;
v2=Account1.GetBalanceETCinfo(3);
v3=Account1.ReqDeposit("USD");
Main.MessageList("Account1.Balance=",v1," / ","Account1.GetBalanceETCinfo(0)=",v2," / ","Account1.ReqDeposit()=",v3);
}
답변 1
예스스탁
예스스탁 답변
2021-08-03 09:19:30
안녕하세요
예스스탁입니다.
계좌함수의 함수나 객체들을 테스트해 보았지만 문제가 없습니다.
1
유진투자선물에서 Account1.GetBalanceETCinfo(3)은 옵션매매대금입니다.
선물사나 증권사별로 해당 인덱스별 리턴하는 값이 다르므로 예스스팟 해외도움말 참고하시기 바랍니다.
아래식 적용해 보시면 GetBalanceETCinfo의 각 인덱스별 값 확인할수 있습니다.
ReqDeposit로 리턴되는 예수금관련 값들도 확인 가능합니다.
function Main_OnStart()
{
for (var i = 0; i <= 17; i++)
{
Main.MessageList("GetBalanceETCinfo :",i," |값:", Account1.GetBalanceETCinfo(i));
}
Account1.ReqDeposit();
}
function Main_OnRcvDeposit(strDeposit)
{
var Deposit = JSON.parse(strDeposit);
Main.MessageList("Deposit 종류 : ",Deposit);
Main.MessageList("Deposit USD : ",Deposit.USD);
Main.MessageList("Deposit HDK : ",Deposit.HKD);
Main.MessageList("Deposit KRW : ",Deposit.KRW);
}
2
Account1.Balance는 아래 함수로 특정종목에 대해 잔고를 세팅한 이후에 사용하셔야 합니다.
Account1.SetBalanceIndex(nIndex)
Account1.SetBalanceItem(sItemCode, nPosition)
3
Account1.Refresh()는 가원장을 원장과 다시 동기화하는 함수입니다.
동기화하는데 약간의 시간이 소모될수 있습니다.
그러므토 해당 함수를 실행하면
function Main_OnUp*dateAccount(sAccntNum, sItemCode, lUp*dateID)
이벤트가 발생해서 lUp*dateID가 30000이 들어오는 것을 확인하고 다음 동작을 하게 하셔야 합니다.
Refresh 이후에 바로 계좌관련 다른 작업을 요청하면
계좌 동기화중에 값을 요청하므로 값이 정상적으로 반환되지 않을수 있습니다.
즐거운 하루되세요
> 로봇짱 님이 쓴 글입니다.
> 제목 : 예스스팟 Account 객체가 이상합니다.
> 안녕하세요.
유진예스트레이더 모의계좌로 예스스팟으로 이것저것 확인하고 있는데
Account 객체에서 예수금 등을 확인하는게 전반적으로 이상합니다.
v2=Account1.GetBalanceETCinfo(3); # 3 자리에 0~17까지 들어갈 수 있는데 대부분 반환값이 0 입니다.
0번 예탁금, 3번 예탁금(D+1), 11번 주문가능금액 등이 필요한데 반환값이 이상합니다.
이게 모의계좌라서 그런가요? 실계좌는 정상적으로 나옵니까?
아래는 예스스팟 수식입니다.
function Chart1_OnBarAppended(nData)
{
Account1.Refresh()
v1=Account1.Balance;
v2=Account1.GetBalanceETCinfo(3);
v3=Account1.ReqDeposit("USD");
Main.MessageList("Account1.Balance=",v1," / ","Account1.GetBalanceETCinfo(0)=",v2," / ","Account1.ReqDeposit()=",v3);
}