커뮤니티

수식좀 요청 드립니다

프로필 이미지
요타
2023-06-19 22:32:18
1474
글번호 169894
답변완료
ㅇ 매번 많은 도움에 고맙 습니다. <요청 사항> 실선으로 네모박스 좀 요청 드립니다. <기준> 이전봉(C[1])의 최고가와 최저가 가 이전 4개봉( C[2],C[3],C[4],C[5]) 범위 보다 크면 C[1] ~ C[5] 까지 굵은 네모 박스 색상은 Magenta 5봉전(C[5])의 최고가와 최저가가 이후 4개봉(C[4],C[3],C[2],C[1]) 범위 보다 크면 C[1] ~ C[5] 까지 굵은 네모 박스로 그려주고 색상은 BLUE 즉 5개봉 기준으로 한봉의 MIN MAX가 4개봉의 MIN MAX보다 크면 내모박스 부탁 드립니다.(현재봉 제외) 단 MIN MAX 재일 큰 봉이 4봉 중간에 끼이면 안됨니다. ## 아래는 색상 빼고 연습 했는데 잘안 되네요... input : N(20),상(1),하(1); var : S1(0),D1(0),TF(0),box(0),idx(0),T(0),T1(0),T2(0),tx(0); var : oo(0),hh(0),ll(0),TL1(0),TL2(0),clr(0),ii(0),TL(0); var : bc(0),bch(0),tx1(0); var81 = highest(H,4); var82 = lowest(L,4); //Plot1(0); Magenta ## 추가 조건 ## 큰봉(양 음봉 관계 없음)이 앞의 내개 봉보다 크면 네모 박스 ## 앞의 큰 봉의 최대 값과 최소값이 뒤의 4개봉 최대 가격과 최소 가격 보다 크면 네모 박스 if Bdate != Bdate[1] AND Then { S1 = TimeToMinutes(stime); D1 = sdate; idx = 0; } Else idx = idx+1; if D1 > 0 then { TF = idx%N; if Bdate != Bdate[1] or (Bdate == Bdate[1] and TF < TF[1]) Then { oo = O; hh = H; ll = L; box = Box_New(sDate,sTime,oo,NextBarSdate,NextBarStime,c); ii = 1; var1 = sDate[1]; var2 = stime[1]; var11 = var1[1]; var21 = Var2[1]; if C[1] > OO[1] Then T = 1; if C[1] < OO[1] Then { T = -1; bc = C[1]; bch = DayHigh(0)[1]; } if T != T[1] Then { Text_Delete(tx); if T == 1 Then { tx = Text_New(sDate[1],sTime[1],OO[1]-PriceScale*1,"●"); Text_SetStyle(tx,2,2); Text_SetColor(tx,Red); Text_SetSize(tx,20); } if T == -1 Then { tx = Text_New(sDate[1],sTime[1],OO[1]+PriceScale*1,"●"); Text_SetStyle(tx,2,2); Text_SetColor(tx,Blue); Text_SetSize(tx,20); } if T == 1 Then { value1 = bc; Value2 = value1[1]; Value3 = bch; if value1 <= Value2+PriceScale*상 and value1 >= Value2-PriceScale*하 and value1 <= Value3-1 Then { tx1 = Text_New(var11,Var21,value1,"●"); Text_SetStyle(tx1,2,2); Text_SetColor(tx1,Magenta); Text_SetSize(tx1,20); } } } } Else { ii = ii +1; if h > hh Then hh = h; if l < ll Then ll = l; Box_SetEnd(box,sDate,sTime,C); } if C > oo Then clr = Red; else if C < oo Then clr = Blue; Else clr = Green; //Box_SetColor(box,clr); // Box_SetSize(box,1); // Box_SetFill(box,true,255); } * 고맙 습니다. 수고 하십시요.
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2023-06-20 13:18:11

안녕하세요 예스스탁입니다. 1 input : P(5); var : box(0); if H > highest(H,P-1)[1] and L < Lowest(L,P-1)[1] Then { box = Box_New(sDate[P-1],sTime[P-1],highest(H,P),sDate,sTime,lowest(L,P)); Box_SetColor(box,Blue); } 2 input: N(20),P(5); var : S1(0),D1(0),TF(0),idx(0),cnt(0); var : Hv(0),Lv(0),Box(0); Array : HH[50](0),LL[50](0),DD[50](0),TT[50](0); if Bdate != Bdate[1] Then { S1 = TimeToMinutes(stime); D1 = sdate; idx = 0; } Else idx = idx+1; if D1 > 0 then { TF = idx%N; if Bdate != Bdate[1] or (Bdate == Bdate[1] and TF < TF[1]) Then { For cnt = 49 DownTo 1 { hh[cnt] = hh[cnt-1]; ll[cnt] = ll[cnt-1]; dd[cnt] = dd[cnt-1]; tt[cnt] = tt[cnt-1]; } hh[0] = H; ll[0] = L; dd[0] = sDate; tt[0] = sTime; if Hv[P] > 0 and Lv[P] > 0 Then { hv = 0; lv = 0; For cnt = 2 to P { if hv == 0 or (Hv > 0 and hh[cnt] > hv) Then hv = hh[cnt]; if lv == 0 or (lv > 0 and ll[cnt] < lv) Then lv = ll[cnt]; } if hh[1] > hv and ll[1] < lv Then { box = Box_New(dd[P],tt[P],hv,sDate,sTime,Lv); Box_SetColor(box,Blue); } } } if h > hh[0] Then hh[0] = h; if l < ll[0] Then ll[0] = l; } 즐거운 하루되세요 > 요타 님이 쓴 글입니다. > 제목 : 수식좀 요청 드립니다 > ㅇ 매번 많은 도움에 고맙 습니다. <요청 사항> 실선으로 네모박스 좀 요청 드립니다. <기준> 이전봉(C[1])의 최고가와 최저가 가 이전 4개봉( C[2],C[3],C[4],C[5]) 범위 보다 크면 C[1] ~ C[5] 까지 굵은 네모 박스 색상은 Magenta 5봉전(C[5])의 최고가와 최저가가 이후 4개봉(C[4],C[3],C[2],C[1]) 범위 보다 크면 C[1] ~ C[5] 까지 굵은 네모 박스로 그려주고 색상은 BLUE 즉 5개봉 기준으로 한봉의 MIN MAX가 4개봉의 MIN MAX보다 크면 내모박스 부탁 드립니다.(현재봉 제외) 단 MIN MAX 재일 큰 봉이 4봉 중간에 끼이면 안됨니다. ## 아래는 색상 빼고 연습 했는데 잘안 되네요... input : N(20),상(1),하(1); var : S1(0),D1(0),TF(0),box(0),idx(0),T(0),T1(0),T2(0),tx(0); var : oo(0),hh(0),ll(0),TL1(0),TL2(0),clr(0),ii(0),TL(0); var : bc(0),bch(0),tx1(0); var81 = highest(H,4); var82 = lowest(L,4); //Plot1(0); Magenta ## 추가 조건 ## 큰봉(양 음봉 관계 없음)이 앞의 내개 봉보다 크면 네모 박스 ## 앞의 큰 봉의 최대 값과 최소값이 뒤의 4개봉 최대 가격과 최소 가격 보다 크면 네모 박스 if Bdate != Bdate[1] AND Then { S1 = TimeToMinutes(stime); D1 = sdate; idx = 0; } Else idx = idx+1; if D1 > 0 then { TF = idx%N; if Bdate != Bdate[1] or (Bdate == Bdate[1] and TF < TF[1]) Then { oo = O; hh = H; ll = L; box = Box_New(sDate,sTime,oo,NextBarSdate,NextBarStime,c); ii = 1; var1 = sDate[1]; var2 = stime[1]; var11 = var1[1]; var21 = Var2[1]; if C[1] > OO[1] Then T = 1; if C[1] < OO[1] Then { T = -1; bc = C[1]; bch = DayHigh(0)[1]; } if T != T[1] Then { Text_Delete(tx); if T == 1 Then { tx = Text_New(sDate[1],sTime[1],OO[1]-PriceScale*1,"●"); Text_SetStyle(tx,2,2); Text_SetColor(tx,Red); Text_SetSize(tx,20); } if T == -1 Then { tx = Text_New(sDate[1],sTime[1],OO[1]+PriceScale*1,"●"); Text_SetStyle(tx,2,2); Text_SetColor(tx,Blue); Text_SetSize(tx,20); } if T == 1 Then { value1 = bc; Value2 = value1[1]; Value3 = bch; if value1 <= Value2+PriceScale*상 and value1 >= Value2-PriceScale*하 and value1 <= Value3-1 Then { tx1 = Text_New(var11,Var21,value1,"●"); Text_SetStyle(tx1,2,2); Text_SetColor(tx1,Magenta); Text_SetSize(tx1,20); } } } } Else { ii = ii +1; if h > hh Then hh = h; if l < ll Then ll = l; Box_SetEnd(box,sDate,sTime,C); } if C > oo Then clr = Red; else if C < oo Then clr = Blue; Else clr = Green; //Box_SetColor(box,clr); // Box_SetSize(box,1); // Box_SetFill(box,true,255); } * 고맙 습니다. 수고 하십시요.