커뮤니티

Reference Error : MaxPutcode is not defined

프로필 이미지
피니트
2015-08-11 16:49:33
1860
글번호 223610
답변완료
더위에 수고 많으십니다. 항상 많은 도움 받고 있습니다. 2.5에 가까운 옵션값을 잡아서 선물차트신호를 => 옵션값으로 변환해서 매매하고 싶습니다. 일단 msg값만 확인되면 그 값으로 매수,매도 하면 될 것 같은데.. 여기서 막히네요.;; 제목과 같은 에러가 뜹니다... 옵션객체 , 계좌객체 , 차트객체는 모두 추가하였습니다. //================================================================== var ChartName = "A돌파"; var d = new Date(); var OpPrice = 2.50; //진입가격대, OpPrice에 가장 근접한 값 주문 var LowPrice = 0.40; //최소가격대 이상일때로 제한하는 변수 var HighPrice = 10.00; //최대가격대 이하일때로 제한하는 변수 var OrderGap = 0.30; //주문시 체결가격 설정(현재가 + OrderGap) var ForPrice; // 옵션값후보 var Delta; var MaxCall; // 콜을 여기에 저장 var MaxCallCode; // 콜의 코드를 여기에 저장 var MaxPut; var MaxPutCode; function Main_OnStart() { Delta = 100; for(var i = -10; i <= 10; i++) { ForPrice = Option.GetCurrent(0,i); // GetCurrent 0 은 콜 , 1은 풋 if ( Math.abs(ForPrice - OpPrice) <= Delta && LowPrice < ForPrice && ForPrice < HighPrice ) { Delta = Math.abs(ForPrice - OpPrice); MaxCallCode = Option.GetATMCallRecent(i); MaxCall = Option.GetCurrentByCode(MaxCallCode); } } Delta = 100; for(var i = -10; i <= 10; i++) { ForPrice = Option.GetCurrent(1,i); // GetCurrent 0 은 콜 , 1은 풋 if ( Math.abs(ForPrice - OpPrice) <= Delta && LowPrice < ForPrice && ForPrice < HighPrice ) { Delta = Math.abs(ForPrice - OpPrice); MaxPutCode = Option.GetATMPutRecent(i); MaxPut = Option.GetCurrentByCode(MaxPutCode); } } Main.MessageLog("<< 잔존일 "+Option.GetRemainDays(0,0)+"일 // 차트명 : "+ChartName+" >> ------------------------------- 구동시각 "+d.getHours()+":"+d.getMinutes()+":"+d.getSeconds()); Main.MessageLog("현재 Put 가격 : "+MaxPut+" // 종목코드 : "+MaxPutcode); // 출력 Main.MessageLog("현재 Call 가격 : "+MaxCall+" // 종목코드 : "+MaxCallcode); }
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2015-08-12 15:46:26

안녕하세요 예스스탁입니다. 예스스팟은 자바스크립트언어로 변수의 대소문자를 엄격히 구분합니다. 수식에서 MaxCallCode,MaxPutCode로 선언되었는데 메세지로그에서는 MaxCallcode,MaxPutcode로 대소문자가 다릅니다. 아래 수정한 식입니다. var ChartName = "A돌파"; var d = new Date(); var OpPrice = 2.50; //진입가격대, OpPrice에 가장 근접한 값 주문 var LowPrice = 0.40; //최소가격대 이상일때로 제한하는 변수 var HighPrice = 10.00; //최대가격대 이하일때로 제한하는 변수 var OrderGap = 0.30; //주문시 체결가격 설정(현재가 + OrderGap) var ForPrice; // 옵션값후보 var Delta; var MaxCall; // 콜을 여기에 저장 var MaxCallCode; // 콜의 코드를 여기에 저장 var MaxPut; var MaxPutCode; function Main_OnStart() { Delta = 100; for(var i = -10; i <= 10; i++) { ForPrice = Option.GetCurrent(0,i); // GetCurrent 0 은 콜 , 1은 풋 if ( Math.abs(ForPrice - OpPrice) <= Delta && LowPrice < ForPrice && ForPrice < HighPrice ) { Delta = Math.abs(ForPrice - OpPrice); MaxCallCode = Option.GetATMCallRecent(i); MaxCall = Option.GetCurrentByCode(MaxCallCode); } } Delta = 100; for(var i = -10; i <= 10; i++) { ForPrice = Option.GetCurrent(1,i); // GetCurrent 0 은 콜 , 1은 풋 if ( Math.abs(ForPrice - OpPrice) <= Delta && LowPrice < ForPrice && ForPrice < HighPrice ) { Delta = Math.abs(ForPrice - OpPrice); MaxPutCode = Option.GetATMPutRecent(i); MaxPut = Option.GetCurrentByCode(MaxPutCode); } } Main.MessageLog("<< 잔존일 "+Option.GetRemainDays(0,0)+"일 // 차트명 : "+ChartName+" >> ------------------------------- 구동시각 "+d.getHours()+":"+d.getMinutes()+":"+d.getSeconds()); Main.MessageLog("현재 Put 가격 : "+MaxPut+" // 종목코드 : "+MaxPutCode); // 출력 Main.MessageLog("현재 Call 가격 : "+MaxCall+" // 종목코드 : "+MaxCallCode); } 즐거운 하루되세요 > 피니트 님이 쓴 글입니다. > 제목 : Reference Error : MaxPutcode is not defined > 더위에 수고 많으십니다. 항상 많은 도움 받고 있습니다. 2.5에 가까운 옵션값을 잡아서 선물차트신호를 => 옵션값으로 변환해서 매매하고 싶습니다. 일단 msg값만 확인되면 그 값으로 매수,매도 하면 될 것 같은데.. 여기서 막히네요.;; 제목과 같은 에러가 뜹니다... 옵션객체 , 계좌객체 , 차트객체는 모두 추가하였습니다. //================================================================== var ChartName = "A돌파"; var d = new Date(); var OpPrice = 2.50; //진입가격대, OpPrice에 가장 근접한 값 주문 var LowPrice = 0.40; //최소가격대 이상일때로 제한하는 변수 var HighPrice = 10.00; //최대가격대 이하일때로 제한하는 변수 var OrderGap = 0.30; //주문시 체결가격 설정(현재가 + OrderGap) var ForPrice; // 옵션값후보 var Delta; var MaxCall; // 콜을 여기에 저장 var MaxCallCode; // 콜의 코드를 여기에 저장 var MaxPut; var MaxPutCode; function Main_OnStart() { Delta = 100; for(var i = -10; i <= 10; i++) { ForPrice = Option.GetCurrent(0,i); // GetCurrent 0 은 콜 , 1은 풋 if ( Math.abs(ForPrice - OpPrice) <= Delta && LowPrice < ForPrice && ForPrice < HighPrice ) { Delta = Math.abs(ForPrice - OpPrice); MaxCallCode = Option.GetATMCallRecent(i); MaxCall = Option.GetCurrentByCode(MaxCallCode); } } Delta = 100; for(var i = -10; i <= 10; i++) { ForPrice = Option.GetCurrent(1,i); // GetCurrent 0 은 콜 , 1은 풋 if ( Math.abs(ForPrice - OpPrice) <= Delta && LowPrice < ForPrice && ForPrice < HighPrice ) { Delta = Math.abs(ForPrice - OpPrice); MaxPutCode = Option.GetATMPutRecent(i); MaxPut = Option.GetCurrentByCode(MaxPutCode); } } Main.MessageLog("<< 잔존일 "+Option.GetRemainDays(0,0)+"일 // 차트명 : "+ChartName+" >> ------------------------------- 구동시각 "+d.getHours()+":"+d.getMinutes()+":"+d.getSeconds()); Main.MessageLog("현재 Put 가격 : "+MaxPut+" // 종목코드 : "+MaxPutcode); // 출력 Main.MessageLog("현재 Call 가격 : "+MaxCall+" // 종목코드 : "+MaxCallcode); }