커뮤니티

수식 정리..부탁드립니다.

프로필 이미지
깨구리
2025-07-25 00:02:25
169
글번호 192728
답변완료
아래 박스(중간값)이 검색결과 맞지 않는듯 합니다.. 박스 중간값 정리 부탁드립니다. C 가 박스상단선을 crossup OR 중간박스선 을 crossup하고 박스상단선에 3% 근접 하는 검색식 도 부탁드립니다. 더운데 수고하십시요..^^ input : Period(20); var : LT(0),HT(0),TOP(0),BTM(0),박스중간(0); var : idx1(-1),Box1(false),NewH(0); var : idx2(-1),Box2(false),NewL(0); LT = Lowest(L,Period); HT = Highest(H,Period); // TOP if H > HT[1] Then { NewH = H; idx1 = 0; } Else idx1 = idx1+1; BOX1 = Highest(H,Period-2) < Highest(H,Period-1); if idx1 != -1 and idx1 == Period-2 and Box1 == true Then { TOP = NewH; } //BTM if L < LT[1] Then { NewL = L; idx2 = 0; } Else idx2 = idx2+1; BOX2 = Lowest(L,Period-2) > Lowest(L,Period-1); if idx2 != -1 and idx2 == Period-2 and Box2 == true Then { BTM= NewL; } // // // 박스중간값?? 박스중간 = (TOP+BTM)/2 ???????????????????? If CrossUP(C,TOP) OR CrossUP(C,박스중간) // TOP 에 3%내 근접 Then Find(1);
검색
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2025-07-25 10:18:48

안녕하세요 예스스탁입니다. 박스중간값 계산식에는 문제가 없습니다. 다만 TOP이나 BTM 모두 1번이상 발생된 상황에서 중간값이 계산되어야 하므로 if TOP > 0 and BTM > 0 Then 조건을 추가해 드립니다. input : Period(20); var : LT(0),HT(0),TOP(0),BTM(0),박스중간(0); var : idx1(-1),Box1(false),NewH(0); var : idx2(-1),Box2(false),NewL(0); LT = Lowest(L,Period); HT = Highest(H,Period); // TOP if H > HT[1] Then { NewH = H; idx1 = 0; } Else idx1 = idx1+1; BOX1 = Highest(H,Period-2) < Highest(H,Period-1); if idx1 != -1 and idx1 == Period-2 and Box1 == true Then { TOP = NewH; } //BTM if L < LT[1] Then { NewL = L; idx2 = 0; } Else idx2 = idx2+1; BOX2 = Lowest(L,Period-2) > Lowest(L,Period-1); if idx2 != -1 and idx2 == Period-2 and Box2 == true Then { BTM= NewL; } if TOP > 0 and BTM > 0 Then 박스중간 = (TOP+BTM)/2; If CrossUP(C,TOP) OR CrossUP(C,박스중간) or (C <= TOP and c >= TOP*0.97) Then Find(1); 즐거운 하루되세요 > 깨구리 님이 쓴 글입니다. > 제목 : 수식 정리..부탁드립니다. > 아래 박스(중간값)이 검색결과 맞지 않는듯 합니다.. 박스 중간값 정리 부탁드립니다. C 가 박스상단선을 crossup OR 중간박스선 을 crossup하고 박스상단선에 3% 근접 하는 검색식 도 부탁드립니다. 더운데 수고하십시요..^^ input : Period(20); var : LT(0),HT(0),TOP(0),BTM(0),박스중간(0); var : idx1(-1),Box1(false),NewH(0); var : idx2(-1),Box2(false),NewL(0); LT = Lowest(L,Period); HT = Highest(H,Period); // TOP if H > HT[1] Then { NewH = H; idx1 = 0; } Else idx1 = idx1+1; BOX1 = Highest(H,Period-2) < Highest(H,Period-1); if idx1 != -1 and idx1 == Period-2 and Box1 == true Then { TOP = NewH; } //BTM if L < LT[1] Then { NewL = L; idx2 = 0; } Else idx2 = idx2+1; BOX2 = Lowest(L,Period-2) > Lowest(L,Period-1); if idx2 != -1 and idx2 == Period-2 and Box2 == true Then { BTM= NewL; } // // // 박스중간값?? 박스중간 = (TOP+BTM)/2 ???????????????????? If CrossUP(C,TOP) OR CrossUP(C,박스중간) // TOP 에 3%내 근접 Then Find(1);