예스스탁
예스스탁 답변
2025-04-28 14:58:46.0
안녕하세요
예스스탁입니다.
전략실행차트 여실때 자동으로 종목이 선정되게는 가능하지 않습니다.
스팟안에서 차트객체를 이용하신다면 스팟수식안에서 종목선정해 차트를 만들 수 있습니다.
기본차트는 KP200연결선물이고 콜/풋 옵션을 참조데이터로 추가하는데
4.0에 가까운 순서로 5개씩 추가합니다.
스크립트 객체설정
종목객체 추가 -> 속성에서 객체명 MarketData1, KP200연결선물로 지정
옵션객체 추가 -> 속성에서 객체명 Option1, KP200지수옵션으로 지정
var FutrueOpen;
var 콜기준 = 4.0;
var 풋기준 = 4.0;
var CallOrderCode1,CallOrderCode2,CallOrderCode3,CallOrderCode4,CallOrderCode5;
var PutOrderCode1,PutOrderCode2,PutOrderCode3,PutOrderCode4,PutOrderCode5;
function Main_OnStart()
{
FutrueOpen = false;
Main.SetTimer(1, 1000);
}
function Main_OnTimer(nEventID)
{
if (FutrueOpen == false && MarketData1.open > 0)
{
FutrueOpen = true;
Main.KillTimer(1);
var Calldiff = [];
if (콜기준 > 0)
{
var a = 0;
for (var i = -Option1.lowersATM; i < Option1.uppersATM; i++)
{
Calldiff[a] = new Array(Math.abs(콜기준-Option1.GetCurrent(0,i)),Option1.GetATMCallRecent(i));
a = a+1;
}
Calldiff.sort(CompareForSort);
CallOrderCode1 = Calldiff[0][1];
CallOrderCode2 = Calldiff[1][1];
CallOrderCode3 = Calldiff[2][1];
CallOrderCode4 = Calldiff[3][1];
CallOrderCode5 = Calldiff[4][1];
}
var Putdiff = [];
if (풋기준 > 0)
{
a = 0;
for (var i = -Option1.lowersATM; i < Option1.uppersATM; i++)
{
Putdiff[a] = new Array(Math.abs(풋기준-Option1.GetCurrent(1,-i)),Option1.GetATMPutRecent(-i));
a = a+1;
}
Putdiff.sort(CompareForSort);
PutOrderCode1 = Putdiff[0][1];
PutOrderCode2 = Putdiff[1][1];
PutOrderCode3 = Putdiff[2][1];
PutOrderCode4 = Putdiff[3][1];
PutOrderCode5 = Putdiff[4][1];
}
var ChartSet = new ReqChartItem("00000000",1,CHART_PERIOD_MINUTE,10000,CHART_REQCOUNT_BAR,false,false);
var R11 = new ReqChartItem(CallOrderCode1,1,CHART_PERIOD_MINUTE,1000,CHART_REQCOUNT_BAR,false,false);
var R12 = new ReqChartItem(CallOrderCode2,1,CHART_PERIOD_MINUTE,1000,CHART_REQCOUNT_BAR,false,false);
var R13 = new ReqChartItem(CallOrderCode3,1,CHART_PERIOD_MINUTE,1000,CHART_REQCOUNT_BAR,false,false);
var R14 = new ReqChartItem(CallOrderCode4,1,CHART_PERIOD_MINUTE,1000,CHART_REQCOUNT_BAR,false,false);
var R15 = new ReqChartItem(CallOrderCode5,1,CHART_PERIOD_MINUTE,1000,CHART_REQCOUNT_BAR,false,false);
var R21 = new ReqChartItem(PutOrderCode1,1,CHART_PERIOD_MINUTE,1000,CHART_REQCOUNT_BAR,false,false);
var R22 = new ReqChartItem(PutOrderCode2,1,CHART_PERIOD_MINUTE,1000,CHART_REQCOUNT_BAR,false,false);
var R23 = new ReqChartItem(PutOrderCode3,1,CHART_PERIOD_MINUTE,1000,CHART_REQCOUNT_BAR,false,false);
var R24 = new ReqChartItem(PutOrderCode4,1,CHART_PERIOD_MINUTE,1000,CHART_REQCOUNT_BAR,false,false);
var R25 = new ReqChartItem(PutOrderCode5,1,CHART_PERIOD_MINUTE,1000,CHART_REQCOUNT_BAR,false,false);
var ReferDataSet = new Array(R11,R12,R13,R14,R15,R21,R22,R23,R24,R25);
Main.ReqChartEx(ChartSet,null,null,ReferDataSet);
}
}
function CompareForSort(a, b)
{
return( a[0] < b[0] ? -1 : a[0] > b[0] ? 1 : 0 );
}
즐거운 하루되세요
> 구름달 님이 쓴 글입니다.
> 제목 : 안녕하세요. 수식 문의 드립니다.
> 부장님
스팟을 실행했을 때
다음과 옵션을 띄우고 싶습니다.
불러올때
등가격 콜 풋 가격을 제가 지정한값 콜은 5.0부터 작은가격순으로 5개 불러오고 싶고 풋은 6.0부터 작은가격순으로 5개 불러오고 싶습니다.
가격을 자유제제로 정해서 불러오고 싶습니다.
그리고 data2부터 data11값을 다 더해서 지표 그래프를 그리고 싶습니다.