커뮤니티

추세선 피보나치

프로필 이미지
고성
2023-03-27 16:25:47
2338
글번호 167577
답변완료
input : Period(350),선두께(3); Var:상승색(Gold), 하락색(Cyan); Var:j(0),T(0),txx(0),txxx(0); Var: date11(0),date12(0),time11(0),time12(0),TL1(0),TL(0), date21(0),date22(0),time21(0),time22(0), date31(0),date32(0),time31(0),time32(0),tx(0),tx1(0); Array:HiVal[20](0),LoVal[20](0),HiBar[20](0),LoBar[20](0); var : box(0),box1(0); var : upt(0),dnt(0); Plot1(value12); For j = 0 To 19 { HiBar[j] = HiBar[j] + 1; LoBar[j] = LoBar[j] + 1; } if crossup(c,highest(H,Period)[1]) Then T = 1; if CrossDown(c,Lowest(L,Period)[1]) Then T = -1; If T == -1 Then { If T[1] != -1 Then { For j = 18 DownTo 0 { LoVal[j+1] = LoVal[j]; LoBar[j+1] = LoBar[j]; } LoVal[0] = L; LoBar[0] = 0; date11 = date[HiBar[0]]; time11 = stime[HiBar[0]]; Value11 = HiVal[0]; date12 = date[LoBar[0]]; time12 = stime[LoBar[0]]; Value12 = LoVal[0]; TL_Delete(tl); TL = TL_New_Self(sdate,stime,Value12,NextBarSdate,NextBarStime,NextBarOpen); TL1 = TL_New_Self(date11,time11,Value11,date12,time12,Value12); TL_SetColor(TL1,하락색); date21 = date[HiBar[0]]; time21 = stime[HiBar[0]]; date22 = date[0]; time22 = stime[0]; Text_Delete(dnt); var1 = loval[0]-loval[1]; dnt = Text_New_Self(date12,time12,value12,NewLine+NumToStr(abs(var1/PriceScale),0)+" "+NewLine); Text_SetColor(dnt,iff(var1>0,Magenta,Blue)); Text_SetStyle(dnt,1,2); Text_SetSize(dnt,35); Text_SetBold(dnt,1); box = Box_New_Self(date11,time11,Value11,date12,time12,Value12); Text_SetSize(tx,25); if abs(value12[1]-value11[1]) < 0.5 Then Text_Delete(tx); tx = Text_New_Self(sDate,stime,value12,NumToStr(value12-value11,2)+" "); Text_SetColor(Tx,Blue); Text_SetStyle(tx,1,0); Text_SetSize(tx,25); Text_SetBold(tx,1); } If LoVal[0] > L Then { LoVal[0] = L; LoBar[0] = 0; date12 = date[LoBar[0]]; time12 = stime[LoBar[0]]; Value12 = LoVal[0]; TL_SetEnd(TL1, date12,time12,Value12); date22 = date[0]; time22 = stime[0]; var1 = loval[0]-loval[1]; Text_SetLocation(dnt,date12,time12,value12); Text_SetString(dnt,NewLine+NumToStr(abs(var1/PriceScale),0)+" "); Text_SetColor(dnt,iff(var1>0,Magenta,Blue)); Text_SetStyle(dnt,1,2); Text_SetSize(dnt,35); Text_SetBold(dnt,1); Box_SetEnd(box,date12,time12,Value12); Text_SetString(tx,NumToStr(value12-value11,2)+" "); Text_SetLocation(tx,sDate,sTime,value12); } if value12 > value11-0.7 Then { Box_SetColor(box,LCyan); Box_SetFill(box,true,0); } else if value12 <= value11-0.7 and value12 > value11-1 Then { Box_SetColor(box,Yellow); Box_SetFill(box,true,100); } else if value12 <= value11-1 and value12 > value11-1.3 Then { Box_SetColor(box,Lime); Box_SetFill(box,true,70); } else if value12 <= value11-1.3 and value12 > value11-1.7 Then { Box_SetColor(box,Cyan); Box_SetFill(box,true,50); } else { Box_SetColor(box,Blue); Box_SetFill(box,true,25); } } If T == 1 Then { If T[1] != 1 Then { For j = 18 DownTo 0 { HiVal[j+1] = HiVal[j]; HiBar[j+1] = HiBar[j]; } HiVal[0] = H; HiBar[0] = 0; date11 = date[LoBar[0]]; time11 = stime[LoBar[0]]; Value11 = LoVal[0]; date12 = date[HiBar[0]]; time12 = stime[HiBar[0]]; Value12 = HiVal[0]; TL_Delete(tl); TL = TL_New_Self(sdate,stime,Value12,NextBarSdate,NextBarStime,NextBarOpen); TL1 = TL_New_Self(date11,time11,Value11,date12,time12,Value12); TL_SetColor(TL1,상승색); date31 = date[LoBar[0]]; time31 = stime[LoBar[0]]; date32 = date[0]; time32 = stime[0]; Text_Delete(upt); var1 = hival[0]-hival[1]; upt = Text_New_Self(date12,time12,value12,NumToStr(abs(var1/PriceScale),0)+" "+NewLine); Text_SetColor(upt,iff(var1>0,Magenta,Blue)); Text_SetStyle(upt,1,2); Text_SetSize(upt,35); Text_SetBold(upt,1); Text_SetSize(tx,25); if abs(value12[1]-value11[1]) < 0.5 Then Text_Delete(tx); tx = Text_New_Self(sDate,stime,value12,NumToStr(value12-value11,2)+" "); Text_SetColor(Tx,Red); Text_SetStyle(tx,1,1); Text_SetSize(tx,25); Text_SetBold(tx,1); } If HiVal[0] < H Then { HiVal[0] = H; HiBar[0] = 0; date12 = date[HiBar[0]]; time12 = stime[HiBar[0]]; Value12 = HiVal[0]; TL_SetEnd(TL1, date12,time12,Value12); date32 = date[0]; time32 = stime[0]; var1 = hival[0]-hival[1]; Text_SetLocation(upt,date12,time12,value12); Text_SetString(upt,NumToStr(abs(var1/PriceScale),0)+" "+NewLine); Text_SetColor(upt,iff(var1>0,Magenta,Blue)); Text_SetStyle(upt,1,2); Text_SetSize(upt,35); Text_SetBold(upt,1); Text_SetString(tx,NumToStr(value12-value11,2)+" "); Text_SetLocation(tx,sDate,sTime,value12); } } Text_SetColor(Txxx,Black); Text_SetSize(txxx,30); TL_SetSize(TL1,선두께); 당일 고점 1p 아래에서 추세선이 음전환되면, 하락추세선 상단을 당일 고점으로부터, a. 38.2%로 가정하고 아래로 61.8% 지점에 네모 표시 추가. b. 50%로 가정하고 아래로 50% 지점에 네모 표시 추가. 감사합니다.
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2023-03-27 17:13:26

안녕하세요 예스스탁입니다. 하락전환시 고점이 당일고가와 같으면 고점과 당일고가차이값이 0이라 비율이 나오지 않습니다. 하락전환시 저점은 당일고가-1이상이고 고점도 당일고가 보다 작을때만 네모표시되게 작성해 드립니다. input : Period(350),선두께(3); Var:상승색(Gold), 하락색(Cyan); Var:j(0),T(0),txx(0),txxx(0); Var: date11(0),date12(0),time11(0),time12(0),TL1(0),TL(0), date21(0),date22(0),time21(0),time22(0), date31(0),date32(0),time31(0),time32(0),tx(0),tx1(0); Array:HiVal[20](0),LoVal[20](0),HiBar[20](0),LoBar[20](0); var : box(0),box1(0); var : upt(0),dnt(0); var : d1(0),v1(0),d2(0),v2(0),mtx1(0),mtx2(0),mcond(False); Plot1(value12); For j = 0 To 19 { HiBar[j] = HiBar[j] + 1; LoBar[j] = LoBar[j] + 1; } if crossup(c,highest(H,Period)[1]) Then T = 1; if CrossDown(c,Lowest(L,Period)[1]) Then T = -1; If T == -1 Then { If T[1] != -1 Then { For j = 18 DownTo 0 { LoVal[j+1] = LoVal[j]; LoBar[j+1] = LoBar[j]; } LoVal[0] = L; LoBar[0] = 0; date11 = date[HiBar[0]]; time11 = stime[HiBar[0]]; Value11 = HiVal[0]; date12 = date[LoBar[0]]; time12 = stime[LoBar[0]]; Value12 = LoVal[0]; TL_Delete(tl); TL = TL_New_Self(sdate,stime,Value12,NextBarSdate,NextBarStime,NextBarOpen); TL1 = TL_New_Self(date11,time11,Value11,date12,time12,Value12); TL_SetColor(TL1,하락색); date21 = date[HiBar[0]]; time21 = stime[HiBar[0]]; date22 = date[0]; time22 = stime[0]; Text_Delete(dnt); var1 = loval[0]-loval[1]; dnt = Text_New_Self(date12,time12,value12,NewLine+NumToStr(abs(var1/PriceScale),0)+" "+NewLine); Text_SetColor(dnt,iff(var1>0,Magenta,Blue)); Text_SetStyle(dnt,1,2); Text_SetSize(dnt,35); Text_SetBold(dnt,1); box = Box_New_Self(date11,time11,Value11,date12,time12,Value12); Text_SetSize(tx,25); if abs(value12[1]-value11[1]) < 0.5 Then Text_Delete(tx); tx = Text_New_Self(sDate,stime,value12,NumToStr(value12-value11,2)+" "); Text_SetColor(Tx,Blue); Text_SetStyle(tx,1,0); Text_SetSize(tx,25); Text_SetBold(tx,1); mcond = False; if value12 <= DayHigh-1 and value11 < DayHigh Then { mcond = true; d1 = (DayHigh-value11)/382; V1 = DayHigh-d1*618; d2 = (DayHigh-value11)/500; v2 = value12-d2*500; mtx1 = text_new(date12,time12,v1,"■"); Text_SetStyle(mtx1,2,2); Text_SetColor(mtx1,Red); mtx2 = text_new(date12,time12,v2,"■"); Text_SetStyle(mtx2,2,2); Text_SetColor(mtx2,Blue); } } If LoVal[0] > L Then { LoVal[0] = L; LoBar[0] = 0; date12 = date[LoBar[0]]; time12 = stime[LoBar[0]]; Value12 = LoVal[0]; TL_SetEnd(TL1, date12,time12,Value12); date22 = date[0]; time22 = stime[0]; var1 = loval[0]-loval[1]; Text_SetLocation(dnt,date12,time12,value12); Text_SetString(dnt,NewLine+NumToStr(abs(var1/PriceScale),0)+" "); Text_SetColor(dnt,iff(var1>0,Magenta,Blue)); Text_SetStyle(dnt,1,2); Text_SetSize(dnt,35); Text_SetBold(dnt,1); Box_SetEnd(box,date12,time12,Value12); Text_SetString(tx,NumToStr(value12-value11,2)+" "); Text_SetLocation(tx,sDate,sTime,value12); if mcond == False Then { if value12 <= DayHigh-1 and value11 < DayHigh Then { mcond = true; d1 = (DayHigh-value11)/382; V1 = DayHigh-d1*618; d2 = (DayHigh-value11)/500; v2 = value12-d2*500; mtx1 = text_new(date12,time12,v1,"■"); Text_SetStyle(mtx1,2,2); Text_SetColor(mtx1,Red); mtx2 = text_new(date12,time12,v2,"■"); Text_SetStyle(mtx2,2,2); Text_SetColor(mtx2,Blue); } } Else { Text_SetLocation(mtx1,date12,time12,v1); Text_SetLocation(mtx2,date12,time12,v2); } } if value12 > value11-0.7 Then { Box_SetColor(box,LCyan); Box_SetFill(box,true,0); } else if value12 <= value11-0.7 and value12 > value11-1 Then { Box_SetColor(box,Yellow); Box_SetFill(box,true,100); } else if value12 <= value11-1 and value12 > value11-1.3 Then { Box_SetColor(box,Lime); Box_SetFill(box,true,70); } else if value12 <= value11-1.3 and value12 > value11-1.7 Then { Box_SetColor(box,Cyan); Box_SetFill(box,true,50); } else { Box_SetColor(box,Blue); Box_SetFill(box,true,25); } } If T == 1 Then { If T[1] != 1 Then { For j = 18 DownTo 0 { HiVal[j+1] = HiVal[j]; HiBar[j+1] = HiBar[j]; } HiVal[0] = H; HiBar[0] = 0; date11 = date[LoBar[0]]; time11 = stime[LoBar[0]]; Value11 = LoVal[0]; date12 = date[HiBar[0]]; time12 = stime[HiBar[0]]; Value12 = HiVal[0]; TL_Delete(tl); TL = TL_New_Self(sdate,stime,Value12,NextBarSdate,NextBarStime,NextBarOpen); TL1 = TL_New_Self(date11,time11,Value11,date12,time12,Value12); TL_SetColor(TL1,상승색); date31 = date[LoBar[0]]; time31 = stime[LoBar[0]]; date32 = date[0]; time32 = stime[0]; Text_Delete(upt); var1 = hival[0]-hival[1]; upt = Text_New_Self(date12,time12,value12,NumToStr(abs(var1/PriceScale),0)+" "+NewLine); Text_SetColor(upt,iff(var1>0,Magenta,Blue)); Text_SetStyle(upt,1,2); Text_SetSize(upt,35); Text_SetBold(upt,1); Text_SetSize(tx,25); if abs(value12[1]-value11[1]) < 0.5 Then Text_Delete(tx); tx = Text_New_Self(sDate,stime,value12,NumToStr(value12-value11,2)+" "); Text_SetColor(Tx,Red); Text_SetStyle(tx,1,1); Text_SetSize(tx,25); Text_SetBold(tx,1); } If HiVal[0] < H Then { HiVal[0] = H; HiBar[0] = 0; date12 = date[HiBar[0]]; time12 = stime[HiBar[0]]; Value12 = HiVal[0]; TL_SetEnd(TL1, date12,time12,Value12); date32 = date[0]; time32 = stime[0]; var1 = hival[0]-hival[1]; Text_SetLocation(upt,date12,time12,value12); Text_SetString(upt,NumToStr(abs(var1/PriceScale),0)+" "+NewLine); Text_SetColor(upt,iff(var1>0,Magenta,Blue)); Text_SetStyle(upt,1,2); Text_SetSize(upt,35); Text_SetBold(upt,1); Text_SetString(tx,NumToStr(value12-value11,2)+" "); Text_SetLocation(tx,sDate,sTime,value12); } } Text_SetColor(Txxx,Black); Text_SetSize(txxx,30); TL_SetSize(TL1,선두께); 즐거운 하루되세요 > 고성 님이 쓴 글입니다. > 제목 : 추세선 피보나치 > input : Period(350),선두께(3); Var:상승색(Gold), 하락색(Cyan); Var:j(0),T(0),txx(0),txxx(0); Var: date11(0),date12(0),time11(0),time12(0),TL1(0),TL(0), date21(0),date22(0),time21(0),time22(0), date31(0),date32(0),time31(0),time32(0),tx(0),tx1(0); Array:HiVal[20](0),LoVal[20](0),HiBar[20](0),LoBar[20](0); var : box(0),box1(0); var : upt(0),dnt(0); Plot1(value12); For j = 0 To 19 { HiBar[j] = HiBar[j] + 1; LoBar[j] = LoBar[j] + 1; } if crossup(c,highest(H,Period)[1]) Then T = 1; if CrossDown(c,Lowest(L,Period)[1]) Then T = -1; If T == -1 Then { If T[1] != -1 Then { For j = 18 DownTo 0 { LoVal[j+1] = LoVal[j]; LoBar[j+1] = LoBar[j]; } LoVal[0] = L; LoBar[0] = 0; date11 = date[HiBar[0]]; time11 = stime[HiBar[0]]; Value11 = HiVal[0]; date12 = date[LoBar[0]]; time12 = stime[LoBar[0]]; Value12 = LoVal[0]; TL_Delete(tl); TL = TL_New_Self(sdate,stime,Value12,NextBarSdate,NextBarStime,NextBarOpen); TL1 = TL_New_Self(date11,time11,Value11,date12,time12,Value12); TL_SetColor(TL1,하락색); date21 = date[HiBar[0]]; time21 = stime[HiBar[0]]; date22 = date[0]; time22 = stime[0]; Text_Delete(dnt); var1 = loval[0]-loval[1]; dnt = Text_New_Self(date12,time12,value12,NewLine+NumToStr(abs(var1/PriceScale),0)+" "+NewLine); Text_SetColor(dnt,iff(var1>0,Magenta,Blue)); Text_SetStyle(dnt,1,2); Text_SetSize(dnt,35); Text_SetBold(dnt,1); box = Box_New_Self(date11,time11,Value11,date12,time12,Value12); Text_SetSize(tx,25); if abs(value12[1]-value11[1]) < 0.5 Then Text_Delete(tx); tx = Text_New_Self(sDate,stime,value12,NumToStr(value12-value11,2)+" "); Text_SetColor(Tx,Blue); Text_SetStyle(tx,1,0); Text_SetSize(tx,25); Text_SetBold(tx,1); } If LoVal[0] > L Then { LoVal[0] = L; LoBar[0] = 0; date12 = date[LoBar[0]]; time12 = stime[LoBar[0]]; Value12 = LoVal[0]; TL_SetEnd(TL1, date12,time12,Value12); date22 = date[0]; time22 = stime[0]; var1 = loval[0]-loval[1]; Text_SetLocation(dnt,date12,time12,value12); Text_SetString(dnt,NewLine+NumToStr(abs(var1/PriceScale),0)+" "); Text_SetColor(dnt,iff(var1>0,Magenta,Blue)); Text_SetStyle(dnt,1,2); Text_SetSize(dnt,35); Text_SetBold(dnt,1); Box_SetEnd(box,date12,time12,Value12); Text_SetString(tx,NumToStr(value12-value11,2)+" "); Text_SetLocation(tx,sDate,sTime,value12); } if value12 > value11-0.7 Then { Box_SetColor(box,LCyan); Box_SetFill(box,true,0); } else if value12 <= value11-0.7 and value12 > value11-1 Then { Box_SetColor(box,Yellow); Box_SetFill(box,true,100); } else if value12 <= value11-1 and value12 > value11-1.3 Then { Box_SetColor(box,Lime); Box_SetFill(box,true,70); } else if value12 <= value11-1.3 and value12 > value11-1.7 Then { Box_SetColor(box,Cyan); Box_SetFill(box,true,50); } else { Box_SetColor(box,Blue); Box_SetFill(box,true,25); } } If T == 1 Then { If T[1] != 1 Then { For j = 18 DownTo 0 { HiVal[j+1] = HiVal[j]; HiBar[j+1] = HiBar[j]; } HiVal[0] = H; HiBar[0] = 0; date11 = date[LoBar[0]]; time11 = stime[LoBar[0]]; Value11 = LoVal[0]; date12 = date[HiBar[0]]; time12 = stime[HiBar[0]]; Value12 = HiVal[0]; TL_Delete(tl); TL = TL_New_Self(sdate,stime,Value12,NextBarSdate,NextBarStime,NextBarOpen); TL1 = TL_New_Self(date11,time11,Value11,date12,time12,Value12); TL_SetColor(TL1,상승색); date31 = date[LoBar[0]]; time31 = stime[LoBar[0]]; date32 = date[0]; time32 = stime[0]; Text_Delete(upt); var1 = hival[0]-hival[1]; upt = Text_New_Self(date12,time12,value12,NumToStr(abs(var1/PriceScale),0)+" "+NewLine); Text_SetColor(upt,iff(var1>0,Magenta,Blue)); Text_SetStyle(upt,1,2); Text_SetSize(upt,35); Text_SetBold(upt,1); Text_SetSize(tx,25); if abs(value12[1]-value11[1]) < 0.5 Then Text_Delete(tx); tx = Text_New_Self(sDate,stime,value12,NumToStr(value12-value11,2)+" "); Text_SetColor(Tx,Red); Text_SetStyle(tx,1,1); Text_SetSize(tx,25); Text_SetBold(tx,1); } If HiVal[0] < H Then { HiVal[0] = H; HiBar[0] = 0; date12 = date[HiBar[0]]; time12 = stime[HiBar[0]]; Value12 = HiVal[0]; TL_SetEnd(TL1, date12,time12,Value12); date32 = date[0]; time32 = stime[0]; var1 = hival[0]-hival[1]; Text_SetLocation(upt,date12,time12,value12); Text_SetString(upt,NumToStr(abs(var1/PriceScale),0)+" "+NewLine); Text_SetColor(upt,iff(var1>0,Magenta,Blue)); Text_SetStyle(upt,1,2); Text_SetSize(upt,35); Text_SetBold(upt,1); Text_SetString(tx,NumToStr(value12-value11,2)+" "); Text_SetLocation(tx,sDate,sTime,value12); } } Text_SetColor(Txxx,Black); Text_SetSize(txxx,30); TL_SetSize(TL1,선두께); 당일 고점 1p 아래에서 추세선이 음전환되면, 하락추세선 상단을 당일 고점으로부터, a. 38.2%로 가정하고 아래로 61.8% 지점에 네모 표시 추가. b. 50%로 가정하고 아래로 50% 지점에 네모 표시 추가. 감사합니다.