예스스탁
예스스탁 답변
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);