커뮤니티
지표작성 부탁드립니다.
안녕하세요. 운영자님
예스나AI 로 Fair Value Gap 과 Order Block 을 표시하는 지표를 만들었는데 차트에 적용시켜 보면 나타나지 않습니다.
검토 부탁드립니다.
// FairValueGap & OrderBlock 표시 지표
// 제목: FVG & OrderBlock
input : Lookback(50), FVGMinSize(0.5), OBStrengthThreshold(2);
Array : BoxId[50](0);
Var : i(0), j(0), k(0);
Var : fvgTop(0), fvgBottom(0), fvgHeight(0), fvgTop2(0), fvgBottom2(0), fvgH2(0);
Var : bodySize(0), avgBody(0), obTop(0), obBottom(0);
// 초기 인덱스 카운트
j = 0;
For i = 1 To Lookback
{
// Fair Value Gap (3-bar 패턴)
// 상승 FVG 조건: Low[i-1] > High[i+1]
fvgTop = Low[i-1];
fvgBottom = High[i+1];
fvgHeight = fvgTop - fvgBottom;
If fvgHeight >= FVGMinSize Then
{
BoxId[j] = Box_New(sDate[Index - i + 1], sTime[Index - i + 1], fvgTop, sDate[Index - i - 1], sTime[Index - i - 1], fvgBottom);
Box_SetColor(BoxId[j], Cyan);
j = j + 1;
if j >= 50 Then j = 0;
}
// 반대 방향 FVG (하락)
fvgTop2 = Low[i+1];
fvgBottom2 = High[i-1];
fvgH2 = fvgTop2 - fvgBottom2;
If fvgH2 >= FVGMinSize Then
{
BoxId[j] = Box_New(sDate[Index - i - 1], sTime[Index - i - 1], fvgTop2, sDate[Index - i + 1], sTime[Index - i + 1], fvgBottom2);
Box_SetColor(BoxId[j], Cyan);
j = j + 1;
if j >= 50 Then j = 0;
}
// Order Block 탐지: 현재 바디가 최근 10봉 평균 바디의 OBStrengthThreshold 배 이상이면 OB로 간주
bodySize = Abs(C[i] - O[i]);
avgBody = 0;
For k = 1 To 10
{
avgBody = avgBody + Abs(C[k] - O[k]);
}
avgBody = avgBody / 10;
If avgBody > 0 And bodySize >= avgBody * OBStrengthThreshold Then
{
obTop = Max(O[i], C[i]);
obBottom = Min(O[i], C[i]);
BoxId[j] = Box_New(sDate[Index - i], sTime[Index - i], obTop, sDate[Index - i], sTime[Index - i], obBottom);
If C[i] < O[i] Then
Box_SetColor(BoxId[j], Red);
Else
Box_SetColor(BoxId[j], Lime);
j = j + 1;
if j >= 50 Then j = 0;
}
}
// 지표용 기준선 없음, 박스만 표시
답변 1
예스스탁 예스스탁 답변
2026-03-03 14:46:06