커뮤니티

85294 지표 문의

프로필 이미지
박두희
2024-01-09 14:49:50
712
글번호 175577
답변완료
안녕하세요 항상 도움 주셔서 감사합니다. 아래의 일봉 지표를 분봉에 나타내려고 합니다.가능할까요? 분봉에서 일봉지표와 같이 표현 하고 싶어서 입니다. 감사합니다. input : Periods(20); input : Multiplier(3.0); input : changeATR(true); input : showsignals(true); input : highlighting(true); var : src(0),alpha(0),atr1(0),atr2(0),atrv(0); var : up(0),up1(0),dn(0),dn1(0); var : trend(0),tx(0); src = (h+l)/2; alpha = 1/Periods; atr1 = iff(IsNan(atr1[1]) == true,ma(TrueRange, Periods), alpha * TrueRange + (1 - alpha) * iff(IsNan(atr1[1])==true,0,atr1[1])); atr2 = ma(TrueRange, Periods); atrv = iff(changeATR ==true,atr1, atr2); up = src-(Multiplier*atrv); up1 = iff(isnan(up[1])==true,up,up[1]); up = iff(close[1] > up1 , max(up,up1), up); dn = src+(Multiplier*atrv); dn1 = iff(isnan(dn[1])==true,dn,dn[1]); dn = iff(close[1] < dn1 , min(dn, dn1) , dn); trend = 1; trend = iff(isnan(trend[1])==true,trend,trend[1]); trend = iff(trend == -1 and close > dn1 , 1 , iff(trend == 1 and close < up1 , -1 , trend)); if trend == 1 Then { plot1(up,"Up Trend",Red); NoPlot(2); } Else { NoPlot(1); plot2(dn,"Down Trend",Blue); } if trend == 1 and trend[1] == -1 Then { tx = Text_New(sDate,sTime,up,"●"); Text_SetColor(tx,Red); Text_SetStyle(tx,2,2); } if trend == -1 and trend[1] == 1 Then { tx = Text_New(sDate,sTime,dn,"●"); Text_SetColor(tx,Blue); Text_SetStyle(tx,2,2); }
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2024-01-10 17:11:57

안녕하세요 예스스탁입니다. input : Periods(20); input : Multiplier(3.0); input : changeATR(true); input : showsignals(true); input : highlighting(true); var : src(0),alpha(0),atr1(0),atr2(0),atrv(0); var : up(0),up1(0),dn(0),dn1(0); var : trend(0),tx(0); var : sumTR(0),TH(0),TL(0),cnt(0),A(0),TR(0); var : preATR1(0),preup(0),predn(0),pretrend(0); alpha = 1/Periods; src = (DayHigh+DayLow)/2; sumTR = 0; for cnt = 0 to Periods-1 { If DayClose(cnt+1) > DayHigh(cnt) then TH = DayClose(cnt+1); else TH = DayHigh(cnt); If DayClose(cnt+1) < daylow(cnt) then TL = DayClose(cnt+1); else TL = daylow(cnt); sumTR = sumTR + (TH-TL); if cnt == 0 Then TR = TH-TL; } A = sumTR/Periods; if Bdate != Bdate[1] Then { preATR1 = ATR1[1]; preup = up[1]; predn = dn[1]; pretrend = trend[1]; } atr1 = iff(preATR1 == 0,A, alpha * TR + (1 - alpha) * iff(preATR1 == 0,0,preATR1)); atr2 = A; atrv = iff(changeATR ==true,atr1, atr2); up = src-(Multiplier*atrv); up1 = iff(preup==0,up,preup); up = iff(DayClose(1) > up1 , max(up,up1), up); dn = src+(Multiplier*atrv); dn1 = iff(predn==0,dn,predn); dn = iff(DayClose(1) < dn1 , min(dn, dn1) , dn); trend = 1; trend = iff(pretrend==0,trend,pretrend); trend = iff(trend == -1 and close > dn1 , 1 , iff(trend == 1 and close < up1 , -1 , trend)); if trend == 1 Then { plot1(up,"Up Trend",Red); NoPlot(2); } Else { NoPlot(1); plot2(dn,"Down Trend",Blue); } if NextBarSdate != sDate and trend == 1 and pretrend == -1 Then { tx = Text_New(sDate,sTime,up,"●"); Text_SetColor(tx,Red); Text_SetStyle(tx,2,2); } if NextBarSdate != sDate and trend == -1 and pretrend == 1 Then { tx = Text_New(sDate,sTime,dn,"●"); Text_SetColor(tx,Blue); Text_SetStyle(tx,2,2); } 즐거운 하루되세요 > 박두희 님이 쓴 글입니다. > 제목 : 85294 지표 문의 > 안녕하세요 항상 도움 주셔서 감사합니다. 아래의 일봉 지표를 분봉에 나타내려고 합니다.가능할까요? 분봉에서 일봉지표와 같이 표현 하고 싶어서 입니다. 감사합니다. input : Periods(20); input : Multiplier(3.0); input : changeATR(true); input : showsignals(true); input : highlighting(true); var : src(0),alpha(0),atr1(0),atr2(0),atrv(0); var : up(0),up1(0),dn(0),dn1(0); var : trend(0),tx(0); src = (h+l)/2; alpha = 1/Periods; atr1 = iff(IsNan(atr1[1]) == true,ma(TrueRange, Periods), alpha * TrueRange + (1 - alpha) * iff(IsNan(atr1[1])==true,0,atr1[1])); atr2 = ma(TrueRange, Periods); atrv = iff(changeATR ==true,atr1, atr2); up = src-(Multiplier*atrv); up1 = iff(isnan(up[1])==true,up,up[1]); up = iff(close[1] > up1 , max(up,up1), up); dn = src+(Multiplier*atrv); dn1 = iff(isnan(dn[1])==true,dn,dn[1]); dn = iff(close[1] < dn1 , min(dn, dn1) , dn); trend = 1; trend = iff(isnan(trend[1])==true,trend,trend[1]); trend = iff(trend == -1 and close > dn1 , 1 , iff(trend == 1 and close < up1 , -1 , trend)); if trend == 1 Then { plot1(up,"Up Trend",Red); NoPlot(2); } Else { NoPlot(1); plot2(dn,"Down Trend",Blue); } if trend == 1 and trend[1] == -1 Then { tx = Text_New(sDate,sTime,up,"●"); Text_SetColor(tx,Red); Text_SetStyle(tx,2,2); } if trend == -1 and trend[1] == 1 Then { tx = Text_New(sDate,sTime,dn,"●"); Text_SetColor(tx,Blue); Text_SetStyle(tx,2,2); }