커뮤니티

수식 문의

프로필 이미지
회원
2005-08-10 02:33:28
1182
글번호 7962
답변완료
수고가 많으십니다. 수식 작성에 애로가 있어 문의드립니다. 1. 5개 데이터를 큰 값 순서별로 찾아내는 방법 5개의 데이터중에서 값이 큰 순으로 찾아내는 방법 예) V1(80), V2(85), V3(90), V4(87), V5(75) 의 경우 MAX1 = V3 MAX2 = V4 MAX3 = V2 MAX4 = V1 MAX5 = V5 의 형태로 찾는 수식이며, 이때 데이터 값중에서 동일한 값이 있을 경우 에는 동일 순위에 처리(한 값에 데이터가 두개),,,, 2. 아래 수식을 적용하면 값이 나오지 않습니다. 수식에 대하여 수정을 부탁드립니다. 수식작성 개요 : 1. 5이평선이 10이평선을 골드발생하면 진행봉수를 계산한다. 2. 골드상태에서 데드로 전환후 다시 골드로 진행된 경우에 직전 데드의 진행 봉수가 일정수 이하인 경우에는 직전 골드의 진행봉수와 데드 진행봉수를 합산하여 현재 골드 진행봉수에 합산하여 진행봉수를 계산함 --- 기존 방향을 존중하는 이부분이 계산이 되지 않습니다 3. 데드상태는 골드상태의 역으로 계산 수식 : Input : P1(5), P2(10), Len(20); var : MA1(0), MA2(0), MPos(0), UpCnt(0), UpN(0), DownCnt(0), DownN(0), a(0); MA1 = ma(C, P1); MA2 = ma(C, P2); if crossup(MA1, MA2) then Mpos = 1; else if crossdwom(MA1, MA2) then Mpos = -1; if Bpos = 1 then { DownCnt = 0; DownN = 0; UpCnt = UpCnt + 1; if UpCnt == 1 and DownCnt[1] <= Len then { a = DownCnt[1] + 1; UpN = UpCnt[a] + DownCnt[1]; UpCnt = UpN + 1; } } if Bpos = -1 then { UpCnt = 0; UpN = 0; DownCnt = DownCnt + 1; if DownCnt == 1 and UpCnt[1] <= Len then { a = UpCnt[1] + 1; DownN = DownCnt[a] + UpCnt[1]; DownCnt = DownN + 1; } } plot1(UpCnt, "상승 봉수", red); plot2(DownCnt, "하락 봉수", Blue); ****골드에서 데드 전환후 다시 골드상태 전환시 이전 데드의 진행봉수가 일정수 이하인 경우 이전 골드의 진행봉수에 데드의 진행봉수를 합산하여 현재의 골드의 진행봉수를 계산하는 부분에서 적용되지 않습니다.
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2005-08-11 09:40:01

안녕하세요 예스스탁입니다. 문의하신 식은 다음과 같습니다. 1. Var : TempMax(0),nIndex1(0),nIndex2(0),MaxIndex(0); Array : value[5](0),temp[5](0); value[0] = ma(c,5); value[1] = ma(c,10); value[2] = ma(c,15); value[3] = ma(c,20); value[4] = ma(c,25); for nIndex1= 0 to 4 { TempMax = -1; For nIndex2 = 0 to 4{ if ( value[nIndex2] > TempMax ) then{ TempMax = value[nIndex2]; MaxIndex = nIndex2; } } temp[nIndex1] = TempMax; value[MaxIndex] = -1; } plot1(temp[0]); 2. Input : P1(5), P2(10), Len(20); var : MA1(0), MA2(0), MPos(0),UPcnt(0),Dncnt(0),bar(0),TotalBar(0); MA1 = ma(C, P1); MA2 = ma(C, P2); if crossup(MA1, MA2) then{ Mpos = 1; DNcnt = 0; bar = dncnt[1]; } if crossdown(MA1, MA2) then{ Mpos = -1; UPcnt = 0; bar = UPcnt[1]; } if Mpos == 1 then{ UPcnt = UPcnt+1; } if Mpos == -1 then{ Dncnt = Dncnt+1; } if bar <= len then Totalbar = bar+dncnt+upcnt; else Totalbar = dncnt+upcnt; plot1(totalbar); 즐거운 하루되세요 > CJ_emorning 님이 쓴 글입니다. > 제목 : 수식 문의 > 수고가 많으십니다. 수식 작성에 애로가 있어 문의드립니다. 1. 5개 데이터를 큰 값 순서별로 찾아내는 방법 5개의 데이터중에서 값이 큰 순으로 찾아내는 방법 예) V1(80), V2(85), V3(90), V4(87), V5(75) 의 경우 MAX1 = V3 MAX2 = V4 MAX3 = V2 MAX4 = V1 MAX5 = V5 의 형태로 찾는 수식이며, 이때 데이터 값중에서 동일한 값이 있을 경우 에는 동일 순위에 처리(한 값에 데이터가 두개),,,, 2. 아래 수식을 적용하면 값이 나오지 않습니다. 수식에 대하여 수정을 부탁드립니다. 수식작성 개요 : 1. 5이평선이 10이평선을 골드발생하면 진행봉수를 계산한다. 2. 골드상태에서 데드로 전환후 다시 골드로 진행된 경우에 직전 데드의 진행 봉수가 일정수 이하인 경우에는 직전 골드의 진행봉수와 데드 진행봉수를 합산하여 현재 골드 진행봉수에 합산하여 진행봉수를 계산함 --- 기존 방향을 존중하는 이부분이 계산이 되지 않습니다 3. 데드상태는 골드상태의 역으로 계산 수식 : Input : P1(5), P2(10), Len(20); var : MA1(0), MA2(0), MPos(0), UpCnt(0), UpN(0), DownCnt(0), DownN(0), a(0); MA1 = ma(C, P1); MA2 = ma(C, P2); if crossup(MA1, MA2) then Mpos = 1; else if crossdwom(MA1, MA2) then Mpos = -1; if Bpos = 1 then { DownCnt = 0; DownN = 0; UpCnt = UpCnt + 1; if UpCnt == 1 and DownCnt[1] <= Len then { a = DownCnt[1] + 1; UpN = UpCnt[a] + DownCnt[1]; UpCnt = UpN + 1; } } if Bpos = -1 then { UpCnt = 0; UpN = 0; DownCnt = DownCnt + 1; if DownCnt == 1 and UpCnt[1] <= Len then { a = UpCnt[1] + 1; DownN = DownCnt[a] + UpCnt[1]; DownCnt = DownN + 1; } } plot1(UpCnt, "상승 봉수", red); plot2(DownCnt, "하락 봉수", Blue); ****골드에서 데드 전환후 다시 골드상태 전환시 이전 데드의 진행봉수가 일정수 이하인 경우 이전 골드의 진행봉수에 데드의 진행봉수를 합산하여 현재의 골드의 진행봉수를 계산하는 부분에서 적용되지 않습니다.