커뮤니티

수식 부탁 드립니다.

프로필 이미지
월드맨
2022-08-18 13:45:36
1764
글번호 161586
답변완료
수식 부탁드립니다. 1.당일고가 -당일저가, 당일고가 - 전일종가,당일저가- 전일종가 (3가지)를 절대값으로 바꿔서 구하고, 값을 "1위" "2위" 3위" 에 저장 하고 화면에도 표시 전일고가 -전일저가, 전일고가 - 2일전종가, 전일저가-2일전종가.. 이렇게 해서 5일간 가격 평균 구해서 화면에 표시 2.절대값으로 3가지중 가장 큰 값 하나만 "저장 하고 표시 하는 법도 부탁 합니다. 2. 5일 평균선 가격 화면에 표시 하기 3.1일전 5일선 가격, 2일전 5일선가격... 5일간 더하여 " 5평균" 에 저장 하고 값을 화면에 표시하기
지표
답변 3
프로필 이미지

예스스탁 예스스탁 답변

2022-08-18 14:29:43

안녕하세요 예스스탁입니다. 봉 옆에 값 텍스트로 출력하는 것과 평균값, 평균값+표준편차*배수, 평균값-표준편차*배수 지표가 지표로 같이 그려지게 작성해 드립니다. 지표는 필요없으시면 plot은 모두 삭제하시면 됩니다. input : N일전(1),기간(5),표준편차배수(2); var : cnt(0),sum(0),mav(0),SumSqrt(0),stdv(0); var : str(""),tx(0); var1 = abs(DayHigh-DayLow); Var2 = abs(DayHigh-DayClose(1)); Var3 = abs(DayLow-DayClose(1)); value1 = NthMaxList(1,var1,Var2,var3); value2 = NthMaxList(2,var1,Var2,var3); value3 = NthMaxList(3,var1,Var2,var3); #N일전기준 P일간 최고값 평균 sum = 0; For cnt = N일전 to N일전+기간-1 { var11 = abs(DayHigh(cnt)-DayLow(cnt)); Var12 = abs(DayHigh(cnt)-DayClose(cnt+1)); Var13 = abs(DayLow(cnt)-DayClose(cnt+1)); var14 = NthMaxList(1,var11,Var12,var13); sum = sum + var14; } mav = sum/기간; #N일전기준 P일간 최고값 표준편차 SumSqrt = 0; For cnt = N일전 To N일전+기간-1 { var11 = abs(DayHigh(cnt)-DayLow(cnt)); Var12 = abs(DayHigh(cnt)-DayClose(cnt+1)); Var13 = abs(DayLow(cnt)-DayClose(cnt+1)); var14 = NthMaxList(1,var11,Var12,var13); SumSqrt = SumSqrt + (var14 - mav)^2; } Stdv = SquareRoot(SumSqrt / 기간); str = "당일1위 : "+ NumToStr(value1,2) + NewLine + "당일2위 : "+ NumToStr(value2,2) + NewLine + "당일3위 : "+ NumToStr(value3,2)+ NewLine + "P일평균 : "+ NumToStr(mav,2)+ NewLine + "표준편차 : "+ NumToStr(Stdv,2); Text_Delete(tx); tx = Text_New(NextBarSdate,NextBarStime,NextBarOpen,str); Text_SetStyle(tx,0,1); Plot1(mav,"평균"); plot2(mav+stdv*표준편차배수,"상단"); plot3(mav-stdv*표준편차배수,"하단"); 즐거운 하루되세요 > 월드맨 님이 쓴 글입니다. > 제목 : 수식 부탁 드립니다. > 수식 부탁드립니다. 1.당일고가 -당일저가, 당일고가 - 전일종가,당일저가- 전일종가 (3가지)를 절대값으로 바꿔서 구하고, 값을 "1위" "2위" 3위" 에 저장 하고 화면에도 표시 전일고가 -전일저가, 전일고가 - 2일전종가, 전일저가-2일전종가.. 이렇게 해서 5일간 가격 평균 구해서 화면에 표시 2.절대값으로 3가지중 가장 큰 값 하나만 "저장 하고 표시 하는 법도 부탁 합니다. 2. 5일 평균선 가격 화면에 표시 하기 3.1일전 5일선 가격, 2일전 5일선가격... 5일간 더하여 " 5평균" 에 저장 하고 값을 화면에 표시하기
프로필 이미지

월드맨

2022-08-18 21:10:05

안녕하세요. 초보라서 수식 추가 문의 드립니다. 아래 조건으로 5,20,60 평균값을 구하서 화면에 표시 3개의 가격중 가장 큰가격 하나만 선택해서절대값으로 환산후 평균가격을 구하고 화면에 표시 1첫째날 조건 .당일고가 -당일저가 의 값 당일고가-전일종가 의 값 당일저가 -전일종가 의값 둘째날 조건 1일전 고가- 1일전 저가의 값 1일전 고가- 2일전 종가의 값 1일전 저가 -2일전 종가 의 값 이런 방법으로 5,20,60일 평균값을 new5 , new20 , new60 이름으로 화면에 표시 평균 가격이 숫자로 나와야 됩니다.떤 당일 고가,저가를 제외한 (1일전 고가-저가, 2일전 종가) 부터 시작 할려면 어떤것을 지워야 되는지 주석 설명 부탁 드립니다. 질문2 구해진 NEW5, NEW20, NEW60 가격을 당일 고가,저가에 연동 하여 더하거나 뺀 가격을 화면 봉(5,20,60일봉) 옆에 각각 표시하기 당일 고가에서 더하거나 뺄때 어떤 부분을 수정 해야 되는지 주석 설명좀 부탁 드립니다. 너무 초보라서 죄송 합니다.
프로필 이미지

예스스탁 예스스탁 답변

2022-08-19 10:59:49

안녕하세요 예스스탁입니다. 1 input : N일전기준(0),기간1(5),기간2(20),기간3(60); var : cnt(0),sum1(0),mav1(0),sum2(0),mav2(0),sum3(0),mav3(0); var : str(""),tx(0); sum1 = 0; sum2 = 0; sum3 = 0; For cnt = N일전기준 to N일전기준+max(기간1,기간2,기간3)-1 { var11 = abs(DayHigh(cnt)-DayLow(cnt)); Var12 = abs(DayHigh(cnt)-DayClose(cnt+1)); Var13 = abs(DayLow(cnt)-DayClose(cnt+1)); var14 = NthMaxList(1,var11,Var12,var13); if cnt < 기간1 Then sum1 = sum1 + var14; if cnt < 기간2 Then sum2 = sum2 + var14; if cnt < 기간3 Then sum3 = sum3 + var14; } mav1 = sum1/기간1; mav2 = sum2/기간2; mav3 = sum3/기간3; str = "new5 : "+ NumToStr(mav1,2) + NewLine + "new20 : "+ NumToStr(mav2,2) + NewLine + "new60 : "+ NumToStr(mav3,2)+ NewLine ; Text_Delete(tx); tx = Text_New(NextBarSdate,NextBarStime,NextBarOpen,str); Text_SetStyle(tx,0,1); Plot1(mav1,"평균1"); Plot2(mav2,"평균2"); Plot3(mav3,"평균3"); 2 input : N일전기준(0),기간1(5),기간2(20),기간3(60); var : cnt(0),sum1(0),mav1(0),sum2(0),mav2(0),sum3(0),mav3(0); var : str(""),tx(0); sum1 = 0; sum2 = 0; sum3 = 0; For cnt = N일전기준 to N일전기준+max(기간1,기간2,기간3)-1 { var11 = abs(DayHigh(cnt)-DayLow(cnt)); Var12 = abs(DayHigh(cnt)-DayClose(cnt+1)); Var13 = abs(DayLow(cnt)-DayClose(cnt+1)); var14 = NthMaxList(1,var11,Var12,var13); if cnt < 기간1 Then sum1 = sum1 + var14; if cnt < 기간2 Then sum2 = sum2 + var14; if cnt < 기간3 Then sum3 = sum3 + var14; } mav1 = sum1/기간1; mav2 = sum2/기간2; mav3 = sum3/기간3; str = "당고+new5 : "+ NumToStr(dayhigh+mav1,2) + NewLine + "당저-new5 : "+ NumToStr(DayLow+mav1,2) + NewLine + "당고+new20 : "+ NumToStr(dayhigh+mav2,2) + NewLine + "당저-new20 : "+ NumToStr(daylow-mav2,2) + NewLine + "당고+new60 : "+ NumToStr(dayhigh+mav3,2) + NewLine + "당저-new60 : "+ NumToStr(daylow-₩mav3,2)+ NewLine ; Text_Delete(tx); tx = Text_New(NextBarSdate,NextBarStime,NextBarOpen,str); Text_SetStyle(tx,0,1); Plot1(mav1,"평균1"); Plot2(mav2,"평균2"); Plot3(mav3,"평균3"); 즐거운 하루되세요 > 월드맨 님이 쓴 글입니다. > 제목 : Re : Re : 수식 부탁 드립니다. > 안녕하세요. 초보라서 수식 추가 문의 드립니다. 아래 조건으로 5,20,60 평균값을 구하서 화면에 표시 3개의 가격중 가장 큰가격 하나만 선택해서절대값으로 환산후 평균가격을 구하고 화면에 표시 1첫째날 조건 .당일고가 -당일저가 의 값 당일고가-전일종가 의 값 당일저가 -전일종가 의값 둘째날 조건 1일전 고가- 1일전 저가의 값 1일전 고가- 2일전 종가의 값 1일전 저가 -2일전 종가 의 값 이런 방법으로 5,20,60일 평균값을 new5 , new20 , new60 이름으로 화면에 표시 평균 가격이 숫자로 나와야 됩니다.떤 당일 고가,저가를 제외한 (1일전 고가-저가, 2일전 종가) 부터 시작 할려면 어떤것을 지워야 되는지 주석 설명 부탁 드립니다. 질문2 구해진 NEW5, NEW20, NEW60 가격을 당일 고가,저가에 연동 하여 더하거나 뺀 가격을 화면 봉(5,20,60일봉) 옆에 각각 표시하기 당일 고가에서 더하거나 뺄때 어떤 부분을 수정 해야 되는지 주석 설명좀 부탁 드립니다. 너무 초보라서 죄송 합니다.