커뮤니티

부탁 드립니다.

프로필 이미지
뮬리
2020-06-01 13:40:51
1474
글번호 139428
답변완료
도움 주심에 항상 감사 드립니다. 질문1,2)를 타주기(분봉용)에서 사용 토록 부탁 드립니다. 다만 이평선 작성시 참조 수식과 같이 배열 함수를(예:array:CC[50] 등) 사용하지 않고 작성이 가능 하다면 그 방법으로 부탁 드립니다. 미리 감사 드립니다. 질문1) Input : Period(20), D(1.5), sig(5); var1 = ma(H, Period) + (D * std(H, Period)); var2=(H-var1)/H; var3=ma(var2,sig); 질문2) Input : Period(20), D(1.5),sig(5); var1 = ma(L,period) - (D * std(L, Period)); var2=(L-var1)/L; var3=ma(var2,sig); 참조수식) Input:Atime1(30),Period(20); var : S1(0),D1(0),TM(0),EP(0); Var : TF1(0),idx1(0),emav1(0),Pre1(0); Ep = 2/(Period+1); 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; TF1 = TM%Atime1; if Bdate != Bdate[1] or (Bdate == Bdate[1] and Atime1 <= 1 and TF1 > TF1[1]) or (Bdate == Bdate[1] and Atime1 > 1 and TF1 < TF1[1]) Then{ idx1 = idx1+1; Pre1 = emav1[1]; } if idx1 <= 1 then emav1 = C; else emav1 = C * EP + Pre1 * (1-EP); }
지표
답변 3
프로필 이미지

예스스탁 예스스탁 답변

2020-06-01 15:00:04

안녕하세요 예스스탁입니다. 배열변수가 사용되어야 합니다. input : Atime1(30),Period(20),Dv(1.5),sig(5); var : S1(0),D1(0),TM(0),TF(0); var : cnt(0),SumSqrt1(0),Stdv1(0),SumSqrt2(0),Stdv2(0); var : sum1(0),sum2(0),BBmd1(0),bbmd2(0),hv1(0),hv3(0),lv1(0),lv3(0); var : cum1(0),cum2(0),avg1(0),avg2(0); Array : hh[100](0),ll[100](0),hv2[100](0),lv2[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 = TM%Atime1; if Bdate != Bdate[1] or (Bdate == Bdate[1] and Atime1 <= 1 and TF > TF[1]) or (Bdate == Bdate[1] and Atime1 > 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]; hv2[cnt] = hv2[cnt-1][1]; lv2[cnt] = lv2[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 { sum1 = 0; sum2 = 0; for cnt = 0 to Period-1 { sum1 = sum1 + hh[cnt]; sum2 = sum2 + ll[cnt]; } BBmd1 = sum1/Period; BBmd2 = sum2/Period; SumSqrt1 = 0; SumSqrt2 = 0; For cnt = 0 To Period - 1 { SumSqrt1 = SumSqrt1 + (hh[cnt] - BBmd1)^2; SumSqrt2 = SumSqrt2 + (ll[cnt] - BBmd2)^2; } Stdv1 = SquareRoot(SumSqrt1 / Period); Stdv2 = SquareRoot(SumSqrt2 / Period); hv1 = bbmd1 + stdv1*Dv; hv2[0] = (hh[0]-hv1)/hh[0]; lv1 = bbmd2 - stdv2*Dv; lv2[0] = (ll[0]-lv1)/ll[0]; } if hh[Period+sig-1] > 0 and ll[Period+sig-1] > 0 Then { cum1 = 0; cum2 = 0; for cnt = 0 to sig-1 { cum1 = cum1 + hv2[cnt]; cum2 = cum2 + lv2[cnt]; } hv3 = cum1/sig; lv3 = cum2/sig; plot1(hv3); plot2(lv3); } } 즐거운 하루되세요 > 뮬리 님이 쓴 글입니다. > 제목 : 부탁 드립니다. > 도움 주심에 항상 감사 드립니다. 질문1,2)를 타주기(분봉용)에서 사용 토록 부탁 드립니다. 다만 이평선 작성시 참조 수식과 같이 배열 함수를(예:array:CC[50] 등) 사용하지 않고 작성이 가능 하다면 그 방법으로 부탁 드립니다. 미리 감사 드립니다. 질문1) Input : Period(20), D(1.5), sig(5); var1 = ma(H, Period) + (D * std(H, Period)); var2=(H-var1)/H; var3=ma(var2,sig); 질문2) Input : Period(20), D(1.5),sig(5); var1 = ma(L,period) - (D * std(L, Period)); var2=(L-var1)/L; var3=ma(var2,sig); 참조수식) Input:Atime1(30),Period(20); var : S1(0),D1(0),TM(0),EP(0); Var : TF1(0),idx1(0),emav1(0),Pre1(0); Ep = 2/(Period+1); 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; TF1 = TM%Atime1; if Bdate != Bdate[1] or (Bdate == Bdate[1] and Atime1 <= 1 and TF1 > TF1[1]) or (Bdate == Bdate[1] and Atime1 > 1 and TF1 < TF1[1]) Then{ idx1 = idx1+1; Pre1 = emav1[1]; } if idx1 <= 1 then emav1 = C; else emav1 = C * EP + Pre1 * (1-EP); }
프로필 이미지

뮬리

2020-06-01 15:30:03

답변 감사 드립니다. 다음과 같이 배열 변수가 사용 되었다면 Array : hh[100](0),ll[100](0),hv2[100](0),lv2[100](0); 질문1) 10분봉 차트에서 30분(Atime)보고자 한다면 period ,Dv,sig ;값은 얼마까지가 정상적으로 계산 되나요? 질문2)10분봉 차트에서 60분(Atime) 보고자 한다면 period ,Dv,sig ; 값은 얼마까지가 정상적으로 계산 되나요? > 예스스탁 님이 쓴 글입니다. > 제목 : Re : 부탁 드립니다. > 안녕하세요 예스스탁입니다. 배열변수가 사용되어야 합니다. input : Atime1(30),Period(20),Dv(1.5),sig(5); var : S1(0),D1(0),TM(0),TF(0); var : cnt(0),SumSqrt1(0),Stdv1(0),SumSqrt2(0),Stdv2(0); var : sum1(0),sum2(0),BBmd1(0),bbmd2(0),hv1(0),hv3(0),lv1(0),lv3(0); var : cum1(0),cum2(0),avg1(0),avg2(0); Array : hh[100](0),ll[100](0),hv2[100](0),lv2[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 = TM%Atime1; if Bdate != Bdate[1] or (Bdate == Bdate[1] and Atime1 <= 1 and TF > TF[1]) or (Bdate == Bdate[1] and Atime1 > 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]; hv2[cnt] = hv2[cnt-1][1]; lv2[cnt] = lv2[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 { sum1 = 0; sum2 = 0; for cnt = 0 to Period-1 { sum1 = sum1 + hh[cnt]; sum2 = sum2 + ll[cnt]; } BBmd1 = sum1/Period; BBmd2 = sum2/Period; SumSqrt1 = 0; SumSqrt2 = 0; For cnt = 0 To Period - 1 { SumSqrt1 = SumSqrt1 + (hh[cnt] - BBmd1)^2; SumSqrt2 = SumSqrt2 + (ll[cnt] - BBmd2)^2; } Stdv1 = SquareRoot(SumSqrt1 / Period); Stdv2 = SquareRoot(SumSqrt2 / Period); hv1 = bbmd1 + stdv1*Dv; hv2[0] = (hh[0]-hv1)/hh[0]; lv1 = bbmd2 - stdv2*Dv; lv2[0] = (ll[0]-lv1)/ll[0]; } if hh[Period+sig-1] > 0 and ll[Period+sig-1] > 0 Then { cum1 = 0; cum2 = 0; for cnt = 0 to sig-1 { cum1 = cum1 + hv2[cnt]; cum2 = cum2 + lv2[cnt]; } hv3 = cum1/sig; lv3 = cum2/sig; plot1(hv3); plot2(lv3); } } 즐거운 하루되세요 > 뮬리 님이 쓴 글입니다. > 제목 : 부탁 드립니다. > 도움 주심에 항상 감사 드립니다. 질문1,2)를 타주기(분봉용)에서 사용 토록 부탁 드립니다. 다만 이평선 작성시 참조 수식과 같이 배열 함수를(예:array:CC[50] 등) 사용하지 않고 작성이 가능 하다면 그 방법으로 부탁 드립니다. 미리 감사 드립니다. 질문1) Input : Period(20), D(1.5), sig(5); var1 = ma(H, Period) + (D * std(H, Period)); var2=(H-var1)/H; var3=ma(var2,sig); 질문2) Input : Period(20), D(1.5),sig(5); var1 = ma(L,period) - (D * std(L, Period)); var2=(L-var1)/L; var3=ma(var2,sig); 참조수식) Input:Atime1(30),Period(20); var : S1(0),D1(0),TM(0),EP(0); Var : TF1(0),idx1(0),emav1(0),Pre1(0); Ep = 2/(Period+1); 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; TF1 = TM%Atime1; if Bdate != Bdate[1] or (Bdate == Bdate[1] and Atime1 <= 1 and TF1 > TF1[1]) or (Bdate == Bdate[1] and Atime1 > 1 and TF1 < TF1[1]) Then{ idx1 = idx1+1; Pre1 = emav1[1]; } if idx1 <= 1 then emav1 = C; else emav1 = C * EP + Pre1 * (1-EP); }
프로필 이미지

예스스탁 예스스탁 답변

2020-06-01 15:37:54

안녕하세요 예스스탁입니다. hh[100](0),ll[100](0) 타주기 고가와 저가를 최대 100개까지 저장한다는 내용입니다. 그러므로 Period는 최대 100까지 지정할 수 있습니다. sig도 마찬가지로 최대 100까지 입니다. 필요하신 만큼 늘리시거나 줄이시면 됩니다. 늘리거나 줄이실때는 수식안에 for문도 최종값을 99에서 가감하셔야 합니다. 차트의 기간이 Period나 sig로 지정한 만큼의 데이타가 확보되지 않으면 계산이 되지 않습니다. 즐거운 하루되세요 > 뮬리 님이 쓴 글입니다. > 제목 : Re : Re : 부탁 드립니다. > 답변 감사 드립니다. 다음과 같이 배열 변수가 사용 되었다면 Array : hh[100](0),ll[100](0),hv2[100](0),lv2[100](0); 질문1) 10분봉 차트에서 30분(Atime)보고자 한다면 period ,Dv,sig ;값은 얼마까지가 정상적으로 계산 되나요? 질문2)10분봉 차트에서 60분(Atime) 보고자 한다면 period ,Dv,sig ; 값은 얼마까지가 정상적으로 계산 되나요? > 예스스탁 님이 쓴 글입니다. > 제목 : Re : 부탁 드립니다. > 안녕하세요 예스스탁입니다. 배열변수가 사용되어야 합니다. input : Atime1(30),Period(20),Dv(1.5),sig(5); var : S1(0),D1(0),TM(0),TF(0); var : cnt(0),SumSqrt1(0),Stdv1(0),SumSqrt2(0),Stdv2(0); var : sum1(0),sum2(0),BBmd1(0),bbmd2(0),hv1(0),hv3(0),lv1(0),lv3(0); var : cum1(0),cum2(0),avg1(0),avg2(0); Array : hh[100](0),ll[100](0),hv2[100](0),lv2[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 = TM%Atime1; if Bdate != Bdate[1] or (Bdate == Bdate[1] and Atime1 <= 1 and TF > TF[1]) or (Bdate == Bdate[1] and Atime1 > 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]; hv2[cnt] = hv2[cnt-1][1]; lv2[cnt] = lv2[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 { sum1 = 0; sum2 = 0; for cnt = 0 to Period-1 { sum1 = sum1 + hh[cnt]; sum2 = sum2 + ll[cnt]; } BBmd1 = sum1/Period; BBmd2 = sum2/Period; SumSqrt1 = 0; SumSqrt2 = 0; For cnt = 0 To Period - 1 { SumSqrt1 = SumSqrt1 + (hh[cnt] - BBmd1)^2; SumSqrt2 = SumSqrt2 + (ll[cnt] - BBmd2)^2; } Stdv1 = SquareRoot(SumSqrt1 / Period); Stdv2 = SquareRoot(SumSqrt2 / Period); hv1 = bbmd1 + stdv1*Dv; hv2[0] = (hh[0]-hv1)/hh[0]; lv1 = bbmd2 - stdv2*Dv; lv2[0] = (ll[0]-lv1)/ll[0]; } if hh[Period+sig-1] > 0 and ll[Period+sig-1] > 0 Then { cum1 = 0; cum2 = 0; for cnt = 0 to sig-1 { cum1 = cum1 + hv2[cnt]; cum2 = cum2 + lv2[cnt]; } hv3 = cum1/sig; lv3 = cum2/sig; plot1(hv3); plot2(lv3); } } 즐거운 하루되세요 > 뮬리 님이 쓴 글입니다. > 제목 : 부탁 드립니다. > 도움 주심에 항상 감사 드립니다. 질문1,2)를 타주기(분봉용)에서 사용 토록 부탁 드립니다. 다만 이평선 작성시 참조 수식과 같이 배열 함수를(예:array:CC[50] 등) 사용하지 않고 작성이 가능 하다면 그 방법으로 부탁 드립니다. 미리 감사 드립니다. 질문1) Input : Period(20), D(1.5), sig(5); var1 = ma(H, Period) + (D * std(H, Period)); var2=(H-var1)/H; var3=ma(var2,sig); 질문2) Input : Period(20), D(1.5),sig(5); var1 = ma(L,period) - (D * std(L, Period)); var2=(L-var1)/L; var3=ma(var2,sig); 참조수식) Input:Atime1(30),Period(20); var : S1(0),D1(0),TM(0),EP(0); Var : TF1(0),idx1(0),emav1(0),Pre1(0); Ep = 2/(Period+1); 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; TF1 = TM%Atime1; if Bdate != Bdate[1] or (Bdate == Bdate[1] and Atime1 <= 1 and TF1 > TF1[1]) or (Bdate == Bdate[1] and Atime1 > 1 and TF1 < TF1[1]) Then{ idx1 = idx1+1; Pre1 = emav1[1]; } if idx1 <= 1 then emav1 = C; else emav1 = C * EP + Pre1 * (1-EP); }