커뮤니티

안녕하세요. 수식 문의 드립니다.

프로필 이미지
구름달
2025-04-25 19:06:03.0
202
글번호 226287
답변완료

첨부 이미지

부장님 스팟을 실행했을 때 다음과 옵션을 띄우고 싶습니다. 불러올때 등가격 콜 풋 가격을 제가 지정한값 콜은 5.0부터 작은가격순으로 5개 불러오고 싶고 풋은 6.0부터 작은가격순으로 5개 불러오고 싶습니다. 가격을 자유제제로 정해서 불러오고 싶습니다. 그리고 data2부터 data11값을 다 더해서 지표 그래프를 그리고 싶습니다.
답변 1
프로필 이미지

예스스탁 예스스탁 답변

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값을 다 더해서 지표 그래프를 그리고 싶습니다.