커뮤니티

재문의드립니다

프로필 이미지
러블리
2024-01-19 18:03:54
672
글번호 175922
답변완료
input : Periods(10),Multiplier(3.0),changeATR(true),showsignals(true),highlighting(true); var : src(0),ATR2(0),ATrv(0),upv(0),dnv(0),trend(1), TL(0),upv1(0), dnv1(0); src = (h+l)/2; atr2 = ma(TrueRange, Periods); atrv = iff(changeATR, atr(Periods), atr2); upv = src-(Multiplier*atrv); upv = iff(close[1] > upv[1],max(upv,upv[1]), upv); upv1 = (DayOpen() - upv) + DayOpen(); dnv = src+(Multiplier*atrv); dnv = iff(close[1] < dnv[1],min(dnv, dnv[1]), dnv); dnv1 = (DayOpen() - dnv) + DayOpen(); trend = iff(trend == -1 and close > dnv[1] , 1 ,IFf(trend == 1 and close < upv[1] , -1 , trend)); if trend == 1 Then plot1(upv,"Trend",REd); Else plot1(dnv,"Trend",BLACk); ----------------------------------- 위수식 일봉용을 분봉에 적용해서 보고싶습니다 일봉수식 데이타가 분봉에 표시되게.. ---------------------------------------- 아래수식은 답변주신 수식인데요 분봉차트에 적용하니까 upv-->dnv 또는 dnv--> upv로 스위치가 안일어납니다 안녕하세요 예스스탁입니다. input : Periods(10),Multiplier(3.0),changeATR(true),showsignals(true),highlighting(true); var : src(0),ATR2(0),ATrv(0),upv(0),dnv(0),trend(1), upv1(0), dnv1(0); var : sumTR(0),TH(0),TL(0),cnt(0); var : preupv(0),prednv(0),trend1(0); 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); } ATR2 = sumTR/Periods; atrv = iff(changeATR, atr2, atr2); if Bdate != Bdate[1] Then { preupv = upv[1]; prednv = dnv[1]; trend1 = trend[1]; } upv = src-(Multiplier*atrv); upv = iff(DayClose(1) > preupv,max(upv,preupv), upv); upv1 = (DayOpen() - upv) + DayOpen(); dnv = src+(Multiplier*atrv); dnv = iff(DayClose(1) < prednv,min(dnv, prednv), dnv); dnv1 = (DayOpen() - dnv) + DayOpen(); trend = iff(trend1 == -1 and close > dnv1 , 1 ,IFf(trend1 == 1 and close < upv1 , -1 , trend1)); if trend == 1 Then plot1(upv,"Trend",REd); Else plot1(dnv,"Trend",BLACk); --------------------------------- 주가가 dnv 를 상향돌파하면 dnv---> upv로 .. 주가가 upv를 하향돌파하면 upv-->dnv로 바뀌어야 하는데 안바뀝니다 다시 한번 검토해주시면 감사하겠습니다
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2024-01-23 08:51:29

안녕하세요 예스스탁입니다. trend변수 초기값이 잘못지정되어 있었습니다. input : Periods(10),Multiplier(3.0),changeATR(true),showsignals(true),highlighting(true); var : src(0),ATR2(0),ATrv(0),upv(0),dnv(0),trend(1), upv1(0), dnv1(0); var : sumTR(0),TH(0),TL(0),cnt(0); var : preupv(0),prednv(0),trend1(1); 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); } ATR2 = sumTR/Periods; atrv = iff(changeATR, atr2, atr2); if Bdate != Bdate[1] Then { preupv = upv[1]; prednv = dnv[1]; trend1 = trend[1]; } upv = src-(Multiplier*atrv); upv = iff(DayClose(1) > preupv,max(upv,preupv), upv); upv1 = (DayOpen() - upv) + DayOpen(); dnv = src+(Multiplier*atrv); dnv = iff(DayClose(1) < prednv,min(dnv, prednv), dnv); dnv1 = (DayOpen() - dnv) + DayOpen(); trend = iff(trend1 == -1 and close > prednv , 1 ,IFf(trend1 == 1 and close < preupv, -1 , trend1)); if trend == 1 Then plot1(upv,"Trend",REd); Else plot1(dnv,"Trend",BLACk); 즐거운 하루되세요 > 러블리 님이 쓴 글입니다. > 제목 : 재문의드립니다 > input : Periods(10),Multiplier(3.0),changeATR(true),showsignals(true),highlighting(true); var : src(0),ATR2(0),ATrv(0),upv(0),dnv(0),trend(1), TL(0),upv1(0), dnv1(0); src = (h+l)/2; atr2 = ma(TrueRange, Periods); atrv = iff(changeATR, atr(Periods), atr2); upv = src-(Multiplier*atrv); upv = iff(close[1] > upv[1],max(upv,upv[1]), upv); upv1 = (DayOpen() - upv) + DayOpen(); dnv = src+(Multiplier*atrv); dnv = iff(close[1] < dnv[1],min(dnv, dnv[1]), dnv); dnv1 = (DayOpen() - dnv) + DayOpen(); trend = iff(trend == -1 and close > dnv[1] , 1 ,IFf(trend == 1 and close < upv[1] , -1 , trend)); if trend == 1 Then plot1(upv,"Trend",REd); Else plot1(dnv,"Trend",BLACk); ----------------------------------- 위수식 일봉용을 분봉에 적용해서 보고싶습니다 일봉수식 데이타가 분봉에 표시되게.. ---------------------------------------- 아래수식은 답변주신 수식인데요 분봉차트에 적용하니까 upv-->dnv 또는 dnv--> upv로 스위치가 안일어납니다 안녕하세요 예스스탁입니다. input : Periods(10),Multiplier(3.0),changeATR(true),showsignals(true),highlighting(true); var : src(0),ATR2(0),ATrv(0),upv(0),dnv(0),trend(1), upv1(0), dnv1(0); var : sumTR(0),TH(0),TL(0),cnt(0); var : preupv(0),prednv(0),trend1(0); 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); } ATR2 = sumTR/Periods; atrv = iff(changeATR, atr2, atr2); if Bdate != Bdate[1] Then { preupv = upv[1]; prednv = dnv[1]; trend1 = trend[1]; } upv = src-(Multiplier*atrv); upv = iff(DayClose(1) > preupv,max(upv,preupv), upv); upv1 = (DayOpen() - upv) + DayOpen(); dnv = src+(Multiplier*atrv); dnv = iff(DayClose(1) < prednv,min(dnv, prednv), dnv); dnv1 = (DayOpen() - dnv) + DayOpen(); trend = iff(trend1 == -1 and close > dnv1 , 1 ,IFf(trend1 == 1 and close < upv1 , -1 , trend1)); if trend == 1 Then plot1(upv,"Trend",REd); Else plot1(dnv,"Trend",BLACk); --------------------------------- 주가가 dnv 를 상향돌파하면 dnv---> upv로 .. 주가가 upv를 하향돌파하면 upv-->dnv로 바뀌어야 하는데 안바뀝니다 다시 한번 검토해주시면 감사하겠습니다