커뮤니티

추세선 상하대칭

프로필 이미지
고성
2023-06-11 16:20:10
1657
글번호 169658
답변완료
input : Period(250); Var:j(0),T(0); Var: date11(0),date12(0),time11(0),time12(0), date21(0),date22(0),time21(0),time22(0), date31(0),date32(0),time31(0),time32(0); Array:HiVal[20](0),LoVal[20](0),HiBar[20](0),LoBar[20](0); var : btx1(0),btx2(0),btx11(0),btx12(0),btx21(0),btx22(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]; date21 = date[HiBar[0]]; time21 = stime[HiBar[0]]; date22 = date[0]; time22 = stime[0]; if hival[0] > 0 and Loval[0] > 0 Then { btx11 = Text_New(date12,time12,Value11+abs(Hival[0]-loval[0])*1.618,"■"); btx12 = Text_New(date12,time12,Value11+abs(Hival[0]-loval[0])*0.618,"■"); btx1 = Text_New(date12,time12,Value11+abs(Hival[0]-loval[0]),"■"); btx2 = Text_New(date12,time12,Value12-abs(Hival[0]-loval[0]),"■"); btx21 = Text_New(date12,time12,Value12-abs(Hival[0]-loval[0])*1.618,"■"); btx22 = Text_New(date12,time12,Value12-abs(Hival[0]-loval[0])*0.618,"■"); Text_SetStyle(btx11,2,2); Text_SetStyle(btx12,2,2); Text_SetStyle(btx1,2,2); Text_SetStyle(btx2,2,2); Text_SetStyle(btx21,2,2); Text_SetStyle(btx22,2,2); Text_SetColor(btx11,Lime); Text_SetColor(btx12,Lime); Text_SetColor(btx1,Blue); Text_SetColor(btx2,Blue); Text_SetColor(btx21,Lime); Text_SetColor(btx22,Lime); } } If LoVal[0] > L Then { LoVal[0] = L; LoBar[0] = 0; date12 = date[LoBar[0]]; time12 = stime[LoBar[0]]; Value12 = LoVal[0]; date22 = date[0]; time22 = stime[0]; Text_SetLocation(btx11, date12,time12,Value11+abs(Hival[0]-loval[0])*1.618); Text_SetLocation(btx12, date12,time12,Value11+abs(Hival[0]-loval[0])*0.618); Text_SetLocation(btx1, date12,time12,Value11+abs(Hival[0]-loval[0])); Text_SetLocation(btx2, date12,time12,Value12-abs(Hival[0]-loval[0])); Text_SetLocation(btx21, date12,time12,Value12-abs(Hival[0]-loval[0])*1.618); Text_SetLocation(btx22, date12,time12,Value12-abs(Hival[0]-loval[0])*0.618); } } 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]; date31 = date[LoBar[0]]; time31 = stime[LoBar[0]]; date32 = date[0]; time32 = stime[0]; if hival[0] > 0 and Loval[0] > 0 Then { btx11 = Text_New(date12,time12,Value12+abs(Hival[0]-loval[0])*1.618,"■"); btx12 = Text_New(date12,time12,Value12+abs(Hival[0]-loval[0])*0.618,"■"); btx1 = Text_New(date12,time12,Value12+abs(Hival[0]-loval[0]),"■"); btx2 = Text_New(date12,time12,Value11-abs(Hival[0]-loval[0]),"■"); btx21 = Text_New(date12,time12,Value11-abs(Hival[0]-loval[0])*1.618,"■"); btx22 = Text_New(date12,time12,Value11-abs(Hival[0]-loval[0])*0.618,"■"); Text_SetStyle(btx11,2,2); Text_SetStyle(btx12,2,2); Text_SetStyle(btx1,2,2); Text_SetStyle(btx2,2,2); Text_SetStyle(btx21,2,2); Text_SetStyle(btx22,2,2); Text_SetColor(btx11,Lime); Text_SetColor(btx12,Lime); Text_SetColor(btx1,Red); Text_SetColor(btx2,Red); Text_SetColor(btx21,Lime); Text_SetColor(btx22,Lime); } } If HiVal[0] < H Then { HiVal[0] = H; HiBar[0] = 0; date12 = date[HiBar[0]]; time12 = stime[HiBar[0]]; Value12 = HiVal[0]; date32 = date[0]; time32 = stime[0]; Text_SetLocation(btx11, date12,time12,Value12+abs(Hival[0]-loval[0])*1.618); Text_SetLocation(btx12, date12,time12,Value12+abs(Hival[0]-loval[0])*0.618); Text_SetLocation(btx1, date12,time12,Value12+abs(Hival[0]-loval[0])); Text_SetLocation(btx2, date12,time12,Value11-abs(Hival[0]-loval[0])); Text_SetLocation(btx21, date12,time12,Value11-abs(Hival[0]-loval[0])*1.618); Text_SetLocation(btx22, date12,time12,Value11-abs(Hival[0]-loval[0])*0.618); } } 네모 표시를, 추세선의 크기가 작으면 무시하고 1P 이상일 때만 표시되게 수정 부탁드립니다.
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2023-06-12 13:30:27

안녕하세요 예스스탁입니다. input : Period(250); Var:j(0),T(0); Var: date11(0),date12(0),time11(0),time12(0), date21(0),date22(0),time21(0),time22(0), date31(0),date32(0),time31(0),time32(0); Array:HiVal[20](0),LoVal[20](0),HiBar[20](0),LoBar[20](0); var : btx1(0),btx2(0),btx11(0),btx12(0),btx21(0),btx22(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]; date21 = date[HiBar[0]]; time21 = stime[HiBar[0]]; date22 = date[0]; time22 = stime[0]; Condition1 = False; } if hival[0] > 0 and Loval[0] > 0 and Condition1 == False and Loval[0] <= hival[0]-1 Then { Condition1 = true; btx11 = Text_New(date12,time12,Value11+abs(Hival[0]-loval[0])*1.618,"■"); btx12 = Text_New(date12,time12,Value11+abs(Hival[0]-loval[0])*0.618,"■"); btx1 = Text_New(date12,time12,Value11+abs(Hival[0]-loval[0]),"■"); btx2 = Text_New(date12,time12,Value12-abs(Hival[0]-loval[0]),"■"); btx21 = Text_New(date12,time12,Value12-abs(Hival[0]-loval[0])*1.618,"■"); btx22 = Text_New(date12,time12,Value12-abs(Hival[0]-loval[0])*0.618,"■"); Text_SetStyle(btx11,2,2); Text_SetStyle(btx12,2,2); Text_SetStyle(btx1,2,2); Text_SetStyle(btx2,2,2); Text_SetStyle(btx21,2,2); Text_SetStyle(btx22,2,2); Text_SetColor(btx11,Lime); Text_SetColor(btx12,Lime); Text_SetColor(btx1,Blue); Text_SetColor(btx2,Blue); Text_SetColor(btx21,Lime); Text_SetColor(btx22,Lime); } If LoVal[0] > L Then { LoVal[0] = L; LoBar[0] = 0; date12 = date[LoBar[0]]; time12 = stime[LoBar[0]]; Value12 = LoVal[0]; date22 = date[0]; time22 = stime[0]; if Condition1 == true Then { Text_SetLocation(btx11, date12,time12,Value11+abs(Hival[0]-loval[0])*1.618); Text_SetLocation(btx12, date12,time12,Value11+abs(Hival[0]-loval[0])*0.618); Text_SetLocation(btx1, date12,time12,Value11+abs(Hival[0]-loval[0])); Text_SetLocation(btx2, date12,time12,Value12-abs(Hival[0]-loval[0])); Text_SetLocation(btx21, date12,time12,Value12-abs(Hival[0]-loval[0])*1.618); Text_SetLocation(btx22, date12,time12,Value12-abs(Hival[0]-loval[0])*0.618); } } } 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]; date31 = date[LoBar[0]]; time31 = stime[LoBar[0]]; date32 = date[0]; time32 = stime[0]; Condition2 = False; } if hival[0] > 0 and Loval[0] > 0 and Condition2 == False and hival[0] >= Loval[0]+1 Then { Condition2 = true; btx11 = Text_New(date12,time12,Value12+abs(Hival[0]-loval[0])*1.618,"■"); btx12 = Text_New(date12,time12,Value12+abs(Hival[0]-loval[0])*0.618,"■"); btx1 = Text_New(date12,time12,Value12+abs(Hival[0]-loval[0]),"■"); btx2 = Text_New(date12,time12,Value11-abs(Hival[0]-loval[0]),"■"); btx21 = Text_New(date12,time12,Value11-abs(Hival[0]-loval[0])*1.618,"■"); btx22 = Text_New(date12,time12,Value11-abs(Hival[0]-loval[0])*0.618,"■"); Text_SetStyle(btx11,2,2); Text_SetStyle(btx12,2,2); Text_SetStyle(btx1,2,2); Text_SetStyle(btx2,2,2); Text_SetStyle(btx21,2,2); Text_SetStyle(btx22,2,2); Text_SetColor(btx11,Lime); Text_SetColor(btx12,Lime); Text_SetColor(btx1,Red); Text_SetColor(btx2,Red); Text_SetColor(btx21,Lime); Text_SetColor(btx22,Lime); } If HiVal[0] < H Then { HiVal[0] = H; HiBar[0] = 0; date12 = date[HiBar[0]]; time12 = stime[HiBar[0]]; Value12 = HiVal[0]; date32 = date[0]; time32 = stime[0]; if Condition2 == true Then { Text_SetLocation(btx11, date12,time12,Value12+abs(Hival[0]-loval[0])*1.618); Text_SetLocation(btx12, date12,time12,Value12+abs(Hival[0]-loval[0])*0.618); Text_SetLocation(btx1, date12,time12,Value12+abs(Hival[0]-loval[0])); Text_SetLocation(btx2, date12,time12,Value11-abs(Hival[0]-loval[0])); Text_SetLocation(btx21, date12,time12,Value11-abs(Hival[0]-loval[0])*1.618); Text_SetLocation(btx22, date12,time12,Value11-abs(Hival[0]-loval[0])*0.618); } } } 즐거운 하루되세요 > 고성 님이 쓴 글입니다. > 제목 : 추세선 상하대칭 > input : Period(250); Var:j(0),T(0); Var: date11(0),date12(0),time11(0),time12(0), date21(0),date22(0),time21(0),time22(0), date31(0),date32(0),time31(0),time32(0); Array:HiVal[20](0),LoVal[20](0),HiBar[20](0),LoBar[20](0); var : btx1(0),btx2(0),btx11(0),btx12(0),btx21(0),btx22(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]; date21 = date[HiBar[0]]; time21 = stime[HiBar[0]]; date22 = date[0]; time22 = stime[0]; if hival[0] > 0 and Loval[0] > 0 Then { btx11 = Text_New(date12,time12,Value11+abs(Hival[0]-loval[0])*1.618,"■"); btx12 = Text_New(date12,time12,Value11+abs(Hival[0]-loval[0])*0.618,"■"); btx1 = Text_New(date12,time12,Value11+abs(Hival[0]-loval[0]),"■"); btx2 = Text_New(date12,time12,Value12-abs(Hival[0]-loval[0]),"■"); btx21 = Text_New(date12,time12,Value12-abs(Hival[0]-loval[0])*1.618,"■"); btx22 = Text_New(date12,time12,Value12-abs(Hival[0]-loval[0])*0.618,"■"); Text_SetStyle(btx11,2,2); Text_SetStyle(btx12,2,2); Text_SetStyle(btx1,2,2); Text_SetStyle(btx2,2,2); Text_SetStyle(btx21,2,2); Text_SetStyle(btx22,2,2); Text_SetColor(btx11,Lime); Text_SetColor(btx12,Lime); Text_SetColor(btx1,Blue); Text_SetColor(btx2,Blue); Text_SetColor(btx21,Lime); Text_SetColor(btx22,Lime); } } If LoVal[0] > L Then { LoVal[0] = L; LoBar[0] = 0; date12 = date[LoBar[0]]; time12 = stime[LoBar[0]]; Value12 = LoVal[0]; date22 = date[0]; time22 = stime[0]; Text_SetLocation(btx11, date12,time12,Value11+abs(Hival[0]-loval[0])*1.618); Text_SetLocation(btx12, date12,time12,Value11+abs(Hival[0]-loval[0])*0.618); Text_SetLocation(btx1, date12,time12,Value11+abs(Hival[0]-loval[0])); Text_SetLocation(btx2, date12,time12,Value12-abs(Hival[0]-loval[0])); Text_SetLocation(btx21, date12,time12,Value12-abs(Hival[0]-loval[0])*1.618); Text_SetLocation(btx22, date12,time12,Value12-abs(Hival[0]-loval[0])*0.618); } } 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]; date31 = date[LoBar[0]]; time31 = stime[LoBar[0]]; date32 = date[0]; time32 = stime[0]; if hival[0] > 0 and Loval[0] > 0 Then { btx11 = Text_New(date12,time12,Value12+abs(Hival[0]-loval[0])*1.618,"■"); btx12 = Text_New(date12,time12,Value12+abs(Hival[0]-loval[0])*0.618,"■"); btx1 = Text_New(date12,time12,Value12+abs(Hival[0]-loval[0]),"■"); btx2 = Text_New(date12,time12,Value11-abs(Hival[0]-loval[0]),"■"); btx21 = Text_New(date12,time12,Value11-abs(Hival[0]-loval[0])*1.618,"■"); btx22 = Text_New(date12,time12,Value11-abs(Hival[0]-loval[0])*0.618,"■"); Text_SetStyle(btx11,2,2); Text_SetStyle(btx12,2,2); Text_SetStyle(btx1,2,2); Text_SetStyle(btx2,2,2); Text_SetStyle(btx21,2,2); Text_SetStyle(btx22,2,2); Text_SetColor(btx11,Lime); Text_SetColor(btx12,Lime); Text_SetColor(btx1,Red); Text_SetColor(btx2,Red); Text_SetColor(btx21,Lime); Text_SetColor(btx22,Lime); } } If HiVal[0] < H Then { HiVal[0] = H; HiBar[0] = 0; date12 = date[HiBar[0]]; time12 = stime[HiBar[0]]; Value12 = HiVal[0]; date32 = date[0]; time32 = stime[0]; Text_SetLocation(btx11, date12,time12,Value12+abs(Hival[0]-loval[0])*1.618); Text_SetLocation(btx12, date12,time12,Value12+abs(Hival[0]-loval[0])*0.618); Text_SetLocation(btx1, date12,time12,Value12+abs(Hival[0]-loval[0])); Text_SetLocation(btx2, date12,time12,Value11-abs(Hival[0]-loval[0])); Text_SetLocation(btx21, date12,time12,Value11-abs(Hival[0]-loval[0])*1.618); Text_SetLocation(btx22, date12,time12,Value11-abs(Hival[0]-loval[0])*0.618); } } 네모 표시를, 추세선의 크기가 작으면 무시하고 1P 이상일 때만 표시되게 수정 부탁드립니다.