커뮤니티

[질의드립니다]

프로필 이미지
chochobo
2023-09-06 04:37:01
1461
글번호 166897
답변완료
[질의드립니다] 예스랭귀지 초보인지라 몇가지 문의를 드리고자 합니다. 일전에 질의 드렸던 내용인데 에러가 나서 질의 드립니다. [질의 내용] 1-1. 당일과 전일의 주요 지표값 등 출력 ①당일 시가 ②당일 고가 ③당일 저가 ④당일 중앙선(당일 저점과 당일 고점의 중간값) ⑤전일 시가 ⑥전일 고가 ⑦전일 저가 ⑧전일 중앙선 ⑨전일 종가 를 차트에 선으로 출력하고, 당일 시가, 당일 고가 등등으로 표식도 함께 출력하고 싶습니다. ⑩파라볼릭(종가) ==> 기본지표에 있는 파라볼릭(종가)임 ⑪ 5 이평선 ⑫ 20 이평선 ⑬ 60 이평선 ⑭ 120 이평선 은 텍스트 표식없이 함께 출력하고싶습니다. (파라볼릭은 원본 그대로 캔들주변의 작은 점으로 표기하되, 색상과 두께 조절이 가능하게, 변수인 af 와 maxAf 는 변수편집 기능까지 가능하게) (5/10/20/60/120 기본 이평선은 필요시 10, 30, 200 이평선 등등으로 이평선을 조정할 수 있도록 변수? 취급하여 편집기능까지) == > 결론: 위의 지표들을 하나의 세트로 묶고자 함 1-2. 위 "1-1" 의 당일/전일 주요 지표값 등의 전부를 "지표속성"의 "차트표시"에서 체크박스로 만들어서 선택적으로 출력하고 싶고, 라인색과 두께도 함께 조절하고 싶습니다. ===> 답변 내용 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); ==> 수정 요청 1) 첫번재 그림에서 보시다시피, 전일중심가, 전일시가는 체크박스 해제(표기하지 않기로함) 했는데, 글자만 나오고 선은 출력되지 않습니다. (원래는 둘다 안나와야 함) 계속 이런 에러가 나타나는데 해결 방법이 있을까요? 2) 두번째 그림에서 보시다 시피.. 오늘(3월 11일) 항셍의 경우, 오전 11시 46분에 20517 저점을 찍었는데,, 왜 "당일 저가" 표기가 안되는 걸가요?
지표
답변 2
프로필 이미지

예스스탁 예스스탁 답변

2023-03-03 14:24:44

안녕하세요 예스스탁입니다. 1 속상창 차트표시탭의 체크박스는 plot의 출력여부를 지정하는 옵션입니다. 텍스트와는 무관합니다. 텍스트는 수식내에 별도 함수로 작성된 내용입니다. 해당체크박스 인지를 하지 못합니다. 모두 별도 외부변수처리해서 속성창의 외부변수탭에서 지정하셔야 합니다. 외부변수탭에서 표시를 1로 지정하면 선과 텍스트 모두표시하고 0이면 모두 표시되지 않게 작성해 드립니다. input : af(0.02),maxaf(0.2); input : p1(5),p2(20),p3(60),p4(120); input : 당일시가(1),당일고가(1),당일저가(1),당일중심(1); input : 전일시가(1),전일고가(1),전일저가(1),전일중심(1),전일종가(1); input : 파라볼릭(1),이평1(1),이평2(1),이평3(1),이평4(1); 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); 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); if 당일시가 == 1 Then { Plot1(DayOpen(0),"당일시가"); tx1 = Text_New(nextbarsdate,nextbarstime,DayOpen(0),"당일시가"); } if 당일고가 == 1 Then { Plot2(DayHigh(0),"당일고가"); tx2 = Text_New(nextbarsdate,nextbarstime,DayHigh(0),"당일고가"); } if 당일저가 == 1 Then { Plot3(DayLow(0),"당일저가"); tx3 = Text_New(nextbarsdate,nextbarstime,DayLow(0),"당일저가"); } if 당일중심 == 1 Then { Plot4((DayHigh(0)+DayLow(0))/2,"당일중심"); tx4 = Text_New(nextbarsdate,nextbarstime,(DayHigh(0)+DayLow(0))/2,"당일중심"); } if 전일시가 == 1 Then { Plot5(DayOpen(1),"전일시가"); tx5 = Text_New(nextbarsdate,nextbarstime,DayOpen(1),"전일시가"); } if 전일고가 == 1 Then { Plot6(DayHigh(1),"전일고가"); tx6 = Text_New(nextbarsdate,nextbarstime,DayHigh(1),"전일고가"); } if 전일고가 == 1 Then { Plot7(DayLow(1),"전일저가"); tx7 = Text_New(nextbarsdate,nextbarstime,DayLow(1),"전일저가"); } if 전일중심 == 1 Then { Plot8((DayHigh(1)+DayLow(1))/2,"전일중심"); tx8 = Text_New(nextbarsdate,nextbarstime,(DayHigh(1)+DayLow(1))/2,"전일중심"); } if 전일종가 == 1 Then { Plot9(DayClose(1),"전일종가"); tx9 = Text_New(nextbarsdate,nextbarstime,DayClose(1),"전일종가"); } if 파라볼릭 == 1 Then { Plot10(var1,"파라볼릭",IFf(C>var1,Red,Blue)); tx10 = Text_New(nextbarsdate,nextbarstime,var1,"파라볼릭"); } if 이평1 == 1 Then { Plot11(value1,"이평1"); tx11 = Text_New(nextbarsdate,nextbarstime,value1,NumToStr(P1,0)+"이평"); } if 이평2 == 1 Then { Plot12(value2,"이평2"); tx12 = Text_New(nextbarsdate,nextbarstime,value2,NumToStr(P2,0)+"이평"); } if 이평3 == 1 Then { Plot13(value3,"이평3"); tx13 = Text_New(nextbarsdate,nextbarstime,value3,NumToStr(P3,0)+"이평"); } if 이평4 == 1 Then { Plot14(value4,"이평4"); tx14 = 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 항셍의 경우에는 해당 종목의 거래소에서는 새로운 영업일 변경을 한국시간 18시15분(거래소시간 17시 15분)을 기준으로 합니다. 저희 프로그램이 제공되는 선물/증권사에서는 모두 거래소의 영업일 기준으로 일간시고저종가를 제공하고 있습니다. 거래소의 영업일 변경시간과 다른 시간을 하루기준으로 삼으시면 아래와 같이 별도로 시간을 지정해 일간시고저종가를 계산해 사용하셔야 합니다. 각 배열변수의 0은 당일, 1은 전일, 2는 전전일 순서입니다. input : 기준시간(101500); input : af(0.02),maxaf(0.2); input : p1(5),p2(20),p3(60),p4(120); input : 당일시가(1),당일고가(1),당일저가(1),당일중심(1); input : 전일시가(1),전일고가(1),전일저가(1),전일중심(1),전일종가(1); input : 파라볼릭(1),이평1(1),이평2(1),이평3(1),이평4(1); 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); var : cnt(0); Array : DO[20](0),DH[20](0),DL[20](0),DC[20](0); if (sdate != sdate[1] and stime >= 기준시간) or (sdate == sdate[1] and stime >= 기준시간 and stime[1] < 기준시간) Then { DO[0] = O; DH[0] = H; DL[0] = L; for cnt = 1 to 19 { DO[cnt] = DO[cnt-1][1]; DH[cnt] = DH[cnt-1][1]; DL[cnt] = DL[cnt-1][1]; DC[cnt] = DC[cnt-1][1]; } } DC[0] = C; if H > DH[0] Then DH[0] = H; if L < DL[0] Then DL[0] = L; var1 = sar(af,maxaf); value1 = ma(c,p1); value2 = ma(c,p2); value3 = ma(c,p3); value4 = ma(c,p4); 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); if 당일시가 == 1 Then { Plot1(DO[0],"당일시가"); tx1 = Text_New(nextbarsdate,nextbarstime,DO[0],"당일시가"); } if 당일고가 == 1 Then { Plot2(DH[0],"당일고가"); tx2 = Text_New(nextbarsdate,nextbarstime,DH[0],"당일고가"); } if 당일저가 == 1 Then { Plot3(DL[0],"당일저가"); tx3 = Text_New(nextbarsdate,nextbarstime,DL[0],"당일저가"); } if 당일중심 == 1 Then { Plot4((DH[0]+DL[0])/2,"당일중심"); tx4 = Text_New(nextbarsdate,nextbarstime,(DH[0]+DL[0])/2,"당일중심"); } if 전일시가 == 1 Then { Plot5(DO[1],"전일시가"); tx5 = Text_New(nextbarsdate,nextbarstime,DO[1],"전일시가"); } if 전일고가 == 1 Then { Plot6(DH[1],"전일고가"); tx6 = Text_New(nextbarsdate,nextbarstime,DH[1],"전일고가"); } if 전일고가 == 1 Then { Plot7(DL[1],"전일저가"); tx7 = Text_New(nextbarsdate,nextbarstime,DL[1],"전일저가"); } if 전일중심 == 1 Then { Plot8((DH[1]+DL[1])/2,"전일중심"); tx8 = Text_New(nextbarsdate,nextbarstime,(DH[1]+DL[1])/2,"전일중심"); } if 전일종가 == 1 Then { Plot9(DC[1],"전일종가"); tx9 = Text_New(nextbarsdate,nextbarstime,DC[1],"전일종가"); } if 파라볼릭 == 1 Then { Plot10(var1,"파라볼릭",IFf(C>var1,Red,Blue)); tx10 = Text_New(nextbarsdate,nextbarstime,var1,"파라볼릭"); } if 이평1 == 1 Then { Plot11(value1,"이평1"); tx11 = Text_New(nextbarsdate,nextbarstime,value1,NumToStr(P1,0)+"이평"); } if 이평2 == 1 Then { Plot12(value2,"이평2"); tx12 = Text_New(nextbarsdate,nextbarstime,value2,NumToStr(P2,0)+"이평"); } if 이평3 == 1 Then { Plot13(value3,"이평3"); tx13 = Text_New(nextbarsdate,nextbarstime,value3,NumToStr(P3,0)+"이평"); } if 이평4 == 1 Then { Plot14(value4,"이평4"); tx14 = 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); 즐거운 하루되세요 > chochobo 님이 쓴 글입니다. > 제목 : [질의드립니다] > [질의드립니다] 예스랭귀지 초보인지라 몇가지 문의를 드리고자 합니다. 일전에 질의 드렸던 내용인데 에러가 나서 질의 드립니다. [질의 내용] 1-1. 당일과 전일의 주요 지표값 등 출력 ①당일 시가 ②당일 고가 ③당일 저가 ④당일 중앙선(당일 저점과 당일 고점의 중간값) ⑤전일 시가 ⑥전일 고가 ⑦전일 저가 ⑧전일 중앙선 ⑨전일 종가 를 차트에 선으로 출력하고, 당일 시가, 당일 고가 등등으로 표식도 함께 출력하고 싶습니다. ⑩파라볼릭(종가) ==> 기본지표에 있는 파라볼릭(종가)임 ⑪ 5 이평선 ⑫ 20 이평선 ⑬ 60 이평선 ⑭ 120 이평선 은 텍스트 표식없이 함께 출력하고싶습니다. (파라볼릭은 원본 그대로 캔들주변의 작은 점으로 표기하되, 색상과 두께 조절이 가능하게, 변수인 af 와 maxAf 는 변수편집 기능까지 가능하게) (5/10/20/60/120 기본 이평선은 필요시 10, 30, 200 이평선 등등으로 이평선을 조정할 수 있도록 변수? 취급하여 편집기능까지) == > 결론: 위의 지표들을 하나의 세트로 묶고자 함 1-2. 위 "1-1" 의 당일/전일 주요 지표값 등의 전부를 "지표속성"의 "차트표시"에서 체크박스로 만들어서 선택적으로 출력하고 싶고, 라인색과 두께도 함께 조절하고 싶습니다. ===> 답변 내용 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); ==> 수정 요청 1) 첫번재 그림에서 보시다시피, 전일중심가, 전일시가는 체크박스 해제(표기하지 않기로함) 했는데, 글자만 나오고 선은 출력되지 않습니다. (원래는 둘다 안나와야 함) 계속 이런 에러가 나타나는데 해결 방법이 있을까요? 2) 두번째 그림에서 보시다 시피.. 오늘(3월 11일) 항셍의 경우, 오전 11시 46분에 20517 저점을 찍었는데,, 왜 "당일 저가" 표기가 안되는 걸가요?
프로필 이미지

chochobo

2023-03-03 14:55:45

chochobo 님에 의해 삭제된 답변입니다.