커뮤니티

추세선 전저

프로필 이미지
고성
2025-12-23 07:19:35
99
글번호 229278
답변완료

박스 하단 부분을 가로선으로 표시.  (전저 -0.5 에 가로선)

For j = 0 To 19 이 수식은 어떤 용도이며, 꼭 필요한가요? 감사합니다.


input : Period(10);

Var:j(0),T(0),TL(0),box1(0),box2(0);

Var: date11(0),date12(0),time11(0),time12(0),

date21(0),date22(0),time21(0),time22(0);

Array: HiVal[20](0),LoVal[20](0),HiBar[20](0),LoBar[20](0);

Plot1(value12,"value12",IFf(t==1,Red,Blue));

For j = 0 To 19

{

HiBar[j] = HiBar[j] + 1;

LoBar[j] = LoBar[j] + 1;

}

if crossup(H,highest(H,Period)[1]) and (T == 0 or (T==-1 and H >= Loval[0]+0.8)) Then

T = 1;

if CrossDown(L,Lowest(L,Period)[1]) and (T == 0 or (T==1 and L <= Hival[0]-0.8)) Then

T = -1;

If T == -1 Then

{

If T[1] != -1 Then

{

For j = 18 DownTo 0

{

LoVal[j+1] = LoVal[j];

LoBar[j+1] = LoBar[j];

}

LoVal[0] = L;

LoBar[0] = 0;

date11 = date[HiBar[0]];

time11 = stime[HiBar[0]];

Value11 = HiVal[0];

date12 = date[LoBar[0]];

time12 = stime[LoBar[0]];

Value12 = LoVal[0];

box1 = Box_New(sdate,stime,LoVal[0]-0.25,NextBarSdate,NextBarStime,LoVal[0]-0.50);

Box_SetColor(box1,Yellow);

Box_SetFill(box1,true,90);

box2 = box1[1];

Box_SetEnd(box2,Sdate,Stime,LoVal[1]-0.50);

}

If LoVal[0] > L Then

{

LoVal[0] = L;

LoBar[0] = 0;

date12 = date[LoBar[0]];

time12 = stime[LoBar[0]];

Value12 = LoVal[0];

Box_SetBegin(box1,sDate,sTime,LoVal[0]-0.25);

Box_SetEnd(box2,Sdate,Stime,LoVal[1]-0.50);

}

}

Box_SetEnd(box1,NextBarSdate,NextBarStime,LoVal[0]-0.50);

If T == 1 Then

{

If T[1] != 1 Then

{

For j = 18 DownTo 0

{

HiVal[j+1] = HiVal[j];

HiBar[j+1] = HiBar[j];

}

HiVal[0] = H;

HiBar[0] = 0;

date11 = date[LoBar[0]];

time11 = stime[LoBar[0]];

Value11 = LoVal[0];

date12 = date[HiBar[0]];

time12 = stime[HiBar[0]];

Value12 = HiVal[0];

}

If HiVal[0] < H Then

{

HiVal[0] = H;

HiBar[0] = 0;

date12 = date[HiBar[0]];

time12 = stime[HiBar[0]];

Value12 = HiVal[0];

}

}



지표
답변 4
프로필 이미지

예스스탁 예스스탁 답변

2025-12-23 13:23:22

안녕하세요 예스스탁입니다. For j = 0 To 19 부분은 필요한 부분입니다. 고저점 발생후 봉갯수 카운트 하는 내용입니다. input : Period(10); Var:j(0),T(0),TL(0),box1(0),box2(0),TL1(0),TL2(0); Var: date11(0),date12(0),time11(0),time12(0), date21(0),date22(0),time21(0),time22(0); Array: HiVal[20](0),LoVal[20](0),HiBar[20](0),LoBar[20](0); Plot1(value12,"value12",IFf(t==1,Red,Blue)); For j = 0 To 19 { HiBar[j] = HiBar[j] + 1; LoBar[j] = LoBar[j] + 1; } if crossup(H,highest(H,Period)[1]) and (T == 0 or (T==-1 and H >= Loval[0]+0.8)) Then T = 1; if CrossDown(L,Lowest(L,Period)[1]) and (T == 0 or (T==1 and L <= Hival[0]-0.8)) Then T = -1; If T == -1 Then { If T[1] != -1 Then { For j = 18 DownTo 0 { LoVal[j+1] = LoVal[j]; LoBar[j+1] = LoBar[j]; } LoVal[0] = L; LoBar[0] = 0; date11 = date[HiBar[0]]; time11 = stime[HiBar[0]]; Value11 = HiVal[0]; date12 = date[LoBar[0]]; time12 = stime[LoBar[0]]; Value12 = LoVal[0]; box1 = Box_New(sdate,stime,LoVal[0]-0.25,NextBarSdate,NextBarStime,LoVal[0]-0.50); Box_SetColor(box1,Yellow); Box_SetFill(box1,true,90); box2 = box1[1]; Box_SetEnd(box2,Sdate,Stime,LoVal[1]-0.50); TL1 = TL_New(sdate,stime,LoVal[0]-0.25,NextBarSdate,NextBarStime,LoVal[0]-0.50); TL2 = TL1[1]; } If LoVal[0] > L Then { LoVal[0] = L; LoBar[0] = 0; date12 = date[LoBar[0]]; time12 = stime[LoBar[0]]; Value12 = LoVal[0]; Box_SetBegin(box1,sDate,sTime,LoVal[0]-0.25); Box_SetEnd(box2,Sdate,Stime,LoVal[1]-0.50); TL_SetBegin(TL1,sDate,sTime,LoVal[0]-0.50); TL_SetBegin(TL2,sDate,sTime,LoVal[1]-0.50); } } Box_SetEnd(box1,NextBarSdate,NextBarStime,LoVal[0]-0.50); TL_SetEnd(TL1,sdate,stime,LoVal[0]-0.50); If T == 1 Then { If T[1] != 1 Then { For j = 18 DownTo 0 { HiVal[j+1] = HiVal[j]; HiBar[j+1] = HiBar[j]; } HiVal[0] = H; HiBar[0] = 0; date11 = date[LoBar[0]]; time11 = stime[LoBar[0]]; Value11 = LoVal[0]; date12 = date[HiBar[0]]; time12 = stime[HiBar[0]]; Value12 = HiVal[0]; } If HiVal[0] < H Then { HiVal[0] = H; HiBar[0] = 0; date12 = date[HiBar[0]]; time12 = stime[HiBar[0]]; Value12 = HiVal[0]; } } 즐거운 하루되세요
프로필 이미지

고성

2025-12-23 13:35:23

하단선의 시작점이 박스와 불일치합니다.
프로필 이미지

고성

2025-12-23 13:35:54

고성 님에 의해 삭제된 답변입니다.
프로필 이미지

예스스탁 예스스탁 답변

2025-12-23 13:44:24

안녕하세요 예스스탁입니다. 식을 수정했습니다. input : Period(10); Var:j(0),T(0),TL(0),box1(0),box2(0),TL1(0),TL2(0); Var: date11(0),date12(0),time11(0),time12(0), date21(0),date22(0),time21(0),time22(0); Array: HiVal[20](0),LoVal[20](0),HiBar[20](0),LoBar[20](0); Plot1(value12,"value12",IFf(t==1,Red,Blue)); For j = 0 To 19 { HiBar[j] = HiBar[j] + 1; LoBar[j] = LoBar[j] + 1; } if crossup(H,highest(H,Period)[1]) and (T == 0 or (T==-1 and H >= Loval[0]+0.8)) Then T = 1; if CrossDown(L,Lowest(L,Period)[1]) and (T == 0 or (T==1 and L <= Hival[0]-0.8)) Then T = -1; If T == -1 Then { If T[1] != -1 Then { For j = 18 DownTo 0 { LoVal[j+1] = LoVal[j]; LoBar[j+1] = LoBar[j]; } LoVal[0] = L; LoBar[0] = 0; date11 = date[HiBar[0]]; time11 = stime[HiBar[0]]; Value11 = HiVal[0]; date12 = date[LoBar[0]]; time12 = stime[LoBar[0]]; Value12 = LoVal[0]; box1 = Box_New(sdate,stime,LoVal[0]-0.25,NextBarSdate,NextBarStime,LoVal[0]-0.50); Box_SetColor(box1,Yellow); Box_SetFill(box1,true,90); box2 = box1[1]; Box_SetEnd(box2,Sdate,Stime,LoVal[1]-0.50); TL1 = TL_New(sdate,stime,LoVal[0]-0.50,NextBarSdate,NextBarStime,LoVal[0]-0.50); TL2 = TL1[1]; TL_SetEnd(TL2,sdate,stime,LoVal[1]-0.50); } If LoVal[0] > L Then { LoVal[0] = L; LoBar[0] = 0; date12 = date[LoBar[0]]; time12 = stime[LoBar[0]]; Value12 = LoVal[0]; Box_SetBegin(box1,sDate,sTime,LoVal[0]-0.25); Box_SetEnd(box2,Sdate,Stime,LoVal[1]-0.50); TL_SetBegin(TL1,sDate,sTime,LoVal[0]-0.50); TL_Setend(TL2,sDate,sTime,LoVal[1]-0.50); } } Box_SetEnd(box1,NextBarSdate,NextBarStime,LoVal[0]-0.50); TL_SetEnd(TL1,NextBarSdate,NextBarStime,LoVal[0]-0.50); If T == 1 Then { If T[1] != 1 Then { For j = 18 DownTo 0 { HiVal[j+1] = HiVal[j]; HiBar[j+1] = HiBar[j]; } HiVal[0] = H; HiBar[0] = 0; date11 = date[LoBar[0]]; time11 = stime[LoBar[0]]; Value11 = LoVal[0]; date12 = date[HiBar[0]]; time12 = stime[HiBar[0]]; Value12 = HiVal[0]; } If HiVal[0] < H Then { HiVal[0] = H; HiBar[0] = 0; date12 = date[HiBar[0]]; time12 = stime[HiBar[0]]; Value12 = HiVal[0]; } } 즐거운 하루되세요