커뮤니티

수식좀 요청 드립니다.

프로필 이미지
요타
2023-07-03 09:10:48
1682
글번호 170255
답변완료
* 좋은 한주되십시요. * 지난번 수직선은 잘쓰고 있습니다. 고맙습니다. * 이번에는 수평선좀 부탁 드립니다. input: n(1), hh(60) ; var1 = ma(c,5) ; var2 = ma(c,20) ; 일경우 crossup(var1, var2) 조건에 해당봉 고가,저가에 쌍수평선 crossdown(var1, var2) 조건에 해당봉 고가,저가에 쌍수평선 좀 부탁 드립니다 즉 크로스가 나는 봉의 최고가 부터 우측 으로 차트 끝까지 크로스가 나는 봉의 최저가 부터 우측 으로 차트 끝까지 단 변수(n(1))일 까지 입니다.(고저 수평선이 다음날 표시 되면 안됨니다.) n(1) = 해당일 만 수평선 n(2) = 해당일 + 전일 n(3) = 해당일 + 전일 + 전전일 3일이전 까지 아래 모양 입니다. 봉 고가선 봉 저가선 수평으로 우측 차트 끝까지 하루치만 선표시(변수) <아래> ───────────────────────────────(고가수평선) Ⅱ (해당봉) ───────────────────────────────(저가수평선) * 혹시 가능 하시면 차트 끝까지 버젼(일) 표시 60봉 까지만 수평선 출력 버젼도 함게 부탁 드립니다. 죄송합니다 매번 도움에 정말 고맙습니다.
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2023-07-03 10:21:53

안녕하세요 예스스탁입니다. 과거 발생한 선들의 아이디를 저장해 연장해야 합니다. 과거 100개까지 지정한 기간으로 연장합니다. 1 input: n(1), hh(60) ; var : dd(0),cnt(0); Array : TL1[100](0),TL2[100](0),V1[100](0),V2[100](0),D1[100](0); Array : TL3[100](0),TL4[100](0),V3[100](0),V4[100](0),D2[100](0); if bdate != Bdate[1] Then dd = dd+1; var1 = ma(c,5); var2 = ma(c,20); if CrossUp(var1, var2) Then { For cnt = 99 DownTo 1 { TL1[cnt] = TL1[cnt-1]; TL2[cnt] = TL2[cnt-1]; V1[cnt] = V1[cnt-1]; V2[cnt] = V2[cnt-1]; D1[cnt] = D1[cnt-1]; } V1[0] = H; V2[0] = L; D1[0] = dd; TL1[0] = TL_new(sDate,sTime,V1[0],NextBarSdate,NextBarStime,V1[0]); TL2[0] = TL_new(sDate,sTime,V2[0],NextBarSdate,NextBarStime,V2[0]); TL_SetColor(TL1[0],Red); TL_SetColor(TL2[0],Red); } Else { For cnt = 99 DownTo 0 { if dd < D1[cnt]+n Then { TL_SetEnd(TL1[cnt],sDate,sTime,V1[cnt]); TL_SetEnd(TL2[cnt],sDate,sTime,V2[cnt]); } } } if CrossDown(var1, var2) Then { For cnt = 99 DownTo 1 { TL3[cnt] = TL3[cnt-1]; TL4[cnt] = TL4[cnt-1]; V3[cnt] = V3[cnt-1]; V4[cnt] = V4[cnt-1]; D2[cnt] = D2[cnt-1]; } V3[0] = H; V4[0] = L; D2[0] = dd; TL3[0] = TL_new(sDate,sTime,V3[0],NextBarSdate,NextBarStime,V3[0]); TL4[0] = TL_new(sDate,sTime,V4[0],NextBarSdate,NextBarStime,V4[0]); TL_SetColor(TL3[0],Blue); TL_SetColor(TL4[0],Blue); } Else { For cnt = 99 DownTo 0 { if dd < D2[cnt]+n Then { TL_SetEnd(TL3[cnt],sDate,sTime,V3[cnt]); TL_SetEnd(TL4[cnt],sDate,sTime,V4[cnt]); } } } 2 input: n(1), hh(60) ; var : dd(0),cnt(0); Array : TL1[100](0),TL2[100](0),V1[100](0),V2[100](0),D1[100](0); Array : TL3[100](0),TL4[100](0),V3[100](0),V4[100](0),D2[100](0); if bdate != Bdate[1] Then dd = dd+1; var1 = ma(c,5); var2 = ma(c,20); if CrossUp(var1, var2) Then { For cnt = 99 DownTo 1 { TL1[cnt] = TL1[cnt-1]; TL2[cnt] = TL2[cnt-1]; V1[cnt] = V1[cnt-1]; V2[cnt] = V2[cnt-1]; D1[cnt] = D1[cnt-1]; } V1[0] = H; V2[0] = L; D1[0] = Index; TL1[0] = TL_new(sDate,sTime,V1[0],NextBarSdate,NextBarStime,V1[0]); TL2[0] = TL_new(sDate,sTime,V2[0],NextBarSdate,NextBarStime,V2[0]); TL_SetColor(TL1[0],Red); TL_SetColor(TL2[0],Red); } Else { For cnt = 99 DownTo 0 { if Index < D1[cnt]+hh Then { TL_SetEnd(TL1[cnt],sDate,sTime,V1[cnt]); TL_SetEnd(TL2[cnt],sDate,sTime,V2[cnt]); } } } if CrossDown(var1, var2) Then { For cnt = 99 DownTo 1 { TL3[cnt] = TL3[cnt-1]; TL4[cnt] = TL4[cnt-1]; V3[cnt] = V3[cnt-1]; V4[cnt] = V4[cnt-1]; D2[cnt] = D2[cnt-1]; } V3[0] = H; V4[0] = L; D2[0] = Index; TL3[0] = TL_new(sDate,sTime,V3[0],NextBarSdate,NextBarStime,V3[0]); TL4[0] = TL_new(sDate,sTime,V4[0],NextBarSdate,NextBarStime,V4[0]); TL_SetColor(TL3[0],Blue); TL_SetColor(TL4[0],Blue); } Else { For cnt = 99 DownTo 0 { if Index < D2[cnt]+hh Then { TL_SetEnd(TL3[cnt],sDate,sTime,V3[cnt]); TL_SetEnd(TL4[cnt],sDate,sTime,V4[cnt]); } } } 즐거운 하루되세요 > 요타 님이 쓴 글입니다. > 제목 : 수식좀 요청 드립니다. > * 좋은 한주되십시요. * 지난번 수직선은 잘쓰고 있습니다. 고맙습니다. * 이번에는 수평선좀 부탁 드립니다. input: n(1), hh(60) ; var1 = ma(c,5) ; var2 = ma(c,20) ; 일경우 crossup(var1, var2) 조건에 해당봉 고가,저가에 쌍수평선 crossdown(var1, var2) 조건에 해당봉 고가,저가에 쌍수평선 좀 부탁 드립니다 즉 크로스가 나는 봉의 최고가 부터 우측 으로 차트 끝까지 크로스가 나는 봉의 최저가 부터 우측 으로 차트 끝까지 단 변수(n(1))일 까지 입니다.(고저 수평선이 다음날 표시 되면 안됨니다.) n(1) = 해당일 만 수평선 n(2) = 해당일 + 전일 n(3) = 해당일 + 전일 + 전전일 3일이전 까지 아래 모양 입니다. 봉 고가선 봉 저가선 수평으로 우측 차트 끝까지 하루치만 선표시(변수) <아래> ───────────────────────────────(고가수평선) Ⅱ (해당봉) ───────────────────────────────(저가수평선) * 혹시 가능 하시면 차트 끝까지 버젼(일) 표시 60봉 까지만 수평선 출력 버젼도 함게 부탁 드립니다. 죄송합니다 매번 도움에 정말 고맙습니다.