커뮤니티

지표식 문의 드립니다.

프로필 이미지
하루삼프로
2026-07-31 18:07:24
91
글번호 233071
답변완료

안녕하세요... 더운 날씨에  수고가 많으십니다..


아래 수식은 봉 확정후 조건 만족시에 Plot1 이 그려 집니다

차트를 보면 과거의 조건 만족한 확정된 봉들에 Plot1 이 그려지고 ,

현재 진행 중인 봉에 조건이 만족할때 Plot1 이 그려 졌다 , 불만족시 없어졌다 하는걸 볼수 있습니다. 이후 봉이 확정 이 되면 Plot1의 존재 유무가 확정 됩니다.


위의 조건들을 아래로 수정 하고 싶습니다.. (수정하는 차트 역시 육안으로는 수정 전이나 수정 후나 Plot1의 표기는 일치 하겟죠.)

1.현재 진행 중인 봉에 조건이 만족할때 Plot1 이 그려 지는 순간을 지표식 으로 작성 부탁 드립니다.

작성된 지표식은 스팟에서 차트불러와서 사용 하고자 함이므로

과거에 형성된 Plot1 은 스팟에서 읽지 못하게 하고 오로지 현재 진행중인 봉에서만 Plot1 을 처리하는 방법이 지표식에서 가능 할까요?


항상 감사 드리면서   더운 날씨에  건강 유념 하시길 바랍니다.

도움 부탁 드리겠습니다..



input : n(변수),x(변수);


var : idx(0),hh(0),ll(0),dd(0),tt(0);

var : tl1(0),tl2(0),tl3(0),tl4(0);

var : SignalPrice(0);


var1 = highest(H,n);

var2 = lowest(L,n);


Condition1 = C <= var1[1] and C >= var2[1];


if Condition1 == true and Condition1[1] == false Then

{

    idx = 0;

    hh = c;

    ll = c;

    dd = sdate;

    tt = stime;

}


if Condition1 == true Then

{

    idx = idx+1;


    if c > hh Then

        hh = c;


    if c < ll Then

        ll = c;


    if idx == x Then

    {

        Var99 = hh;

    }


    if idx > x Then

    {

        Var99 = hh;

        value1 = HH;

        value2 = LL;

    }

}


{

}


{

}


if sdate >= 시작일 and

   V >= V[1] * 10 and

   CrossUp(C, Var99) Then

{

    SignalPrice = Var99;

}



Plot1(SignalPrice);



지표
답변 3
프로필 이미지

예스스탁 예스스탁 답변

2026-08-03 09:06:18

안녕하세요 예스스탁입니다. if LastBarOnChart == 1 Then Plot1(SignalPrice); LastBarOnChart가 차트 마지막봉 여부를 리턴하는 함수입니다. 마지막봉이면 1이 리턴됩니다. 위와 같이 plot에 조건을 지정하면 항상 마지막봉에서만 그려집니다. input : n(변수),x(변수); var : idx(0),hh(0),ll(0),dd(0),tt(0); var : tl1(0),tl2(0),tl3(0),tl4(0); var : SignalPrice(0); var1 = highest(H,n); var2 = lowest(L,n); Condition1 = C <= var1[1] and C >= var2[1]; if Condition1 == true and Condition1[1] == false Then { idx = 0; hh = c; ll = c; dd = sdate; tt = stime; } if Condition1 == true Then { idx = idx+1; if c > hh Then hh = c; if c < ll Then ll = c; if idx == x Then { Var99 = hh; } if idx > x Then { Var99 = hh; value1 = HH; value2 = LL; } } { } { } if sdate >= 시작일 and V >= V[1] * 10 and CrossUp(C, Var99) Then { SignalPrice = Var99; } if LastBarOnChart == 1 Then Plot1(SignalPrice); 즐거운 하루되세요
프로필 이미지

하루삼프로

2026-08-03 12:26:16

안녕하세요 항상 감사 드립니다..

해당 코드를 넣고 차트 가로선을 관찰 하였으나 1봉전 음봉에서 생성 되고 없어지고 그다음 봉 0봉도 음봉인데 가로선이 생성 됩니다.. 수정 할 방법이 있을까요?
프로필 이미지

예스스탁 예스스탁 답변

2026-08-03 13:05:40

안녕하세요 예스스탁입니다. if sdate >= 시작일 and V >= V[1] * 10 and CrossUp(C, Var99) Then 차트 마지막봉에서 위 조건일 때만 발생을 원하시면 아래와 같이 수정하시면 됩니다. if sdate >= 시작일 and V >= V[1] * 10 and CrossUp(C, Var99) Then { SignalPrice = Var99; if LastBarOnChart == 1 Then Plot1(SignalPrice); } 즐거운 하루되세요