커뮤니티

문의 드립니다.

프로필 이미지
tops
2026-10-26 21:39:11
37
글번호 233997
답변완료

해외선물에서 고점과 저점 대비 0.5% 단위로 라인을 설정하는 지표를 만들고 싶습니다.


예를들면,


1) 고점 대비라인

나스닥의 당일 고점이 30,000 일 경우


① 고점 대비 -0.5% 자리인 28,500 에 가로선이 그어지고 "고점-0.5%" 라고 우측에 텍스트로 표시가 되게,

② -0.5% 단위로 최대 -4.0%까지 하나의 지표로 속성창을 만들어서,


③ 속성창에서는 0.4%든, 0.6%든 임의로 범위 조정도 가능하게 할 수있게,

④ 선의 유형(점선, 실선 등), 색깔, 두께도 변경할 수 있게,

⑤ 우측에 수치 표시여부 체크도 할 수 있게 속성창도 만들고 싶습니다.

(일반 5-20-60-120 이동평균선 속성창처럼 선들을 관리할 수 있게)


★⑥만일 나스닥의 당일 고점이 변경되면, 표시된 선들도 자동으로 끊김없이 자연스럽게 변경되게도 하고 싶습니다.



2) 저점 대비 라인

① 고점 대비 라인과는 반대로 +0.5% 단위로 +4.0%까지 선들을 표시하고 싶습니다.

그리고 위의 ②번부터 ⑥번까지의 기능도 포함시켜 사용하고 싶습니다.


수식 작성이 가능할까요?


지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2026-10-27 09:49:29

안녕하세요 예스스탁입니다. 요청하신 내용은 plot으로 지정해야 하는데 plot은 수식안에서 갯수를 유동적으로 가져갈수 없습니다. 고점대비/저점대비 최대 20개선이 출력가능하게 작성해 드립니다. 지정하신 %(0.5)와 맥스값(4.0) 안에서 포함되는 라인만 표시가 됩니다. input : Per(0.5),maxv(4.0); var : i(0),HH(0),LL(0); Array : HTX[50](0),LTX[50](0); if Per*1 <= maxv Then Plot1(DayHigh*(1-(per*1)/100),"고점-Per*1"); Else NoPlot(1); if Per*2 <= maxv Then Plot2(DayHigh*(1-(per*2)/100),"고점-Per*2"); Else NoPlot(2); if Per*3 <= maxv Then Plot3(DayHigh*(1-(per*3)/100),"고점-Per*3"); Else NoPlot(3); if Per*4 <= maxv Then Plot4(DayHigh*(1-(per*4)/100),"고점-Per*4"); Else NoPlot(4); if Per*5 <= maxv Then Plot5(DayHigh*(1-(per*5)/100),"고점-Per*5"); Else NoPlot(5); if Per*6 <= maxv Then Plot6(DayHigh*(1-(per*6)/100),"고점-Per*6"); Else NoPlot(6); if Per*7 <= maxv Then Plot7(DayHigh*(1-(per*7)/100),"고점-Per*7"); Else NoPlot(7); if Per*8 <= maxv Then Plot8(DayHigh*(1-(per*8)/100),"고점-Per*8"); Else NoPlot(8); if Per*9 <= maxv Then Plot9(DayHigh*(1-(per*9)/100),"고점-Per*9"); Else NoPlot(9); if Per*10 <= maxv Then Plot10(DayHigh*(1-(per*10)/100),"고점-Per*10"); Else NoPlot(10); if Per*11 <= maxv Then Plot11(DayHigh*(1-(per*11)/100),"고점-Per*11"); Else NoPlot(11); if Per*12 <= maxv Then Plot12(DayHigh*(1-(per*12)/100),"고점-Per*12"); Else NoPlot(12); if Per*13 <= maxv Then Plot13(DayHigh*(1-(per*13)/100),"고점-Per*13"); Else NoPlot(13); if Per*14 <= maxv Then Plot14(DayHigh*(1-(per*14)/100),"고점-Per*14"); Else NoPlot(14); if Per*15 <= maxv Then Plot15(DayHigh*(1-(per*15)/100),"고점-Per*15"); Else NoPlot(15); if Per*16 <= maxv Then Plot16(DayHigh*(1-(per*16)/100),"고점-Per*16"); Else NoPlot(16); if Per*17 <= maxv Then Plot17(DayHigh*(1-(per*17)/100),"고점-Per*17"); Else NoPlot(17); if Per*18 <= maxv Then Plot18(DayHigh*(1-(per*18)/100),"고점-Per*18"); Else NoPlot(18); if Per*19 <= maxv Then Plot19(DayHigh*(1-(per*19)/100),"고점-Per*19"); Else NoPlot(19); if Per*20 <= maxv Then Plot20(DayHigh*(1-(per*20)/100),"고점-Per*20"); Else NoPlot(20); if Per*1 <= maxv Then Plot21(DayLow*(1+(per*1)/100),"저점+Per*1"); Else NoPlot(21); if Per*2 <= maxv Then Plot22(DayLow*(1+(per*2)/100),"저점+Per*2"); Else NoPlot(22); if Per*3 <= maxv Then Plot23(DayLow*(1+(per*3)/100),"저점+Per*3"); Else NoPlot(23); if Per*4 <= maxv Then Plot24(DayLow*(1+(per*4)/100),"저점+Per*4"); Else NoPlot(24); if Per*5 <= maxv Then Plot25(DayLow*(1+(per*5)/100),"저점+Per*5"); Else NoPlot(23); if Per*6 <= maxv Then Plot26(DayLow*(1+(per*6)/100),"저점+Per*6"); Else NoPlot(23); if Per*7 <= maxv Then Plot27(DayLow*(1+(per*7)/100),"저점+Per*7"); Else NoPlot(23); if Per*8 <= maxv Then Plot28(DayLow*(1+(per*8)/100),"저점+Per*8"); Else NoPlot(23); if Per*9 <= maxv Then Plot29(DayLow*(1+(per*9)/100),"저점+Per*9"); Else NoPlot(23); if Per*10 <= maxv Then Plot30(DayLow*(1+(per*10)/100),"저점+Per*10"); Else NoPlot(30); if Per*11 <= maxv Then Plot31(DayLow*(1+(per*11)/100),"저점+Per*11"); Else NoPlot(31); if Per*12 <= maxv Then Plot32(DayLow*(1+(per*12)/100),"저점+Per*12"); Else NoPlot(32); if Per*13 <= maxv Then Plot33(DayLow*(1+(per*13)/100),"저점+Per*13"); Else NoPlot(33); if Per*14 <= maxv Then Plot34(DayLow*(1+(per*14)/100),"저점+Per*14"); Else NoPlot(34); if Per*15 <= maxv Then Plot35(DayLow*(1+(per*15)/100),"저점+Per*15"); Else NoPlot(35); if Per*16 <= maxv Then Plot36(DayLow*(1+(per*16)/100),"저점+Per*16"); Else NoPlot(36); if Per*17 <= maxv Then Plot37(DayLow*(1+(per*17)/100),"저점+Per*17"); Else NoPlot(37); if Per*18 <= maxv Then Plot38(DayLow*(1+(per*18)/100),"저점+Per*18"); Else NoPlot(38); if Per*19 <= maxv Then Plot39(DayLow*(1+(per*19)/100),"저점+Per*19"); Else NoPlot(39); if Per*20 <= maxv Then Plot40(DayLow*(1+(per*20)/100),"저점+Per*20"); Else NoPlot(40); For i = 1 to 49 { if Per*i <= maxv Then { Text_Delete(HTX[i]); HH = DayHigh*(1-(per*i)/100); HTX[i] = Text_New(NextBarSdate,NextBarStime,HH,"고점-"+NumToStr(Per*i,2)+"%"); Text_SetStyle(HTX[i],0,1); Text_Delete(LTX[i]); LL = DayLow*(1+(per*i)/100); LTX[i] = Text_New(NextBarSdate,NextBarStime,LL,"저점+"+NumToStr(Per*i,2)+"%"); Text_SetStyle(LTX[i],0,1); } } 즐거운 하루되세요