커뮤니티

부탁드립니다^^

프로필 이미지
체리피커
2025-06-17 11:39:39
165
글번호 191814
답변완료
아래 지표 수식을 화면 box 강세, 약세로 변환 부탁드립니다. input : length(50); input : factor(1.0); input : col_up(Red); input : col_dn(Lime); input : col_ul(Cyan); var : direction(0),count_up(0),count_dn(0); var : volatility(0),upper(0),lower(0),sig_up(False),sig_dn(False); var : upper_band(0),lower_band(0); var : hlc3(0),alpha(0),ATrv(0); var : tx1(0),tx2(0); var1 = ma(C,25); var2 = ma(C,length); hlc3 = (H+L+C)/3; volatility = ma(high-low, 70) * factor; upper = highest(var1 + volatility, int(length/2)); lower = lowest(var2 - volatility, int(length/2)); sig_up = CrossUp(hlc3, upper); sig_dn = CrossDown(hlc3, lower); if sig_up == true Then direction = 1; if sig_dn == true Then direction = -1; upper = iff(direction == 1 , Nan , upper); lower = iff(direction == -1 , Nan , lower); if direction == 1 Then { count_up = count_up+ 0.5; count_dn = 0; } if direction == -1 Then { count_dn = count_dn+0.5; count_up = 0; } count_up = iff(count_up > 70 , 70 , count_up); count_dn = iff(count_dn > 70 , 70 , count_dn); alpha = 1 / 100 ; ATrV = IFf(IsNan(ATrV[1]) == true, ma(TrueRange,100) , alpha * TrueRange + (1 - alpha) * IFf(isnan(ATrV[1])==true,0,ATrV[1])); upper_band = lower + ATRV*5; lower_band = upper - ATRV*5; if IsNaN(upper_band) == False Then plot1(upper_band, "Upper Wave",iff(index % 2 == 0 , nan , col_ul)); Else NoPlot(1); if IsNaN(lower_band) == False Then plot2(lower_band, "Lower Wave",iff(index % 2 == 0 , nan , col_ul)); Else NoPlot(2); if IsNaN(upper) == False Then plot3(upper, "Upper Band",col_dn); Else NoPlot(3); if IsNaN(lower) == False Then plot4(lower, "Lower Band",col_up); Else NoPlot(4); plot5(C); if direction != direction[1] and direction == 1 Then { tx1 = Text_New_Self(sDate,sTime,Lower,"●"); Text_SetStyle(tx1,2,2); Text_SetColor(tx1,col_up); Text_setsize(Tx1,15); tx2 = Text_New_Self(sDate,sTime,L,"▲"); Text_SetStyle(tx2,2,0); Text_SetColor(tx2,col_up); Text_setsize(Tx2,19); } if direction != direction[1] and direction == -1 Then { tx1 = Text_New_Self(sDate,sTime,upper,"●"); Text_SetStyle(tx1,2,2); Text_SetColor(tx1,col_dn); Text_setsize(Tx1,15); tx2 = Text_New_Self(sDate,sTime,H,"▼"); Text_SetStyle(tx2,2,1); Text_SetColor(tx2,col_dn); Text_setsize(Tx2,19); } 감사합니다~맛점하세요^^
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2025-06-17 12:25:20

안녕하세요 예스스탁입니다. 삼각형과 원형 텍스트를 기준으로 박스표시되게 추가해 드립니다. input : length(50); input : factor(1.0); input : col_up(Red); input : col_dn(Lime); input : col_ul(Cyan); var : direction(0),count_up(0),count_dn(0); var : volatility(0),upper(0),lower(0),sig_up(False),sig_dn(False); var : upper_band(0),lower_band(0); var : hlc3(0),alpha(0),ATrv(0); var : tx1(0),tx2(0),box(0); var1 = ma(C,25); var2 = ma(C,length); hlc3 = (H+L+C)/3; volatility = ma(high-low, 70) * factor; upper = highest(var1 + volatility, int(length/2)); lower = lowest(var2 - volatility, int(length/2)); sig_up = CrossUp(hlc3, upper); sig_dn = CrossDown(hlc3, lower); if sig_up == true Then direction = 1; if sig_dn == true Then direction = -1; upper = iff(direction == 1 , Nan , upper); lower = iff(direction == -1 , Nan , lower); if direction == 1 Then { count_up = count_up+ 0.5; count_dn = 0; } if direction == -1 Then { count_dn = count_dn+0.5; count_up = 0; } count_up = iff(count_up > 70 , 70 , count_up); count_dn = iff(count_dn > 70 , 70 , count_dn); alpha = 1 / 100 ; ATrV = IFf(IsNan(ATrV[1]) == true, ma(TrueRange,100) , alpha * TrueRange + (1 - alpha) * IFf(isnan(ATrV[1])==true,0,ATrV[1])); upper_band = lower + ATRV*5; lower_band = upper - ATRV*5; if IsNaN(upper_band) == False Then plot1(upper_band, "Upper Wave",iff(index % 2 == 0 , nan , col_ul)); Else NoPlot(1); if IsNaN(lower_band) == False Then plot2(lower_band, "Lower Wave",iff(index % 2 == 0 , nan , col_ul)); Else NoPlot(2); if IsNaN(upper) == False Then plot3(upper, "Upper Band",col_dn); Else NoPlot(3); if IsNaN(lower) == False Then plot4(lower, "Lower Band",col_up); Else NoPlot(4); plot5(C); if direction != direction[1] and direction == 1 Then { tx1 = Text_New_Self(sDate,sTime,Lower,"●"); Text_SetStyle(tx1,2,2); Text_SetColor(tx1,col_up); Text_setsize(Tx1,15); tx2 = Text_New_Self(sDate,sTime,L,"▲"); Text_SetStyle(tx2,2,0); Text_SetColor(tx2,col_up); Text_setsize(Tx2,19); Box = Box_New(sDate,sTime,H,NextBarSdate,NextBarStime,L); Box_SetColor(box,Red); Box_SetFill(box,true); Box_SetExtFill(box,true); } if direction != direction[1] and direction == -1 Then { tx1 = Text_New_Self(sDate,sTime,upper,"●"); Text_SetStyle(tx1,2,2); Text_SetColor(tx1,col_dn); Text_setsize(Tx1,15); tx2 = Text_New_Self(sDate,sTime,H,"▼"); Text_SetStyle(tx2,2,1); Text_SetColor(tx2,col_dn); Text_setsize(Tx2,19); Box = Box_New(sDate,sTime,H,NextBarSdate,NextBarStime,L); Box_SetColor(box,Blue); Box_SetFill(box,true); Box_SetExtFill(box,true); } Box_SetEnd(box,NextBarSdate,NextBarStime,L); 즐거운 하루되세요 > 체리피커 님이 쓴 글입니다. > 제목 : 부탁드립니다^^ > 아래 지표 수식을 화면 box 강세, 약세로 변환 부탁드립니다. input : length(50); input : factor(1.0); input : col_up(Red); input : col_dn(Lime); input : col_ul(Cyan); var : direction(0),count_up(0),count_dn(0); var : volatility(0),upper(0),lower(0),sig_up(False),sig_dn(False); var : upper_band(0),lower_band(0); var : hlc3(0),alpha(0),ATrv(0); var : tx1(0),tx2(0); var1 = ma(C,25); var2 = ma(C,length); hlc3 = (H+L+C)/3; volatility = ma(high-low, 70) * factor; upper = highest(var1 + volatility, int(length/2)); lower = lowest(var2 - volatility, int(length/2)); sig_up = CrossUp(hlc3, upper); sig_dn = CrossDown(hlc3, lower); if sig_up == true Then direction = 1; if sig_dn == true Then direction = -1; upper = iff(direction == 1 , Nan , upper); lower = iff(direction == -1 , Nan , lower); if direction == 1 Then { count_up = count_up+ 0.5; count_dn = 0; } if direction == -1 Then { count_dn = count_dn+0.5; count_up = 0; } count_up = iff(count_up > 70 , 70 , count_up); count_dn = iff(count_dn > 70 , 70 , count_dn); alpha = 1 / 100 ; ATrV = IFf(IsNan(ATrV[1]) == true, ma(TrueRange,100) , alpha * TrueRange + (1 - alpha) * IFf(isnan(ATrV[1])==true,0,ATrV[1])); upper_band = lower + ATRV*5; lower_band = upper - ATRV*5; if IsNaN(upper_band) == False Then plot1(upper_band, "Upper Wave",iff(index % 2 == 0 , nan , col_ul)); Else NoPlot(1); if IsNaN(lower_band) == False Then plot2(lower_band, "Lower Wave",iff(index % 2 == 0 , nan , col_ul)); Else NoPlot(2); if IsNaN(upper) == False Then plot3(upper, "Upper Band",col_dn); Else NoPlot(3); if IsNaN(lower) == False Then plot4(lower, "Lower Band",col_up); Else NoPlot(4); plot5(C); if direction != direction[1] and direction == 1 Then { tx1 = Text_New_Self(sDate,sTime,Lower,"●"); Text_SetStyle(tx1,2,2); Text_SetColor(tx1,col_up); Text_setsize(Tx1,15); tx2 = Text_New_Self(sDate,sTime,L,"▲"); Text_SetStyle(tx2,2,0); Text_SetColor(tx2,col_up); Text_setsize(Tx2,19); } if direction != direction[1] and direction == -1 Then { tx1 = Text_New_Self(sDate,sTime,upper,"●"); Text_SetStyle(tx1,2,2); Text_SetColor(tx1,col_dn); Text_setsize(Tx1,15); tx2 = Text_New_Self(sDate,sTime,H,"▼"); Text_SetStyle(tx2,2,1); Text_SetColor(tx2,col_dn); Text_setsize(Tx2,19); } 감사합니다~맛점하세요^^