커뮤니티

일정조건후부터 봉수 계산에서 오류

프로필 이미지
회원
2005-08-02 01:05:42
1465
글번호 7910
답변완료
일정조건(5이평선이 10이평선을 골든크로스발생시) 발생후부터 현재까지 진행된 봉수를 계산하는 수식을 만들었습니다. 반대로 5이평선이 10이평선을 데드발생 부터 현재까지 진행한 봉수를 계산합니다. 1. 첫번째 수식 input : p1(5), p2(10); var : ma1(0), ma2(0), UPBN(0), DownBN(0); MA1 = ma(C, P1); MA2 = ma(C, P2); if CrossUp(MA1, MA2) then { UPBN = 1; } if CrossDown(MA1, MA2) then { DownBN = 1; } if MA1 >= MA2 then UpBN = UPBN + 1 ; else if MA1 < MA2 then DownBN = DownBN + 1; plot1(UpBN, "UP", red); plot2(DownBN, "Down", red); 2. 두번째 수식 input : p1(5), p2(10); var : ma1(0), ma2(0), UpI(0), DownI(0), UpBN(0), DownBN(0); MA1 = ma(C, P1); MA2 = ma(C, P2); if CrossUp(MA1, MA2) and UpBN == 0 then { UpI = index; DownBN = 0; } if CrossDown(MA1, MA2) and DownBN == 0 then { DownI = Index; UpBN = 0; } if MA1 >= MA2 and DownBN == 0 then UpBN = index - UpI; else if MA1 < MA2 and UpBN == 0 then DownBN = index - DownI; plot1(UpBN, "UP", red); plot2(DownBN, "Down", red); 위의 식으로 시뮬레이션(기간 20020101부터 30분봉)에 지표을 적용하였습니다. 그런데 첫번째 수식은 봉수의 값이 나타나는 구간이 있고 N/A N/A로 나타나는 구간이 있습니다. 두번째 수식은 N/A N/A로만 표시되고 봉수가 나타나지 않습니다. 무엇이 문제인지 확인 부탁드립니다.
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2005-08-02 15:56:45

안녕하세요 예스스탁입니다. 올리신 식에 문제는 없습니다. n/a는 계산할수 없는 구간으로 이평을 기간값을 가지는 지표를 사용한 경우 기간값만큼 차트상 처음에 n/a구간이 나타납나니다. 2번식을 조금 수정했습니다. input : p1(5), p2(10); var : ma1(0), ma2(0), UPBN(0), DnBN(0),UpPos(0),DnPos(0); MA1 = ma(C, P1); MA2 = ma(C, P2); if CrossUp(MA1, MA2) then{ UpPos = 1; DnPos = 0; } if CrossDown(MA1, MA2) then{ DnPos = 1; UpPos = 0; } if UPPos == 1 then UpBn = UpBn +1; else UpBn = 0; if DnPos == 1 then DnBn = DnBn +1; else DnBn = 0; plot1(UpBN, "UP", red); plot2(DnBN, "Down", Blue); 즐거운 하루되세요 > CJ_emorning 님이 쓴 글입니다. > 제목 : 일정조건후부터 봉수 계산에서 오류 > 일정조건(5이평선이 10이평선을 골든크로스발생시) 발생후부터 현재까지 진행된 봉수를 계산하는 수식을 만들었습니다. 반대로 5이평선이 10이평선을 데드발생 부터 현재까지 진행한 봉수를 계산합니다. 1. 첫번째 수식 input : p1(5), p2(10); var : ma1(0), ma2(0), UPBN(0), DownBN(0); MA1 = ma(C, P1); MA2 = ma(C, P2); if CrossUp(MA1, MA2) then { UPBN = 1; } if CrossDown(MA1, MA2) then { DownBN = 1; } if MA1 >= MA2 then UpBN = UPBN + 1 ; else if MA1 < MA2 then DownBN = DownBN + 1; plot1(UpBN, "UP", red); plot2(DownBN, "Down", red); 2. 두번째 수식 input : p1(5), p2(10); var : ma1(0), ma2(0), UpI(0), DownI(0), UpBN(0), DownBN(0); MA1 = ma(C, P1); MA2 = ma(C, P2); if CrossUp(MA1, MA2) and UpBN == 0 then { UpI = index; DownBN = 0; } if CrossDown(MA1, MA2) and DownBN == 0 then { DownI = Index; UpBN = 0; } if MA1 >= MA2 and DownBN == 0 then UpBN = index - UpI; else if MA1 < MA2 and UpBN == 0 then DownBN = index - DownI; plot1(UpBN, "UP", red); plot2(DownBN, "Down", red); 위의 식으로 시뮬레이션(기간 20020101부터 30분봉)에 지표을 적용하였습니다. 그런데 첫번째 수식은 봉수의 값이 나타나는 구간이 있고 N/A N/A로 나타나는 구간이 있습니다. 두번째 수식은 N/A N/A로만 표시되고 봉수가 나타나지 않습니다. 무엇이 문제인지 확인 부탁드립니다.