커뮤니티

문의드립니다.

프로필 이미지
자오지환웅
2017-09-25 11:12:56
2800
글번호 224220
답변완료
예스스팟에서 진입주문을 낸 다음에 실체결가를 메세지리스트로 출력하려는 아래와 같이 수식을 짷는데 cSellNum is not defined 라는 메시지가 뜨면서 오류가 납니다. var cSell, cSellNum, cSellPrice ; 바선언이 필요없을것 같아서 안했는데 아래식에서 바선언이 들어가야하나요 ? 아래 수식 어디가 오류인지 확인 부탁드리겠습니다. 좋은 하루 되세요. //주문 수식에서 주문에 ID 를 부여하고 cSell = A1.OrderSell( MaxCallcode , 1 , 0 , 1 ); //주문응답 수신해서 주문번호를 저장하고 function Main_OnOrderResponse(OrderResponse) { if ( cSell == OrderResponse.orderID ) { cSellNum = OrderResponse.orderNum; } } //체결응답 수신해서 저장한 주문번호로 체결가를 저장하고 메세지리스트 찍어줌 function Main_OnNotifyFill(NotifyFill) { if ( cSellNum == NotifyFill.orderNum ) { cSellPrice = NotifyFill.fillPrice; Main.MessageList("실체결가격 콜매도 진입: "+cSellPrice); } }
답변 4
프로필 이미지

불꽃기사

2017-09-26 08:52:25

불꽃기사 님에 의해 삭제된 답변입니다.
프로필 이미지

자오지환웅

2017-09-26 11:52:17

< 작성자 첫질문 > 아래 수식에서 오류가 납니다. 확인부탁드립니다. //주문 수식에서 주문에 ID 를 부여하고 cSell = A1.OrderSell( MaxCallcode , 1 , 0 , 1 ); //주문응답 수신해서 주문번호를 저장하고 function Main_OnOrderResponse(OrderResponse) { if ( cSell == OrderResponse.orderID ) { cSellNum = OrderResponse.orderNum; } } //체결응답 수신해서 저장한 주문번호로 체결가를 저장하고 메세지리스트 찍어줌 function Main_OnNotifyFill(NotifyFill) { if ( cSellNum == NotifyFill.orderNum ) { cSellPrice = NotifyFill.fillPrice; Main.MessageList("실체결가격 콜매도 진입: "+cSellPrice); } } ------------------------------------------------------------------------------------ < 예스스탁님의 답변 > > 불꽃기사 님이 쓴 글입니다. > 제목 : cSellNum를 먼저 초기화하세요. 내용없음. > ... -------------------------------------------------------------------------------------- < 작성자 재질문 > 초보자라서 초기화 (var선언)이 헷갈립니다. 위의 식과 같은 경우에 cSell , cSellNum , cSellPrice 모두 바선언이 필요한가요? 답변처럼 cSellNum만 바선언이 필요한가요? 그리고 바선언은 전역변수일 경우에만 필요하고 지역변수일 경우에는 생략해도 되나요?
프로필 이미지

불꽃기사

2017-09-27 08:06:29

지나는 길에 잠깐 댓글을 드렸는데 예스스탁에서 답변을 다신 걸로 오해하신 것 같아 제가 단 댓글은 삭제합니다. > 자오지환웅 님이 쓴 글입니다. > 제목 : 초기화 (var선언)에 대해 다시 질문드립니다. > < 작성자 첫질문 > 아래 수식에서 오류가 납니다. 확인부탁드립니다. //주문 수식에서 주문에 ID 를 부여하고 cSell = A1.OrderSell( MaxCallcode , 1 , 0 , 1 ); //주문응답 수신해서 주문번호를 저장하고 function Main_OnOrderResponse(OrderResponse) { if ( cSell == OrderResponse.orderID ) { cSellNum = OrderResponse.orderNum; } } //체결응답 수신해서 저장한 주문번호로 체결가를 저장하고 메세지리스트 찍어줌 function Main_OnNotifyFill(NotifyFill) { if ( cSellNum == NotifyFill.orderNum ) { cSellPrice = NotifyFill.fillPrice; Main.MessageList("실체결가격 콜매도 진입: "+cSellPrice); } } ------------------------------------------------------------------------------------ < 예스스탁님의 답변 > > 불꽃기사 님이 쓴 글입니다. > 제목 : cSellNum를 먼저 초기화하세요. 내용없음. > ... -------------------------------------------------------------------------------------- < 작성자 재질문 > 초보자라서 초기화 (var선언)이 헷갈립니다. 위의 식과 같은 경우에 cSell , cSellNum , cSellPrice 모두 바선언이 필요한가요? 답변처럼 cSellNum만 바선언이 필요한가요? 그리고 바선언은 전역변수일 경우에만 필요하고 지역변수일 경우에는 생략해도 되나요?
프로필 이미지

예스스탁 예스스탁 답변

2017-09-27 14:39:34

안녕하세요 예스스탁입니다. 변수에 대한 선언을 살펴보시기 바랍니다. var cSell,cSellNum,cSellPrice; function Main_OnStart() { //주문 수식에서 주문에 ID 를 부여하고 var MaxCallcode = Option.GetATMCallRecent(0); cSell = A1.OrderSell(MaxCallcode ,1,Option.GetCurrent(MaxCallcode),0); } //주문응답 수신해서 주문번호를 저장하고 function Main_OnOrderResponse(OrderResponse) { if ( cSell == OrderResponse.orderID ) { cSellNum = OrderResponse.orderNum; } } //체결응답 수신해서 저장한 주문번호로 체결가를 저장하고 메세지리스트 찍어줌 function Main_OnNotifyFill(NotifyFill) { if (cSellNum == NotifyFill.orderNum ) { cSellPrice = NotifyFill.fillPrice; Main.MessageList("실체결가격 콜매도 진입: ",cSellPrice); } } 즐거운 하루되세요 > 자오지환웅 님이 쓴 글입니다. > 제목 : 문의드립니다. > 예스스팟에서 진입주문을 낸 다음에 실체결가를 메세지리스트로 출력하려는 아래와 같이 수식을 &#51703;는데 cSellNum is not defined 라는 메시지가 뜨면서 오류가 납니다. var cSell, cSellNum, cSellPrice ; 바선언이 필요없을것 같아서 안했는데 아래식에서 바선언이 들어가야하나요 ? 아래 수식 어디가 오류인지 확인 부탁드리겠습니다. 좋은 하루 되세요. //주문 수식에서 주문에 ID 를 부여하고 cSell = A1.OrderSell( MaxCallcode , 1 , 0 , 1 ); //주문응답 수신해서 주문번호를 저장하고 function Main_OnOrderResponse(OrderResponse) { if ( cSell == OrderResponse.orderID ) { cSellNum = OrderResponse.orderNum; } } //체결응답 수신해서 저장한 주문번호로 체결가를 저장하고 메세지리스트 찍어줌 function Main_OnNotifyFill(NotifyFill) { if ( cSellNum == NotifyFill.orderNum ) { cSellPrice = NotifyFill.fillPrice; Main.MessageList("실체결가격 콜매도 진입: "+cSellPrice); } }