커뮤니티

부탁 드립니다.

프로필 이미지
뮬리
2020-07-10 04:13:03
1470
글번호 140535
답변완료
항상 도움 주서셔 깊이 감사 드립니다. Williams'R 수식에서 WILLR 함수식의 타주기 수식 부탁 드립니다. 참고로 이전 작성해주신 obv의 타주기 수식 첨부 합니다. 수차례 부탁드린 타주기 수식은 이것으로 마무리 되는듯 하오며 미리 경배로 감사 인사 올립니다. 예를 들어 1)10분봉 차트에서 60분봉의 WILLR지표 2)100틱 차트에서 300틱봉의 WILLR지표 3)분봉 차트에서 일봉의 WILLR지표 4)분봉 또는 일봉차트에서 주봉의 WILLR지표 5)분봉 또는 일봉,주봉 차트에서 월봉의 WILLR지표 WILLR 의 함수식) Input : Period(20); Var : value1(0), value2(0); value1 = Highest(H, Period); value2 = Lowest(L, period); WILLR = (value1 - Close) / (value1 - value2) * (-100); 참고수식) 1 input : ntime(60); var : S1(0),D1(0),TM(0),TF(0),cnt(0); var : C1(0),CC(0),sum(0),value(0),pre(0); if Bdate != Bdate[1] Then { S1 = TimeToMinutes(stime); D1 = sdate; } if D1 > 0 then { if sdate == D1 Then TM = TimeToMinutes(stime)-S1; Else TM = TimeToMinutes(stime)+1440-S1; TF = TM%ntime; if Bdate != Bdate[1] or (Bdate == Bdate[1] and ntime > 1 and TF < TF[1]) or (Bdate == Bdate[1] and ntime > 1 and TM >= TM[1]+ntime) or (Bdate == Bdate[1] and ntime == 1 and TM > TM[1]) Then { C1 = CC[1]; sum = 0; pre = value[1]; } CC = C; sum = sum + v; if C1 > 0 Then { if CC > C1 Then value = pre+sum; if CC < C1 Then value = pre-sum; plot1(value); PlotBaseLine1(0); } } 2 input : n(3); var : idx(0),D1(0),TF(0),cnt(0); var : C1(0),CC(0),sum(0),value(0),pre(0); if Bdate != Bdate[1] Then { D1 = sdate; IDX = 0; } Else idx = idx+1; if D1 > 0 then { TF = idx%N; if Bdate != Bdate[1] or (Bdate == Bdate[1] and TF < TF[1]) Then { C1 = CC[1]; sum = 0; pre = value[1]; } CC = C; sum = sum + v; if C1 > 0 Then { if CC > C1 Then value = pre+sum; if CC < C1 Then value = pre-sum; plot1(value); PlotBaseLine1(0); } } 3 var : CC(0),C1(0),sum(0),pre(0),value(0); if Bdate != Bdate[1] Then { C1 = CC[1]; sum = 0; pre = value[1]; } CC = C; sum = sum + v; if C1 > 0 Then { if CC > C1 Then value = pre+sum; if CC < C1 Then value = pre-sum; plot1(value); PlotBaseLine1(0); } 4 var : CC(0),C1(0),sum(0),pre(0),value(0); if dayofweek(Bdate) < DayOfWeek(Bdate[1]) Then { C1 = CC[1]; sum = 0; pre = value[1]; } CC = C; sum = sum + v; if C1 > 0 Then { if CC > C1 Then value = pre+sum; if CC < C1 Then value = pre-sum; plot1(value); PlotBaseLine1(0); } 5 var : CC(0),C1(0),sum(0),pre(0),value(0); if Bdate > Bdate[1]+30 Then { C1 = CC[1]; sum = 0; pre = value[1]; } CC = C; sum = sum + v; if C1 > 0 Then { if CC > C1 Then value = pre+sum; if CC < C1 Then value = pre-sum; plot1(value); PlotBaseLine1(0); }
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2020-07-10 14:31:27

안녕하세요 예스스탁입니다. 1 input : ntime(60),Period(20); var : S1(0),D1(0),TM(0),TF(0); var : cnt(0), Hv(0), LV(0), WR(0); Array : HH[100](0),LL[100](0); if Bdate != Bdate[1] Then { S1 = TimeToMinutes(stime); D1 = sdate; } if D1 > 0 then { if sdate == D1 Then TM = TimeToMinutes(stime)-S1; Else TM = TimeToMinutes(stime)+1440-S1; TF = TimeToMinutes(stime)%ntime; if Bdate != Bdate[1] or (Bdate == Bdate[1] and ntime > 1 and TF < TF[1]) or (Bdate == Bdate[1] and ntime > 1 and TM >= TM[1]+ntime) or (Bdate == Bdate[1] and ntime == 1 and TM > TM[1]) Then { HH[0] = H; LL[0] = L; for cnt = 1 to 99 { HH[cnt] = HH[cnt-1][1]; LL[cnt] = LL[cnt-1][1]; } } if H > HH[0] Then HH[0] = H; if L < LL[0] Then LL[0] = L; if HH[Period-1] > 0 and LL[Period-1] > 0 then { Hv = HH[0]; LV = LL[0]; for cnt = 0 to Period-1 { if HH[cnt] > Hv then Hv = HH[cnt]; if LL[cnt] < LV then LV = LL[cnt]; } WR = (HV-C)/(HV-LV)*(-100); Plot1(WR,"WR"); PlotBaseLine1(-20,"기준선-20"); PlotBaseLine2(-80,"기준선-80"); } } 2 input : N(3),Period(20); var : S1(0),D1(0),idx(0),TF(0); var : cnt(0), Hv(0), LV(0), WR(0); Array : HH[100](0),LL[100](0); if Bdate != Bdate[1] Then { D1 = sdate; IDX = 0; } Else idx = idx+1; if D1 > 0 then { TF =idx%N; if Bdate != Bdate[1] or (Bdate == Bdate[1] and TF < TF[1]) Then { HH[0] = H; LL[0] = L; for cnt = 1 to 99 { HH[cnt] = HH[cnt-1][1]; LL[cnt] = LL[cnt-1][1]; } } if H > HH[0] Then HH[0] = H; if L < LL[0] Then LL[0] = L; if HH[Period-1] > 0 and LL[Period-1] > 0 then { Hv = HH[0]; LV = LL[0]; for cnt = 0 to Period-1 { if HH[cnt] > Hv then Hv = HH[cnt]; if LL[cnt] < LV then LV = LL[cnt]; } WR = (HV-C)/(HV-LV)*(-100); Plot1(WR,"WR"); PlotBaseLine1(-20,"기준선-20"); PlotBaseLine2(-80,"기준선-80"); } } 3 Input : Period(20); Var : WR(0),cnt(0); value1 = DayHigh(0); value2 = dayhigh(0); for cnt = 0 to Period-1{ if dayhigh(cnt) > value1 Then value1 = dayhigh(cnt); if daylow(cnt) < value2 Then value2 = daylow(cnt); } WR = (value1 - Close) / (value1 - value2) * (-100); plot1(WR); PlotBaseLine1(-20,"기준선-20"); PlotBaseLine2(-80,"기준선-80"); 4 input : N(3),Period(20); var : S1(0),D1(0),idx(0),TF(0); var : cnt(0), Hv(0), LV(0), WR(0); Array : HH[100](0),LL[100](0); if dayofweek(Bdate) < DayOfWeek(Bdate[1]) Then { HH[0] = H; LL[0] = L; for cnt = 1 to 99 { HH[cnt] = HH[cnt-1][1]; LL[cnt] = LL[cnt-1][1]; } } if H > HH[0] Then HH[0] = H; if L < LL[0] Then LL[0] = L; if HH[Period-1] > 0 and LL[Period-1] > 0 then { Hv = HH[0]; LV = LL[0]; for cnt = 0 to Period-1 { if HH[cnt] > Hv then Hv = HH[cnt]; if LL[cnt] < LV then LV = LL[cnt]; } WR = (HV-C)/(HV-LV)*(-100); Plot1(WR,"WR"); PlotBaseLine1(-20,"기준선-20"); PlotBaseLine2(-80,"기준선-80"); } 5 input : N(3),Period(20); var : S1(0),D1(0),idx(0),TF(0); var : cnt(0), Hv(0), LV(0), WR(0); Array : HH[100](0),LL[100](0); if Bdate > Bdate[1]+30 Then { HH[0] = H; LL[0] = L; for cnt = 1 to 99 { HH[cnt] = HH[cnt-1][1]; LL[cnt] = LL[cnt-1][1]; } } if H > HH[0] Then HH[0] = H; if L < LL[0] Then LL[0] = L; if HH[Period-1] > 0 and LL[Period-1] > 0 then { Hv = HH[0]; LV = LL[0]; for cnt = 0 to Period-1 { if HH[cnt] > Hv then Hv = HH[cnt]; if LL[cnt] < LV then LV = LL[cnt]; } WR = (HV-C)/(HV-LV)*(-100); Plot1(WR,"WR"); PlotBaseLine1(-20,"기준선-20"); PlotBaseLine2(-80,"기준선-80"); } 즐거운 하루되세요 > 뮬리 님이 쓴 글입니다. > 제목 : 부탁 드립니다. > 항상 도움 주서셔 깊이 감사 드립니다. Williams'R 수식에서 WILLR 함수식의 타주기 수식 부탁 드립니다. 참고로 이전 작성해주신 obv의 타주기 수식 첨부 합니다. 수차례 부탁드린 타주기 수식은 이것으로 마무리 되는듯 하오며 미리 경배로 감사 인사 올립니다. 예를 들어 1)10분봉 차트에서 60분봉의 WILLR지표 2)100틱 차트에서 300틱봉의 WILLR지표 3)분봉 차트에서 일봉의 WILLR지표 4)분봉 또는 일봉차트에서 주봉의 WILLR지표 5)분봉 또는 일봉,주봉 차트에서 월봉의 WILLR지표 WILLR 의 함수식) Input : Period(20); Var : value1(0), value2(0); value1 = Highest(H, Period); value2 = Lowest(L, period); WILLR = (value1 - Close) / (value1 - value2) * (-100); 참고수식) 1 input : ntime(60); var : S1(0),D1(0),TM(0),TF(0),cnt(0); var : C1(0),CC(0),sum(0),value(0),pre(0); if Bdate != Bdate[1] Then { S1 = TimeToMinutes(stime); D1 = sdate; } if D1 > 0 then { if sdate == D1 Then TM = TimeToMinutes(stime)-S1; Else TM = TimeToMinutes(stime)+1440-S1; TF = TM%ntime; if Bdate != Bdate[1] or (Bdate == Bdate[1] and ntime > 1 and TF < TF[1]) or (Bdate == Bdate[1] and ntime > 1 and TM >= TM[1]+ntime) or (Bdate == Bdate[1] and ntime == 1 and TM > TM[1]) Then { C1 = CC[1]; sum = 0; pre = value[1]; } CC = C; sum = sum + v; if C1 > 0 Then { if CC > C1 Then value = pre+sum; if CC < C1 Then value = pre-sum; plot1(value); PlotBaseLine1(0); } } 2 input : n(3); var : idx(0),D1(0),TF(0),cnt(0); var : C1(0),CC(0),sum(0),value(0),pre(0); if Bdate != Bdate[1] Then { D1 = sdate; IDX = 0; } Else idx = idx+1; if D1 > 0 then { TF = idx%N; if Bdate != Bdate[1] or (Bdate == Bdate[1] and TF < TF[1]) Then { C1 = CC[1]; sum = 0; pre = value[1]; } CC = C; sum = sum + v; if C1 > 0 Then { if CC > C1 Then value = pre+sum; if CC < C1 Then value = pre-sum; plot1(value); PlotBaseLine1(0); } } 3 var : CC(0),C1(0),sum(0),pre(0),value(0); if Bdate != Bdate[1] Then { C1 = CC[1]; sum = 0; pre = value[1]; } CC = C; sum = sum + v; if C1 > 0 Then { if CC > C1 Then value = pre+sum; if CC < C1 Then value = pre-sum; plot1(value); PlotBaseLine1(0); } 4 var : CC(0),C1(0),sum(0),pre(0),value(0); if dayofweek(Bdate) < DayOfWeek(Bdate[1]) Then { C1 = CC[1]; sum = 0; pre = value[1]; } CC = C; sum = sum + v; if C1 > 0 Then { if CC > C1 Then value = pre+sum; if CC < C1 Then value = pre-sum; plot1(value); PlotBaseLine1(0); } 5 var : CC(0),C1(0),sum(0),pre(0),value(0); if Bdate > Bdate[1]+30 Then { C1 = CC[1]; sum = 0; pre = value[1]; } CC = C; sum = sum + v; if C1 > 0 Then { if CC > C1 Then value = pre+sum; if CC < C1 Then value = pre-sum; plot1(value); PlotBaseLine1(0); }