커뮤니티

지표 수정 부탁드립니다.

프로필 이미지
maker
2019-08-27 12:04:41
201
글번호 131491
답변완료
아래는 답변 받았던 내용입니다. 약간의 수정 부탁드립니다. 1. 선의 색상과 굵기를 선택할 수 없어 수정 가능하도록 부탁드립니다. 2. 25, 75에 해당되는 부분(저점을 0, 고점을 100으로 했을 경우)을 변경할 수 있도록 외부입력변수로 부탁드리겠습니다. 감사합니다. ============================================================================= input : n(20),CC(10),CF(3); var : TF(0),S1(0),D1(0),TM(0),cnt(0),T1(0),HH(0),LL(0),ii(0),TT(0); var : TL1(0),TL2(0),TL3(0),TL4(0),TL5(0),TL6(0); var : O1(0),H1(0),L1(0),C1(0),sum(0),mav(0),VD(0),VT(0),VM(0),VP(0); Array : V1[100](0); if Bdate != Bdate[1] Then { S1 = TimeToMinutes(stime); D1 = sdate; TT = stime; ii = 0; } Else ii = ii+1; if D1 > 0 then { #영업일변경 기준으로 경과된 분 if sdate == D1 Then TM = TimeToMinutes(stime)-S1; Else TM = TimeToMinutes(stime)+1440-S1; //n분 미만 if TM < n then { //당일최고와 최저가를 기준으로 선 출력 hh = DayHigh; ll = daylow; TL_Delete(TL1); TL_Delete(TL2); TL_Delete(TL3); TL_Delete(TL4); TL_Delete(TL5); TL1 = TL_New(D1,TT,HH,Sdate,stime,HH); TL2 = TL_New(D1,TT,HH-(HH-LL)*0.25,Sdate,stime,HH-(HH-LL)*0.25); TL3 = TL_New(D1,TT,HH-(HH-LL)*0.50,Sdate,stime,HH-(HH-LL)*0.50); TL4 = TL_New(D1,TT,HH-(HH-LL)*0.75,Sdate,stime,HH-(HH-LL)*0.75); TL5 = TL_New(D1,TT,LL,Sdate,stime,LL); } else //분이상 경과 { //최근 n분 이내에서 최고가와 최저가 계산해서 선 출력 HH = H; LL = L; for cnt = 0 to ii { if TM[cnt] > TM-N then { if H[cnt] > HH Then HH = H[cnt]; if L[cnt] < LL Then LL = L[cnt]; TT = stime[cnt]; } if TM[cnt] < TM-N Then cnt = ii+1; } TL_Delete(TL1); TL_Delete(TL1); TL_Delete(TL2); TL_Delete(TL3); TL_Delete(TL4); TL_Delete(TL5); TL1 = TL_New(D1,TT,HH,Sdate,stime,HH); TL2 = TL_New(D1,TT,HH-(HH-LL)*0.25,Sdate,stime,HH-(HH-LL)*0.25); TL3 = TL_New(D1,TT,HH-(HH-LL)*0.50,Sdate,stime,HH-(HH-LL)*0.50); TL4 = TL_New(D1,TT,HH-(HH-LL)*0.75,Sdate,stime,HH-(HH-LL)*0.75); TL5 = TL_New(D1,TT,LL,Sdate,stime,LL); } TL_SetColor(TL1,RED); TL_SetColor(TL2,MAGENTA); TL_SetColor(TL3,GREEN); TL_SetColor(TL4,CYAN); TL_SetColor(TL5,BLUE); #1분봉 기준(시,고,저,종,거래량 계산) if bdate != bdate[1] or (Bdate == bdate[1] and TM > TM[1]) Then { O1 = O; H1 = H; L1 = L; V1[0] = 0 ; for cnt = 1 to 99 { V1[cnt] = v1[cnt-1][1]; } } if H > H1 Then H1 = H; if L < L1 Then L1 = L; C1 = C; V1[0] = V1[0]+V; TL_Delete(TL6); if V1[cc] > 0 then { sum = 0; for cnt = 1 to CC { sum = sum + V1[cnt]; } mav = sum/CC; //최근 1분거래량이 이전 cc봉 평균대비 CF배 이상이면 if V1[0] >= mav*CF Then { //날짜,시간,TM값, 평균값 저장 VD = sdate; VT = stime; VM = TM; VP = (O1+H1+L1+C1)/4; } //오늘 거래량조건이 발생한적 있고 현재부터 20분 이내이면 출력 if VD == sdate and VM > TM-n Then { TL6 = TL_new(D1,TT,VP,Sdate,stime,VP); TL_SetColor(TL1,BLACK); } } }
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2019-08-27 18:41:15

안녕하세요 예스스탁입니다. 색상은 색상예약어로 지정하셔야 합니다. 랭귀지 도움말에서 색상예약어 참고하시기 바랍니다. input : n(20),CC(10),CF(3),Per1(25),Per2(50),Per3(75); input : 굵기1(1),굵기2(1),굵기3(1),굵기4(1),굵기5(1),굵기6(1); input : 색상1(RED),색상2(MAGENTA),색상3(GREEN),색상4(CYAN),색상5(BLUE),색상6(BLACK); var : TF(0),S1(0),D1(0),TM(0),cnt(0),T1(0),HH(0),LL(0),ii(0),TT(0); var : TL1(0),TL2(0),TL3(0),TL4(0),TL5(0),TL6(0); var : O1(0),H1(0),L1(0),C1(0),sum(0),mav(0),VD(0),VT(0),VM(0),VP(0); Array : V1[100](0); if Bdate != Bdate[1] Then { S1 = TimeToMinutes(stime); D1 = sdate; TT = stime; ii = 0; } Else ii = ii+1; if D1 > 0 then { #영업일변경 기준으로 경과된 분 if sdate == D1 Then TM = TimeToMinutes(stime)-S1; Else TM = TimeToMinutes(stime)+1440-S1; //n분 미만 if TM < n then { //당일최고와 최저가를 기준으로 선 출력 hh = DayHigh; ll = daylow; TL_Delete(TL1); TL_Delete(TL2); TL_Delete(TL3); TL_Delete(TL4); TL_Delete(TL5); TL1 = TL_New(D1,TT,HH,Sdate,stime,HH); TL2 = TL_New(D1,TT,HH-(HH-LL)*0.25,Sdate,stime,HH-(HH-LL)*(Per1/100)); TL3 = TL_New(D1,TT,HH-(HH-LL)*0.50,Sdate,stime,HH-(HH-LL)*(Per2/100)); TL4 = TL_New(D1,TT,HH-(HH-LL)*0.75,Sdate,stime,HH-(HH-LL)*(Per3/100)); TL5 = TL_New(D1,TT,LL,Sdate,stime,LL); } else //분이상 경과 { //최근 n분 이내에서 최고가와 최저가 계산해서 선 출력 HH = H; LL = L; for cnt = 0 to ii { if TM[cnt] > TM-N then { if H[cnt] > HH Then HH = H[cnt]; if L[cnt] < LL Then LL = L[cnt]; TT = stime[cnt]; } if TM[cnt] < TM-N Then cnt = ii+1; } TL_Delete(TL1); TL_Delete(TL2); TL_Delete(TL3); TL_Delete(TL4); TL_Delete(TL5); TL1 = TL_New(D1,TT,HH,Sdate,stime,HH); TL2 = TL_New(D1,TT,HH-(HH-LL)*0.25,Sdate,stime,HH-(HH-LL)*(Per1/100)); TL3 = TL_New(D1,TT,HH-(HH-LL)*0.50,Sdate,stime,HH-(HH-LL)*(Per2/100)); TL4 = TL_New(D1,TT,HH-(HH-LL)*0.75,Sdate,stime,HH-(HH-LL)*(Per3/100)); TL5 = TL_New(D1,TT,LL,Sdate,stime,LL); } TL_SetColor(TL1,RED); TL_SetColor(TL2,MAGENTA); TL_SetColor(TL3,GREEN); TL_SetColor(TL4,CYAN); TL_SetColor(TL5,BLUE); TL_SetSize(TL1, 굵기1); TL_SetSize(TL2, 굵기2); TL_SetSize(TL3, 굵기3); TL_SetSize(TL4, 굵기4); TL_SetSize(TL5, 굵기5); #1분봉 기준(시,고,저,종,거래량 계산) if bdate != bdate[1] or (Bdate == bdate[1] and TM > TM[1]) Then { O1 = O; H1 = H; L1 = L; V1[0] = 0 ; for cnt = 1 to 99 { V1[cnt] = v1[cnt-1][1]; } } if H > H1 Then H1 = H; if L < L1 Then L1 = L; C1 = C; V1[0] = V1[0]+V; TL_Delete(TL6); if V1[cc] > 0 then { sum = 0; for cnt = 1 to CC { sum = sum + V1[cnt]; } mav = sum/CC; //최근 1분거래량이 이전 cc봉 평균대비 CF배 이상이면 if V1[0] >= mav*CF Then { //날짜,시간,TM값, 평균값 저장 VD = sdate; VT = stime; VM = TM; VP = (O1+H1+L1+C1)/4; } //오늘 거래량조건이 발생한적 있고 현재부터 20분 이내이면 출력 if VD == sdate and VM > TM-n Then { TL6 = TL_new(D1,TT,VP,Sdate,stime,VP); TL_SetColor(TL6,BLACK); TL_SetSize(TL6,굵기6); } } } 즐거운 하루되세요 > maker 님이 쓴 글입니다. > 제목 : 지표 수정 부탁드립니다. > 아래는 답변 받았던 내용입니다. 약간의 수정 부탁드립니다. 1. 선의 색상과 굵기를 선택할 수 없어 수정 가능하도록 부탁드립니다. 2. 25, 75에 해당되는 부분(저점을 0, 고점을 100으로 했을 경우)을 변경할 수 있도록 외부입력변수로 부탁드리겠습니다. 감사합니다. ============================================================================= input : n(20),CC(10),CF(3); var : TF(0),S1(0),D1(0),TM(0),cnt(0),T1(0),HH(0),LL(0),ii(0),TT(0); var : TL1(0),TL2(0),TL3(0),TL4(0),TL5(0),TL6(0); var : O1(0),H1(0),L1(0),C1(0),sum(0),mav(0),VD(0),VT(0),VM(0),VP(0); Array : V1[100](0); if Bdate != Bdate[1] Then { S1 = TimeToMinutes(stime); D1 = sdate; TT = stime; ii = 0; } Else ii = ii+1; if D1 > 0 then { #영업일변경 기준으로 경과된 분 if sdate == D1 Then TM = TimeToMinutes(stime)-S1; Else TM = TimeToMinutes(stime)+1440-S1; //n분 미만 if TM < n then { //당일최고와 최저가를 기준으로 선 출력 hh = DayHigh; ll = daylow; TL_Delete(TL1); TL_Delete(TL2); TL_Delete(TL3); TL_Delete(TL4); TL_Delete(TL5); TL1 = TL_New(D1,TT,HH,Sdate,stime,HH); TL2 = TL_New(D1,TT,HH-(HH-LL)*0.25,Sdate,stime,HH-(HH-LL)*0.25); TL3 = TL_New(D1,TT,HH-(HH-LL)*0.50,Sdate,stime,HH-(HH-LL)*0.50); TL4 = TL_New(D1,TT,HH-(HH-LL)*0.75,Sdate,stime,HH-(HH-LL)*0.75); TL5 = TL_New(D1,TT,LL,Sdate,stime,LL); } else //분이상 경과 { //최근 n분 이내에서 최고가와 최저가 계산해서 선 출력 HH = H; LL = L; for cnt = 0 to ii { if TM[cnt] > TM-N then { if H[cnt] > HH Then HH = H[cnt]; if L[cnt] < LL Then LL = L[cnt]; TT = stime[cnt]; } if TM[cnt] < TM-N Then cnt = ii+1; } TL_Delete(TL1); TL_Delete(TL1); TL_Delete(TL2); TL_Delete(TL3); TL_Delete(TL4); TL_Delete(TL5); TL1 = TL_New(D1,TT,HH,Sdate,stime,HH); TL2 = TL_New(D1,TT,HH-(HH-LL)*0.25,Sdate,stime,HH-(HH-LL)*0.25); TL3 = TL_New(D1,TT,HH-(HH-LL)*0.50,Sdate,stime,HH-(HH-LL)*0.50); TL4 = TL_New(D1,TT,HH-(HH-LL)*0.75,Sdate,stime,HH-(HH-LL)*0.75); TL5 = TL_New(D1,TT,LL,Sdate,stime,LL); } TL_SetColor(TL1,RED); TL_SetColor(TL2,MAGENTA); TL_SetColor(TL3,GREEN); TL_SetColor(TL4,CYAN); TL_SetColor(TL5,BLUE); #1분봉 기준(시,고,저,종,거래량 계산) if bdate != bdate[1] or (Bdate == bdate[1] and TM > TM[1]) Then { O1 = O; H1 = H; L1 = L; V1[0] = 0 ; for cnt = 1 to 99 { V1[cnt] = v1[cnt-1][1]; } } if H > H1 Then H1 = H; if L < L1 Then L1 = L; C1 = C; V1[0] = V1[0]+V; TL_Delete(TL6); if V1[cc] > 0 then { sum = 0; for cnt = 1 to CC { sum = sum + V1[cnt]; } mav = sum/CC; //최근 1분거래량이 이전 cc봉 평균대비 CF배 이상이면 if V1[0] >= mav*CF Then { //날짜,시간,TM값, 평균값 저장 VD = sdate; VT = stime; VM = TM; VP = (O1+H1+L1+C1)/4; } //오늘 거래량조건이 발생한적 있고 현재부터 20분 이내이면 출력 if VD == sdate and VM > TM-n Then { TL6 = TL_new(D1,TT,VP,Sdate,stime,VP); TL_SetColor(TL1,BLACK); } } }