커뮤니티

수식 문의 드립니다.

프로필 이미지
김예스
2021-12-31 20:00:17
726
글번호 155009
답변완료
안녕하세요, 도움 많이 받고 있습니다. 감사합니다. 10개의 지수이평선 배열에서 두번째 높은값의 이평선이 가장 높은 값의 이평선을 crossup할때 매수진입, 두번째 낮은값의 이평선이 가장 낮은값의 이평선을 crossdown할때 매도진입 시키고싶습니다. 지수이평선 10개의 기간은 input으로 5,10,20,40,60,80,100,120,160,200으로 입력시키고자 합니다. 수식 부탁드립니다. 늘 감사드립니다.
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2022-01-03 13:34:00

안녕하세요 예스스탁입니다. input : P1(5),P2(10),P3(20),P4(40),P5(60),P6(80),P7(100),P8(120),P9(160),P10(200); var : cnt(0),maxv1(0),maxp1(0),minv1(0),minp1(0); var : maxv2(0),maxp2(0),minv2(0),minp2(0); Array : Emav[11](0); Emav[1] = Ema(C,P1); Emav[2] = Ema(C,P2); Emav[3] = Ema(C,P3); Emav[4] = Ema(C,P4); Emav[5] = Ema(C,P5); Emav[6] = Ema(C,P6); Emav[7] = Ema(C,P7); Emav[8] = Ema(C,P8); Emav[9] = Ema(C,P9); Emav[10] = Ema(C,P10); maxv1 = 0; maxp1 = 0; minv1 = 0; minp1 = 0; For cnt = 1 to 10 { if maxv1 == 0 or (maxv1 > 0 and Emav[cnt] > maxv1) Then { maxv1 = Emav[cnt]; maxp1 = cnt; } if minv1 == 0 or (minv1 > 0 and Emav[cnt] < minv1) Then { minv1 = Emav[cnt]; minp1 = cnt; } } maxv2 = 0; maxp2 = 0; minv2 = 0; minp2 = 0; For cnt = 1 to 10 { if Emav[cnt] < maxv1 and (maxv2 == 0 or (maxv2 > 0 and Emav[cnt] > maxv2)) Then { maxv2 = Emav[cnt]; maxp2 = cnt; } if Emav[cnt] > minv1 and (minv2 == 0 or (minv2 > 0 and Emav[cnt] < minv2)) Then { minv2 = Emav[cnt]; minp2 = cnt; } } if maxp1 == maxp2[1] Then Buy(); if minp1 == minp2[1] Then Sell(); 즐거운 하루되세요 > 김예스 님이 쓴 글입니다. > 제목 : 수식 문의 드립니다. > 안녕하세요, 도움 많이 받고 있습니다. 감사합니다. 10개의 지수이평선 배열에서 두번째 높은값의 이평선이 가장 높은 값의 이평선을 crossup할때 매수진입, 두번째 낮은값의 이평선이 가장 낮은값의 이평선을 crossdown할때 매도진입 시키고싶습니다. 지수이평선 10개의 기간은 input으로 5,10,20,40,60,80,100,120,160,200으로 입력시키고자 합니다. 수식 부탁드립니다. 늘 감사드립니다.