커뮤니티

수식 부탁드립니다.

프로필 이미지
앙이
2018-05-03 08:15:14
208
글번호 118659
답변완료
이 수식은 거래량 터진 과거봉에 시가 고가 저가 종가에 수평 추세선 긋는 수식인대요.. 이 수식에서 과거봉의 갯수를 제가 지정할수가 있읍니다.이렇게 갯수를 지정하면 여기에 덧붙여서 거래량 터진 봉의 거래량이 몇주인지 오늘자 거래량 옆 오른쪽 빈공간에 1번거래량 몇주(숫자로표시 예를들어 상위1번 1,500) 2번 거래량 몇주 이렇게 표시되게 개선이 가능한지요...수고스럽지만 부탁드립니다. input : Price(10000), Per(10),N(5); var : cnt(0),cnt1(0),cnt2(0),cnt3(0),idx(0),color(0); var : SameO(0),SameH(0),SameL(0),SameC(0); Array : VV[50](0),OO[50](0),HH[50](0),LL[50](0),CC[50](0); Array : OTL[50](0),HTL[50](0),LTL[50](0),CTL[50](0),ii[50](0); Array : OTx[50](0),HTx[50](0),LTx[50](0),CTx[50](0),TX[50](0); idx = idx+1; for cnt = 1 to 49{ VV[cnt] = 0; OO[cnt] = 0; HH[cnt] = 0; LL[cnt] = 0; CC[cnt] = 0; ii[cnt] = 0; } #N개값 출력 for cnt1 = 1 to N{ TL_Delete(OTL[cnt1]); TL_Delete(HTL[cnt1]); TL_Delete(LTL[cnt1]); TL_Delete(CTL[cnt1]); Text_Delete(OTx[cnt1]); Text_Delete(HTx[cnt1]); Text_Delete(LTx[cnt1]); Text_Delete(CTx[cnt1]); Text_Delete(Tx[cnt1]); if cnt1 == 1 Then color = black; if cnt1 == 2 Then color = red; if cnt1 == 3 Then color = blue; if cnt1 == 4 Then color = GREEN; if cnt1 == 5 Then color = YELLOW; #차트 과거봉 전체 스캔 for cnt2 = 0 to idx { #Price대비 +- Per%안에 종가가 형성된 if !(L[cnt2] > Price*(1+Per/100) or H[cnt2] < Price*(1-Per/100)) and V[cnt2] > VV[cnt1] and (cnt1 == 1 or (cnt1 >= 2 and V[cnt2] < VV[cnt1-1])) Then { VV[cnt1] = V[cnt2]; OO[cnt1] = O[cnt2]; HH[cnt1] = H[cnt2]; LL[cnt1] = L[cnt2]; CC[cnt1] = C[cnt2]; ii[cnt1] = cnt2; } } #동일값 체크 sameO = 0; sameH = 0; sameL = 0; sameC = 0; for cnt3 = 1 to N { if OO[cnt1] == OO[cnt3] or OO[cnt1] == HH[cnt3] or OO[cnt1] == LL[cnt3] or OO[cnt1] == CC[cnt3] Then SameO = SameO+1; if HH[cnt1] == OO[cnt3] or HH[cnt1] == HH[cnt3] or HH[cnt1] == LL[cnt3] or HH[cnt1] == CC[cnt3] Then SameH = SameH+1; if LL[cnt1] == OO[cnt3] or LL[cnt1] == HH[cnt3] or LL[cnt1] == LL[cnt3] or LL[cnt1] == CC[cnt3] Then SameL = SameL+1; if CC[cnt1] == OO[cnt3] or CC[cnt1] == HH[cnt3] or CC[cnt1] == LL[cnt3] or CC[cnt1] == CC[cnt3] Then SameC = SameC+1; } #시가선 if SameO == 1 then { if LastBarOnChart == 1 Then MessageLog("O %.2f",color); #시가선 추세선 출력 OTL[cnt1] = TL_New(Sdate[1],stime[1],OO[cnt1],sdate,stime,OO[cnt1]); TL_SetExtLeft(OTL[cnt1],true); TL_SetExtRight(OTL[cnt1],true); TL_SetColor(OTL[cnt1],color); #시가선값 텍스트 출력 OTx[cnt1] = Text_New(sdate,stime,OO[cnt1],"상위"+NumToStr(cnt1,0)+"번째봉 시가:"+NumToStr(OO[cnt1],0)); Text_SetStyle(OTx[cnt1],0,0); Text_SetColor(OTx[cnt1],color); } if SameH == 1 then { #고가선 추세선 출력 HTL[cnt1] = TL_New(Sdate[1],stime[1],HH[cnt1],sdate,stime,HH[cnt1]); TL_SetExtLeft(HTL[cnt1],true); TL_SetExtRight(HTL[cnt1],true); TL_SetColor(HTL[cnt1],color); HTx[cnt1] = Text_New(sdate,stime,HH[cnt1],"상위"+NumToStr(cnt1,0)+"번째봉 고가:"+NumToStr(HH[cnt1],0)); Text_SetStyle(HTx[cnt1],0,0); Text_SetColor(HTx[cnt1],color); } if SameL == 1 then { LTL[cnt1] = TL_New(Sdate[1],stime[1],LL[cnt1],sdate,stime,LL[cnt1]); TL_SetExtLeft(LTL[cnt1],true); TL_SetExtRight(LTL[cnt1],true); TL_SetColor(LTL[cnt1],color); LTx[cnt1] = Text_New(sdate,stime,LL[cnt1],"상위"+NumToStr(cnt1,0)+"번째봉 저가:"+NumToStr(LL[cnt1],0)); Text_SetStyle(LTx[cnt1],0,0); Text_SetColor(OTx[cnt1],color); } if SameC == 1 then { CTL[cnt1] = TL_New(Sdate[1],stime[1],CC[cnt1],sdate,stime,CC[cnt1]); TL_SetExtLeft(CTL[cnt1],true); TL_SetExtRight(CTL[cnt1],true); TL_SetColor(CTL[cnt1],color); CTx[cnt1] = Text_New(sdate,stime,CC[cnt1],"상위"+NumToStr(cnt1,0)+"번째봉 종가:"+NumToStr(CC[cnt1],0)); Text_SetStyle(CTx[cnt1],0,0); Text_SetColor(CTx[cnt1],color); } if CC[cnt1] > 0 then{ Tx[cnt1] = Text_New(sdate[ii[cnt1]],stime[ii[cnt1]],CC[cnt1],"●"+NumToStr(cnt1,0)); Text_SetStyle(Tx[cnt1],2,2); Text_SetColor(Tx[cnt1],color); Text_SetColor(Tx[cnt1],white); } }
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2018-05-04 10:02:56

안녕하세요 예스스탁입니다. 거래량 옆으로 출력을 시킬수는 없습니다. 기존에 출력되는 값에 추가해 드릴수는 있습니다. 시가옆으로 추가해 드립니다. input : Price(10000), Per(10),N(5); var : cnt(0),cnt1(0),cnt2(0),cnt3(0),idx(0),color(0); var : SameO(0),SameH(0),SameL(0),SameC(0); Array : VV[50](0),OO[50](0),HH[50](0),LL[50](0),CC[50](0); Array : OTL[50](0),HTL[50](0),LTL[50](0),CTL[50](0),ii[50](0); Array : OTx[50](0),HTx[50](0),LTx[50](0),CTx[50](0),TX[50](0); idx = idx+1; for cnt = 1 to 49{ VV[cnt] = 0; OO[cnt] = 0; HH[cnt] = 0; LL[cnt] = 0; CC[cnt] = 0; ii[cnt] = 0; } #N개값 출력 for cnt1 = 1 to N{ TL_Delete(OTL[cnt1]); TL_Delete(HTL[cnt1]); TL_Delete(LTL[cnt1]); TL_Delete(CTL[cnt1]); Text_Delete(OTx[cnt1]); Text_Delete(HTx[cnt1]); Text_Delete(LTx[cnt1]); Text_Delete(CTx[cnt1]); Text_Delete(Tx[cnt1]); if cnt1 == 1 Then color = black; if cnt1 == 2 Then color = red; if cnt1 == 3 Then color = blue; if cnt1 == 4 Then color = GREEN; if cnt1 == 5 Then color = YELLOW; #차트 과거봉 전체 스캔 for cnt2 = 0 to idx { #Price대비 +- Per%안에 종가가 형성된 if !(L[cnt2] > Price*(1+Per/100) or H[cnt2] < Price*(1-Per/100)) and V[cnt2] > VV[cnt1] and (cnt1 == 1 or (cnt1 >= 2 and V[cnt2] < VV[cnt1-1])) Then { VV[cnt1] = V[cnt2]; OO[cnt1] = O[cnt2]; HH[cnt1] = H[cnt2]; LL[cnt1] = L[cnt2]; CC[cnt1] = C[cnt2]; ii[cnt1] = cnt2; } } #동일값 체크 sameO = 0; sameH = 0; sameL = 0; sameC = 0; for cnt3 = 1 to N { if OO[cnt1] == OO[cnt3] or OO[cnt1] == HH[cnt3] or OO[cnt1] == LL[cnt3] or OO[cnt1] == CC[cnt3] Then SameO = SameO+1; if HH[cnt1] == OO[cnt3] or HH[cnt1] == HH[cnt3] or HH[cnt1] == LL[cnt3] or HH[cnt1] == CC[cnt3] Then SameH = SameH+1; if LL[cnt1] == OO[cnt3] or LL[cnt1] == HH[cnt3] or LL[cnt1] == LL[cnt3] or LL[cnt1] == CC[cnt3] Then SameL = SameL+1; if CC[cnt1] == OO[cnt3] or CC[cnt1] == HH[cnt3] or CC[cnt1] == LL[cnt3] or CC[cnt1] == CC[cnt3] Then SameC = SameC+1; } #시가선 if SameO == 1 then { if LastBarOnChart == 1 Then MessageLog("O %.2f",color); #시가선 추세선 출력 OTL[cnt1] = TL_New(Sdate[1],stime[1],OO[cnt1],sdate,stime,OO[cnt1]); TL_SetExtLeft(OTL[cnt1],true); TL_SetExtRight(OTL[cnt1],true); TL_SetColor(OTL[cnt1],color); #시가선값 텍스트 출력 OTx[cnt1] = Text_New(sdate,stime,OO[cnt1],"상위"+NumToStr(cnt1,0)+"번째봉 시가:"+NumToStr(OO[cnt1],0)+"|"+NumToStr(VV[cnt1],0)); Text_SetStyle(OTx[cnt1],0,0); Text_SetColor(OTx[cnt1],color); } if SameH == 1 then { #고가선 추세선 출력 HTL[cnt1] = TL_New(Sdate[1],stime[1],HH[cnt1],sdate,stime,HH[cnt1]); TL_SetExtLeft(HTL[cnt1],true); TL_SetExtRight(HTL[cnt1],true); TL_SetColor(HTL[cnt1],color); HTx[cnt1] = Text_New(sdate,stime,HH[cnt1],"상위"+NumToStr(cnt1,0)+"번째봉 고가:"+NumToStr(HH[cnt1],0)); Text_SetStyle(HTx[cnt1],0,0); Text_SetColor(HTx[cnt1],color); } if SameL == 1 then { LTL[cnt1] = TL_New(Sdate[1],stime[1],LL[cnt1],sdate,stime,LL[cnt1]); TL_SetExtLeft(LTL[cnt1],true); TL_SetExtRight(LTL[cnt1],true); TL_SetColor(LTL[cnt1],color); LTx[cnt1] = Text_New(sdate,stime,LL[cnt1],"상위"+NumToStr(cnt1,0)+"번째봉 저가:"+NumToStr(LL[cnt1],0)); Text_SetStyle(LTx[cnt1],0,0); Text_SetColor(OTx[cnt1],color); } if SameC == 1 then { CTL[cnt1] = TL_New(Sdate[1],stime[1],CC[cnt1],sdate,stime,CC[cnt1]); TL_SetExtLeft(CTL[cnt1],true); TL_SetExtRight(CTL[cnt1],true); TL_SetColor(CTL[cnt1],color); CTx[cnt1] = Text_New(sdate,stime,CC[cnt1],"상위"+NumToStr(cnt1,0)+"번째봉 종가:"+NumToStr(CC[cnt1],0)); Text_SetStyle(CTx[cnt1],0,0); Text_SetColor(CTx[cnt1],color); } if CC[cnt1] > 0 then{ Tx[cnt1] = Text_New(sdate[ii[cnt1]],stime[ii[cnt1]],CC[cnt1],"●"+NumToStr(cnt1,0)); Text_SetStyle(Tx[cnt1],2,2); Text_SetColor(Tx[cnt1],color); Text_SetColor(Tx[cnt1],white); } } 즐거운 하루되세요 > 앙이 님이 쓴 글입니다. > 제목 : 수식 부탁드립니다. > 이 수식은 거래량 터진 과거봉에 시가 고가 저가 종가에 수평 추세선 긋는 수식인대요.. 이 수식에서 과거봉의 갯수를 제가 지정할수가 있읍니다.이렇게 갯수를 지정하면 여기에 덧붙여서 거래량 터진 봉의 거래량이 몇주인지 오늘자 거래량 옆 오른쪽 빈공간에 1번거래량 몇주(숫자로표시 예를들어 상위1번 1,500) 2번 거래량 몇주 이렇게 표시되게 개선이 가능한지요...수고스럽지만 부탁드립니다. input : Price(10000), Per(10),N(5); var : cnt(0),cnt1(0),cnt2(0),cnt3(0),idx(0),color(0); var : SameO(0),SameH(0),SameL(0),SameC(0); Array : VV[50](0),OO[50](0),HH[50](0),LL[50](0),CC[50](0); Array : OTL[50](0),HTL[50](0),LTL[50](0),CTL[50](0),ii[50](0); Array : OTx[50](0),HTx[50](0),LTx[50](0),CTx[50](0),TX[50](0); idx = idx+1; for cnt = 1 to 49{ VV[cnt] = 0; OO[cnt] = 0; HH[cnt] = 0; LL[cnt] = 0; CC[cnt] = 0; ii[cnt] = 0; } #N개값 출력 for cnt1 = 1 to N{ TL_Delete(OTL[cnt1]); TL_Delete(HTL[cnt1]); TL_Delete(LTL[cnt1]); TL_Delete(CTL[cnt1]); Text_Delete(OTx[cnt1]); Text_Delete(HTx[cnt1]); Text_Delete(LTx[cnt1]); Text_Delete(CTx[cnt1]); Text_Delete(Tx[cnt1]); if cnt1 == 1 Then color = black; if cnt1 == 2 Then color = red; if cnt1 == 3 Then color = blue; if cnt1 == 4 Then color = GREEN; if cnt1 == 5 Then color = YELLOW; #차트 과거봉 전체 스캔 for cnt2 = 0 to idx { #Price대비 +- Per%안에 종가가 형성된 if !(L[cnt2] > Price*(1+Per/100) or H[cnt2] < Price*(1-Per/100)) and V[cnt2] > VV[cnt1] and (cnt1 == 1 or (cnt1 >= 2 and V[cnt2] < VV[cnt1-1])) Then { VV[cnt1] = V[cnt2]; OO[cnt1] = O[cnt2]; HH[cnt1] = H[cnt2]; LL[cnt1] = L[cnt2]; CC[cnt1] = C[cnt2]; ii[cnt1] = cnt2; } } #동일값 체크 sameO = 0; sameH = 0; sameL = 0; sameC = 0; for cnt3 = 1 to N { if OO[cnt1] == OO[cnt3] or OO[cnt1] == HH[cnt3] or OO[cnt1] == LL[cnt3] or OO[cnt1] == CC[cnt3] Then SameO = SameO+1; if HH[cnt1] == OO[cnt3] or HH[cnt1] == HH[cnt3] or HH[cnt1] == LL[cnt3] or HH[cnt1] == CC[cnt3] Then SameH = SameH+1; if LL[cnt1] == OO[cnt3] or LL[cnt1] == HH[cnt3] or LL[cnt1] == LL[cnt3] or LL[cnt1] == CC[cnt3] Then SameL = SameL+1; if CC[cnt1] == OO[cnt3] or CC[cnt1] == HH[cnt3] or CC[cnt1] == LL[cnt3] or CC[cnt1] == CC[cnt3] Then SameC = SameC+1; } #시가선 if SameO == 1 then { if LastBarOnChart == 1 Then MessageLog("O %.2f",color); #시가선 추세선 출력 OTL[cnt1] = TL_New(Sdate[1],stime[1],OO[cnt1],sdate,stime,OO[cnt1]); TL_SetExtLeft(OTL[cnt1],true); TL_SetExtRight(OTL[cnt1],true); TL_SetColor(OTL[cnt1],color); #시가선값 텍스트 출력 OTx[cnt1] = Text_New(sdate,stime,OO[cnt1],"상위"+NumToStr(cnt1,0)+"번째봉 시가:"+NumToStr(OO[cnt1],0)); Text_SetStyle(OTx[cnt1],0,0); Text_SetColor(OTx[cnt1],color); } if SameH == 1 then { #고가선 추세선 출력 HTL[cnt1] = TL_New(Sdate[1],stime[1],HH[cnt1],sdate,stime,HH[cnt1]); TL_SetExtLeft(HTL[cnt1],true); TL_SetExtRight(HTL[cnt1],true); TL_SetColor(HTL[cnt1],color); HTx[cnt1] = Text_New(sdate,stime,HH[cnt1],"상위"+NumToStr(cnt1,0)+"번째봉 고가:"+NumToStr(HH[cnt1],0)); Text_SetStyle(HTx[cnt1],0,0); Text_SetColor(HTx[cnt1],color); } if SameL == 1 then { LTL[cnt1] = TL_New(Sdate[1],stime[1],LL[cnt1],sdate,stime,LL[cnt1]); TL_SetExtLeft(LTL[cnt1],true); TL_SetExtRight(LTL[cnt1],true); TL_SetColor(LTL[cnt1],color); LTx[cnt1] = Text_New(sdate,stime,LL[cnt1],"상위"+NumToStr(cnt1,0)+"번째봉 저가:"+NumToStr(LL[cnt1],0)); Text_SetStyle(LTx[cnt1],0,0); Text_SetColor(OTx[cnt1],color); } if SameC == 1 then { CTL[cnt1] = TL_New(Sdate[1],stime[1],CC[cnt1],sdate,stime,CC[cnt1]); TL_SetExtLeft(CTL[cnt1],true); TL_SetExtRight(CTL[cnt1],true); TL_SetColor(CTL[cnt1],color); CTx[cnt1] = Text_New(sdate,stime,CC[cnt1],"상위"+NumToStr(cnt1,0)+"번째봉 종가:"+NumToStr(CC[cnt1],0)); Text_SetStyle(CTx[cnt1],0,0); Text_SetColor(CTx[cnt1],color); } if CC[cnt1] > 0 then{ Tx[cnt1] = Text_New(sdate[ii[cnt1]],stime[ii[cnt1]],CC[cnt1],"●"+NumToStr(cnt1,0)); Text_SetStyle(Tx[cnt1],2,2); Text_SetColor(Tx[cnt1],color); Text_SetColor(Tx[cnt1],white); } }