커뮤니티

문의드립니다

프로필 이미지
chochobo
2023-09-06 04:37:51
993
글번호 165601
답변완료
수고가 많으십니다. 예스랭귀지 초보인지라 몇가지 문의를 드리고자 합니다. 1-1. 당일과 전일의 주요 지표값 등 출력 ①당일 시가 ②당일 고가 ③당일 저가 ④당일 중앙선(당일 저점과 당일 고점의 중간값) ⑤전일 시가 ⑥전일 고가 ⑦전일 저가 ⑧전일 중앙선 ⑨전일 종가 를 차트에 선으로 출력하고, 당일 시가, 당일 고가 등등으로 표식도 함께 출력하고 싶습니다. ⑩파라볼릭(종가) ==> 기본지표에 있는 파라볼릭(종가)임 ⑪ 5 이평선 ⑫ 20 이평선 ⑬ 60 이평선 ⑭ 120 이평선 은 텍스트 표식없이 함께 출력하고싶습니다. (파라볼릭은 원본 그대로 캔들주변의 작은 점으로 표기하되, 색상과 두께 조절이 가능하게, 변수인 af 와 maxAf 는 변수편집 기능까지 가능하게) (5/10/20/60/120 기본 이평선은 필요시 10, 30, 200 이평선 등등으로 이평선을 조정할 수 있도록 변수? 취급하여 편집기능까지) == > 결론: 위의 지표들을 하나의 세트로 묶고자 함 1-2. 위 "1-1" 의 당일/전일 주요 지표값 등의 전부를 "지표속성"의 "차트표시"에서 체크박스로 만들어서 선택적으로 출력하고 싶고, 라인색과 두께도 함께 조절하고 싶습니다. 2-1. 당일과 전일의 일봉/주봉/월봉 값을 차트에 출력하고 싶습니다. ①"틱"차트에서 당일의 일봉(5일, 10일, 20일, 60일, 120일, 200일) 주봉(5주, 10주, 20주, 60주, 120주, 200주) 월봉(5월, 10월, 20월, 60월, 120월, 200월) ②"분"차트에서 당일의 일봉(5일, 10일, 20일, 60일, 120일, 200일) 주봉(5주, 10주, 20주, 60주, 120주, 200주) 월봉(5월, 10월, 20월, 60월, 120월, 200월) ==> 위 2-1의 ①, ② 경우, 차트 우측에 5일, 10일, 20일.... 5주, 10주, 20주.. 5월, 10월 20월... 등의 표식도 함께 출력하고 싶습니다. 2-2. 아울러 앞의 사례와 마찬가지로, 일봉(5일, 10일, 20일, 60일, 120일, 200일)/ 주봉(5주, 10주, 20주, 60주, 120주, 200주)/ 월봉(5월, 10월, 20월, 60월, 120월, 200월) 값을 "지표속성"의 "차트표시"에서 체크박스로 만들어서 선택적으로 출력하고 싶고, 라인색과 두께도 함께 조절하고 싶습니다. 3-1. 그리고 끝으로 저번 80428 에 대한 추가 질의를 드리고자 합니다. 원 질의(80428)에서 "3-1" 실행시 에러가 나는데요.. (첨부된 그림 화일 참조) [답변 내용중 일부 발췌] 3-1 아래 구조로 식을 작성하시면 10시15분에 시작해서 03시 50분 청산하게 됩니다. input : ntime(101500),EndTime(35000); var : Tcond(false); ====> 여기서 첫줄. input문을 input : StartTime(101500),EndTime(035000); 이렇게 수정하니 에러가 안나는데.. 이렇게 수정해서 사용하는게 맞는거죠? ^^ 3-2. 아울러 답변으로 올려주신 수식은 다 잘 되는데.. 가끔 "0틱 수익"이 찍힙니다. 이건 어떻게 잡아야 될까요?
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2023-01-25 09:46:39

안녕하세요 예스스탁입니다. 수식안에서 그래프모양을 지정할 수 없습니다. 파라볼릭과 같이 점으로 출력되는 지표는 지표속성에서 그래프모양을 설정해 주셔야 합니다. 또한 지표속성의 차트표시에서 각 지표 선택해 표시여부를 지정할 수 있지만 이름의 경우 텍스트함수로 출력되어 표시여부를 지정할 수 없습니다. 각 지표의 이름을 표시하지 않고자 하시면 수식안에서 주석이나 삭제처리하셔야 합니다. 1 input : af(0.02),maxaf(0.2); input : p1(5),p2(20),p3(60),p4(120); var : tx1(0),tx2(0),tx3(0),tx4(0),tx5(0); var : tx6(0),tx7(0),tx8(0),tx9(0),tx10(0); var : tx11(0),tx12(0),tx13(0),tx14(0); var1 = sar(af,maxaf); value1 = ma(c,p1); value2 = ma(c,p2); value3 = ma(c,p3); value4 = ma(c,p4); Plot1(DayOpen(0),"당일시가"); Plot2(DayHigh(0),"당일고가"); Plot3(DayLow(0),"당일저가"); Plot4((DayHigh(0)+DayLow(0))/2,"당일중심"); Plot5(DayOpen(1),"전일시가"); Plot6(DayHigh(1),"전일고가"); Plot7(DayLow(1),"전일저가"); Plot8((DayHigh(1)+DayLow(1))/2,"전일중심"); Plot9(DayClose(1),"전일종가"); Plot10(var1,"파라볼릭",IFf(C>var1,Red,Blue)); Plot11(value1,"이평1"); Plot12(value2,"이평2"); Plot13(value3,"이평3"); Plot14(value4,"이평4"); Text_Delete(tx1); Text_Delete(tx2); Text_Delete(tx3); Text_Delete(tx4); Text_Delete(tx5); Text_Delete(tx6); Text_Delete(tx7); Text_Delete(tx8); Text_Delete(tx9); Text_Delete(tx10); Text_Delete(tx11); Text_Delete(tx12); Text_Delete(tx13); Text_Delete(tx14); tx1 = Text_New(nextbarsdate,nextbarstime,DayOpen(0),"당일고가"); tx2 = Text_New(nextbarsdate,nextbarstime,DayHigh(0),"당일저가"); tx3 = Text_New(nextbarsdate,nextbarstime,DayLow(0),"당일종가"); tx4 = Text_New(nextbarsdate,nextbarstime,(DayHigh(0)+DayLow(0))/2,"당일중심"); tx5 = Text_New(nextbarsdate,nextbarstime,DayOpen(1),"전일고가"); tx6 = Text_New(nextbarsdate,nextbarstime,DayHigh(1),"전일저가"); tx7 = Text_New(nextbarsdate,nextbarstime,DayLow(1),"전일종가"); tx8 = Text_New(nextbarsdate,nextbarstime,(DayHigh(1)+DayLow(1))/2,"전일중심"); tx9 = Text_New(nextbarsdate,nextbarstime,var1,"파라볼릭"); tx10 = Text_New(nextbarsdate,nextbarstime,value1,NumToStr(P1,0)+"이평"); tx11 = Text_New(nextbarsdate,nextbarstime,value2,NumToStr(P2,0)+"이평"); tx12 = Text_New(nextbarsdate,nextbarstime,value3,NumToStr(P3,0)+"이평"); tx13 = Text_New(nextbarsdate,nextbarstime,value4,NumToStr(P4,0)+"이평"); Text_SetStyle(tx1,0,2); Text_SetStyle(tx2,0,2); Text_SetStyle(tx3,0,2); Text_SetStyle(tx4,0,2); Text_SetStyle(tx5,0,2); Text_SetStyle(tx6,0,2); Text_SetStyle(tx7,0,2); Text_SetStyle(tx8,0,2); Text_SetStyle(tx9,0,2); Text_SetStyle(tx10,0,2); Text_SetStyle(tx11,0,2); Text_SetStyle(tx12,0,2); Text_SetStyle(tx13,0,2); Text_SetStyle(tx14,0,2); 2 틱봉과 분봉의 일/주/월 이평수식이 같습니다. 수식이 계산되기 위해서는 차트에 해당 기간의 모든 데이타가 있어야 합니다. 각 이평은 차트에 해당 이평을 계산할만큼 충분한 데이타가 있어야 출력됩니다. 2-1 일 input : P1(5),P2(10),P3(20),P4(60),P5(120),P6(240); var : cnt(0); var : sumV1(0),sumV2(0),sumV3(0),sumV4(0),sumV5(0),sumV6(0); var : mav1(0),mav2(0),mav3(0),mav4(0),mav5(0),mav6(0); var : tx1(0),tx2(0),tx3(0),tx4(0),tx5(0),tx6(0); sumV1 = 0; sumV2 = 0; sumV3 = 0; sumV4 = 0; sumV5 = 0; sumV6 = 0; for cnt = 0 to P6 { if cnt < P1 Then sumV1 = sumV1+DayClose(cnt); if cnt < P2 Then sumV2 = sumV2+DayClose(cnt); if cnt < P3 Then sumV3 = sumV3+DayClose(cnt); if cnt < P4 Then sumV4 = sumV4+DayClose(cnt); if cnt < P5 Then sumV5 = sumV5+DayClose(cnt); if cnt < P6 Then sumV6 = sumV6+DayClose(cnt); } maV1 = sumV1 / P1; maV2 = sumV2 / P2; maV3 = sumV3 / P3; maV4 = sumV4 / P4; maV5 = sumV5 / P5; maV6 = sumV6 / P6; if DayClose(P1-1) > 0 Then plot1(mav1,"이평1"); if DayClose(P2-1) > 0 Then plot2(mav2,"이평2"); if DayClose(P3-1) > 0 Then plot3(mav3,"이평3"); if DayClose(P4-1) > 0 Then plot4(mav4,"이평4"); if DayClose(P5-1) > 0 Then plot5(mav5,"이평5"); if DayClose(P6-1) > 0 Then plot6(mav6,"이평6"); Text_Delete(tx1); Text_Delete(tx2); Text_Delete(tx3); Text_Delete(tx4); Text_Delete(tx5); Text_Delete(tx6); if mav1 > 0 Then tx1 = Text_New(nextbarsdate,nextbarstime,mav1,NumToStr(P1,0)+"주"); if mav2 > 0 Then tx2 = Text_New(nextbarsdate,nextbarstime,mav2,NumToStr(P2,0)+"주"); if mav3 > 0 Then tx3 = Text_New(nextbarsdate,nextbarstime,mav3,NumToStr(P3,0)+"주"); if mav4 > 0 Then tx4 = Text_New(nextbarsdate,nextbarstime,mav4,NumToStr(P4,0)+"주"); if mav5 > 0 Then tx5 = Text_New(nextbarsdate,nextbarstime,mav4,NumToStr(P5,0)+"주"); if mav6 > 0 Then tx6 = Text_New(nextbarsdate,nextbarstime,mav4,NumToStr(P6,0)+"주"); Text_SetStyle(tx1,0,2); Text_SetStyle(tx2,0,2); Text_SetStyle(tx3,0,2); Text_SetStyle(tx4,0,2); Text_SetStyle(tx5,0,2); Text_SetStyle(tx6,0,2); 2-2 주 input : P1(5),P2(10),P3(20),P4(60),P5(120),P6(200); var : cnt(0),count(0); var : sum1(0),sum2(0),sum3(0),sum4(0),sum5(0),sum6(0); var : mav1(0),mav2(0),mav3(0),mav4(0),mav5(0),mav6(0); var : tx1(0),tx2(0),tx3(0),tx4(0),tx5(0),tx6(0); Array : CC[300](0); if DayOfWeek(sdate) < DayOfWeek(sdate[1]) Then { for cnt = 299 downto 1 { CC[cnt] = CC[cnt-1][1]; } } CC[0] = C; if CC[P1-1] > 0 Then { sum1 = 0; for count = 0 to P1-1 { sum1 = sum1+CC[count]; } mav1 = sum1/P1; plot1(mav1); } if CC[P2-1] > 0 Then { sum2 = 0; for count = 0 to P2-1 { sum2 = sum2+CC[count]; } mav2 = sum2/P2; plot2(mav2); } if CC[P3-1] > 0 Then { sum3 = 0; for count = 0 to P3-1 { sum3 = sum3+CC[count]; } mav3 = sum3/P3; plot3(mav3); } if CC[P4-1] > 0 Then { sum4 = 0; for count = 0 to P4-1 { sum4 = sum4+CC[count]; } mav4 = sum4/P4; plot4(mav4); } if CC[P5-1] > 0 Then { sum5 = 0; for count = 0 to P5-1 { sum5 = sum5+CC[count]; } mav5 = sum5/P5; plot5(mav5); } if CC[P6-1] > 0 Then { sum6 = 0; for count = 0 to P6-1 { sum6 = sum6+CC[count]; } mav6 = sum6/P6; plot6(mav6); } Text_Delete(tx1); Text_Delete(tx2); Text_Delete(tx3); Text_Delete(tx4); Text_Delete(tx5); Text_Delete(tx6); if mav1 > 0 Then tx1 = Text_New(nextbarsdate,nextbarstime,mav1,NumToStr(P1,0)+"주"); if mav2 > 0 Then tx2 = Text_New(nextbarsdate,nextbarstime,mav2,NumToStr(P2,0)+"주"); if mav3 > 0 Then tx3 = Text_New(nextbarsdate,nextbarstime,mav3,NumToStr(P3,0)+"주"); if mav4 > 0 Then tx4 = Text_New(nextbarsdate,nextbarstime,mav4,NumToStr(P4,0)+"주"); if mav5 > 0 Then tx5 = Text_New(nextbarsdate,nextbarstime,mav4,NumToStr(P5,0)+"주"); if mav6 > 0 Then tx6 = Text_New(nextbarsdate,nextbarstime,mav4,NumToStr(P6,0)+"주"); Text_SetStyle(tx1,0,2); Text_SetStyle(tx2,0,2); Text_SetStyle(tx3,0,2); Text_SetStyle(tx4,0,2); Text_SetStyle(tx5,0,2); Text_SetStyle(tx6,0,2); 2-3 월 input : P1(5),P2(10),P3(20),P4(60),P5(120),P6(200); var : cnt(0),count(0); var : sum1(0),sum2(0),sum3(0),sum4(0),sum5(0),sum6(0); var : mav1(0),mav2(0),mav3(0),mav4(0),mav5(0),mav6(0); var : tx1(0),tx2(0),tx3(0),tx4(0),tx5(0),tx6(0); Array : CC[300](0); if Bdate > Bdate[1]+30 Then { for cnt = 299 downto 1 { CC[cnt] = CC[cnt-1][1]; } } CC[0] = C; if CC[P1-1] > 0 Then { sum1 = 0; for count = 0 to P1-1 { sum1 = sum1+CC[count]; } mav1 = sum1/P1; plot1(mav1); } if CC[P2-1] > 0 Then { sum2 = 0; for count = 0 to P2-1 { sum2 = sum2+CC[count]; } mav2 = sum2/P2; plot2(mav2); } if CC[P3-1] > 0 Then { sum3 = 0; for count = 0 to P3-1 { sum3 = sum3+CC[count]; } mav3 = sum3/P3; plot3(mav3); } if CC[P4-1] > 0 Then { sum4 = 0; for count = 0 to P4-1 { sum4 = sum4+CC[count]; } mav4 = sum4/P4; plot4(mav4); } if CC[P5-1] > 0 Then { sum5 = 0; for count = 0 to P5-1 { sum5 = sum5+CC[count]; } mav5 = sum5/P5; plot5(mav5); } if CC[P6-1] > 0 Then { sum6 = 0; for count = 0 to P6-1 { sum6 = sum6+CC[count]; } mav6 = sum6/P6; plot6(mav6); } Text_Delete(tx1); Text_Delete(tx2); Text_Delete(tx3); Text_Delete(tx4); Text_Delete(tx5); Text_Delete(tx6); if mav1 > 0 Then tx1 = Text_New(nextbarsdate,nextbarstime,mav1,NumToStr(P1,0)+"월"); if mav2 > 0 Then tx2 = Text_New(nextbarsdate,nextbarstime,mav2,NumToStr(P2,0)+"월"); if mav3 > 0 Then tx3 = Text_New(nextbarsdate,nextbarstime,mav3,NumToStr(P3,0)+"월"); if mav4 > 0 Then tx4 = Text_New(nextbarsdate,nextbarstime,mav4,NumToStr(P4,0)+"월"); if mav5 > 0 Then tx5 = Text_New(nextbarsdate,nextbarstime,mav4,NumToStr(P5,0)+"월"); if mav6 > 0 Then tx6 = Text_New(nextbarsdate,nextbarstime,mav4,NumToStr(P6,0)+"월"); Text_SetStyle(tx1,0,2); Text_SetStyle(tx2,0,2); Text_SetStyle(tx3,0,2); Text_SetStyle(tx4,0,2); Text_SetStyle(tx5,0,2); Text_SetStyle(tx6,0,2); 3 오타가 있었습니다. ntime을 starttime으로 변경해 주시면 됩니다. 4 답변드린 내용을 시스템식에 추가해 적용해 보았지만 "0틱"으로 표시되는 봉이 보이지 않습니다. 수식내 조건문에 pp > 0 조건을 추가해 보시기 바랍니다. if pp > pp[1] and pp > 0 Then 즐거운 하루되세요 > chochobo 님이 쓴 글입니다. > 제목 : 문의드립니다 > 수고가 많으십니다. 예스랭귀지 초보인지라 몇가지 문의를 드리고자 합니다. 1-1. 당일과 전일의 주요 지표값 등 출력 ①당일 시가 ②당일 고가 ③당일 저가 ④당일 중앙선(당일 저점과 당일 고점의 중간값) ⑤전일 시가 ⑥전일 고가 ⑦전일 저가 ⑧전일 중앙선 ⑨전일 종가 를 차트에 선으로 출력하고, 당일 시가, 당일 고가 등등으로 표식도 함께 출력하고 싶습니다. ⑩파라볼릭(종가) ==> 기본지표에 있는 파라볼릭(종가)임 ⑪ 5 이평선 ⑫ 20 이평선 ⑬ 60 이평선 ⑭ 120 이평선 은 텍스트 표식없이 함께 출력하고싶습니다. (파라볼릭은 원본 그대로 캔들주변의 작은 점으로 표기하되, 색상과 두께 조절이 가능하게, 변수인 af 와 maxAf 는 변수편집 기능까지 가능하게) (5/10/20/60/120 기본 이평선은 필요시 10, 30, 200 이평선 등등으로 이평선을 조정할 수 있도록 변수? 취급하여 편집기능까지) == > 결론: 위의 지표들을 하나의 세트로 묶고자 함 1-2. 위 "1-1" 의 당일/전일 주요 지표값 등의 전부를 "지표속성"의 "차트표시"에서 체크박스로 만들어서 선택적으로 출력하고 싶고, 라인색과 두께도 함께 조절하고 싶습니다. 2-1. 당일과 전일의 일봉/주봉/월봉 값을 차트에 출력하고 싶습니다. ①"틱"차트에서 당일의 일봉(5일, 10일, 20일, 60일, 120일, 200일) 주봉(5주, 10주, 20주, 60주, 120주, 200주) 월봉(5월, 10월, 20월, 60월, 120월, 200월) ②"분"차트에서 당일의 일봉(5일, 10일, 20일, 60일, 120일, 200일) 주봉(5주, 10주, 20주, 60주, 120주, 200주) 월봉(5월, 10월, 20월, 60월, 120월, 200월) ==> 위 2-1의 ①, ② 경우, 차트 우측에 5일, 10일, 20일.... 5주, 10주, 20주.. 5월, 10월 20월... 등의 표식도 함께 출력하고 싶습니다. 2-2. 아울러 앞의 사례와 마찬가지로, 일봉(5일, 10일, 20일, 60일, 120일, 200일)/ 주봉(5주, 10주, 20주, 60주, 120주, 200주)/ 월봉(5월, 10월, 20월, 60월, 120월, 200월) 값을 "지표속성"의 "차트표시"에서 체크박스로 만들어서 선택적으로 출력하고 싶고, 라인색과 두께도 함께 조절하고 싶습니다. 3-1. 그리고 끝으로 저번 80428 에 대한 추가 질의를 드리고자 합니다. 원 질의(80428)에서 "3-1" 실행시 에러가 나는데요.. (첨부된 그림 화일 참조) [답변 내용중 일부 발췌] 3-1 아래 구조로 식을 작성하시면 10시15분에 시작해서 03시 50분 청산하게 됩니다. input : ntime(101500),EndTime(35000); var : Tcond(false); ====> 여기서 첫줄. input문을 input : StartTime(101500),EndTime(035000); 이렇게 수정하니 에러가 안나는데.. 이렇게 수정해서 사용하는게 맞는거죠? ^^ 3-2. 아울러 답변으로 올려주신 수식은 다 잘 되는데.. 가끔 "0틱 수익"이 찍힙니다. 이건 어떻게 잡아야 될까요?