더위에 수고 많으십니다. 항상 많은 도움 받고 있습니다.
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);
}