커뮤니티

수식 이해 도와주세요~

프로필 이미지
yamu
2024-08-21 15:35:56
534
글번호 182741
답변완료
수식 공부하다가 이해가 잘 안가서 질문 좀 드리겠습니다. 수식 내용은 볼밴 상단과 하단 돌파와 10틱 단위로 차트 표시에 관한 내용입니다. 질문은 수식에 !!!! 표시로 작성하였습니다. 매번 감사드립니다 input : Period(20),dv(0.4); var : 틱단위(10),글자크기1(15),글자크기2(11); var : BBup(0),BBmd(0),BBdn(0); var : TX(0),T(0),PP(0),TX1(0); var : hh(0),ll(0),S(0); BBup = BollBandUp(Period,dv); BBmd = ma(c,Period); BBdn = BollBandDown(Period,dv); if CrossUp(c,BBup) Then { T = 1; S = C; tx = Text_New(sDate,sTime,L,"▲"); Text_SetStyle(tx,2,0); Text_SetSize(tx,18); Text_SetColor(tx,Red); hh = 0; Plot1(bbup,"bb",Tomato); } else if CrossDown(c,BBdn) Then { T = -1; S = C; tx = Text_New(sDate,sTime,H,"▼"); Text_SetStyle(tx,2,1); Text_SetSize(tx,18); Text_SetColor(tx,Turquoise); ll = 0; Plot2(bbdn,"bb",LightCyan); } Else !!!!!! if~ else if ~ else 문법은 if 가 false 일때 세분화 작업으로 알고있습니다. else if 에서 크로스 다운은 이해가 가는데 마지막 else 는 어떤 경우를 말하는건지 모르겠습니다. 크로스 업과 크로스 다운도 아닌 경우를 말하는건가요? 그런데 else 이하를 보면 각각 크로스업일경우 다운일경우로 다시 나뉘는거 보면 그런거 같지도 않아 보입니다 헷갈리네요. { if T == 1 Then { if hh == 0 or (hh > 0 and h > hh) Then hh = h; pp = Floor((hh-S)/(PriceScale*틱단위)); !!!!!! 호가단위에 틱수를 곱해서 총 가격을 나타내는거 같습니다. hh는 돌파봉 발생 후 높은 h값을 갱신하는거고 그 값에서 돌파 당시의 종가를 뺀게 hh-s 이 부분 맞나요?~ pp 에 해당하는 내용을 해석해 주셨으면 감사하겠습니다 if pp > pp[1] Then { tx = Text_New(sdate,stime,H+PriceScale*3,NumToStr(pp*틱단위,0)+"틱"); !!!!!!"if pp> pp[1] then" , "pp * 틱단위" 의 의미가 궁금합니다. Text_SetStyle(tx,2,1); Text_SetColor(tx,White); Text_SetSize(tx,글자크기1); } } if T == -1 Then { if ll == 0 or (ll > 0 and l < ll) Then ll = l; pp = Floor((S-ll)/(PriceScale*틱단위)); if pp > pp[1] Then { tx = Text_New(sdate,stime,L-PriceScale*3,NumToStr(pp*틱단위,0)+"틱"); Text_SetStyle(tx,2,0); Text_SetSize(tx,글자크기2); } } }
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2024-08-22 13:15:33

안녕하세요 예스스탁입니다. 1 if CrossUp(c,BBup) Then { #종가가 볼밴상단을 돌파한 봉이면 } else if CrossDown(c,BBdn) Then { #종가가 볼밴하단을 이탈한 봉이면 } Else #위 2가기 조건이 만족한 봉은 아니고 { if T == 1 Then { #최근 볼밴상단을 돌파했다면 } if T == -1 Then { #최근 볼밴하단을 돌파했다면 } } 봉을 3가지 케이스로 구분한 경우입니다. 종가가 볼밴상단을 돌파한 봉이거나 종가가 볼밴하단을 이탈한 봉이거나 위 2가지 경우가 아닌경우입니다. 2 pp = Floor((hh-S)/(PriceScale*틱단위)); S는 종가가 볼밴상단을 돌파한 봉의 종가이고 hh는 종가가 볼밴상단을 돌파한 봉 이후에 최고가를 저장하는 변수입니다. priceScale는 차트종목의 1틱의 값입니다. 틱단위가 10이므로 PriceScale*틱단위은 10틱값입니다. 종가가 볼밴상단을 돌파한 이후에 최고수익(HH-C)을 계산하고 해당 최고수익이 10틱 단위로 최고수익틱수를 표시하는 내용입니다. 즐거운 하루되세요 > yamu 님이 쓴 글입니다. > 제목 : 수식 이해 도와주세요~ > 수식 공부하다가 이해가 잘 안가서 질문 좀 드리겠습니다. 수식 내용은 볼밴 상단과 하단 돌파와 10틱 단위로 차트 표시에 관한 내용입니다. 질문은 수식에 !!!! 표시로 작성하였습니다. 매번 감사드립니다 input : Period(20),dv(0.4); var : 틱단위(10),글자크기1(15),글자크기2(11); var : BBup(0),BBmd(0),BBdn(0); var : TX(0),T(0),PP(0),TX1(0); var : hh(0),ll(0),S(0); BBup = BollBandUp(Period,dv); BBmd = ma(c,Period); BBdn = BollBandDown(Period,dv); if CrossUp(c,BBup) Then { T = 1; S = C; tx = Text_New(sDate,sTime,L,"▲"); Text_SetStyle(tx,2,0); Text_SetSize(tx,18); Text_SetColor(tx,Red); hh = 0; Plot1(bbup,"bb",Tomato); } else if CrossDown(c,BBdn) Then { T = -1; S = C; tx = Text_New(sDate,sTime,H,"▼"); Text_SetStyle(tx,2,1); Text_SetSize(tx,18); Text_SetColor(tx,Turquoise); ll = 0; Plot2(bbdn,"bb",LightCyan); } Else !!!!!! if~ else if ~ else 문법은 if 가 false 일때 세분화 작업으로 알고있습니다. else if 에서 크로스 다운은 이해가 가는데 마지막 else 는 어떤 경우를 말하는건지 모르겠습니다. 크로스 업과 크로스 다운도 아닌 경우를 말하는건가요? 그런데 else 이하를 보면 각각 크로스업일경우 다운일경우로 다시 나뉘는거 보면 그런거 같지도 않아 보입니다 헷갈리네요. { if T == 1 Then { if hh == 0 or (hh > 0 and h > hh) Then hh = h; pp = Floor((hh-S)/(PriceScale*틱단위)); !!!!!! 호가단위에 틱수를 곱해서 총 가격을 나타내는거 같습니다. hh는 돌파봉 발생 후 높은 h값을 갱신하는거고 그 값에서 돌파 당시의 종가를 뺀게 hh-s 이 부분 맞나요?~ pp 에 해당하는 내용을 해석해 주셨으면 감사하겠습니다 if pp > pp[1] Then { tx = Text_New(sdate,stime,H+PriceScale*3,NumToStr(pp*틱단위,0)+"틱"); !!!!!!"if pp> pp[1] then" , "pp * 틱단위" 의 의미가 궁금합니다. Text_SetStyle(tx,2,1); Text_SetColor(tx,White); Text_SetSize(tx,글자크기1); } } if T == -1 Then { if ll == 0 or (ll > 0 and l < ll) Then ll = l; pp = Floor((S-ll)/(PriceScale*틱단위)); if pp > pp[1] Then { tx = Text_New(sdate,stime,L-PriceScale*3,NumToStr(pp*틱단위,0)+"틱"); Text_SetStyle(tx,2,0); Text_SetSize(tx,글자크기2); } } }