커뮤니티
문의 드립니다
2026-03-11 15:28:14
83
글번호 231047
안녕하세요.
현재 A패턴에서 생성되는 수평선(A선)을 기준으로
재테스트(Re-test) 표시를 만들고 싶습니다.
단순히 가격이 A선 근처에 접근할 때 표시하는 것이 아니라
A선 생성
→ 가격이 일정 거리 이상 이탈
→ 다시 A선에 재접근
이 구조일 때만 재테스트 표시를 하고 싶습니다.
예스랭귀지에서 특정 가격(lvl) 기준으로
1. 가격이 일정 거리 이상 이탈했는지 기록하고
2. 이후 다시 해당 가격에 접근할 때
첫 재접근만 표시하는 구조를 구현하려면
보통 어떤 방식으로 상태를 관리하는 것이 좋을지
예시 구조나 권장 방식이 있는지 궁금합니다.
예)
flag 변수 사용
distance 체크
cross 조건 등
간단한 예제 형태라도 알려주시면 큰 도움이 될 것 같습니다.
감사합니다.
답변 1
예스스탁 예스스탁 답변
2026-03-11 17:07:42
안녕하세요
예스스탁입니다.
아래식 참고하시기 바랍니다.
A선은 임의로 지정한 값입니다.
input : 최소이탈틱(20),근접틱(5);
var : A(0),T(0),diff(0),hdiff(0),retest(False),tx(0);
var1 = ma(C,5);
var2 = ma(C,20);
//이평골드
if CrossUp(var1,Var2) Then
{
A = highest(H,5); //A선 (골드기준 5개봉 최고가)
T = 1;
}
//종가가 A선을 상향돌파하면 Hdiff, retest 초기화
if T == 1 and CrossUp(C,A) Then
{
T = 2;
Hdiff = 0;
retest = False;
}
if T == 2 and retest == False Then
{
//종가가 A선을 돌파한 이후에 차이값의 최고값 계산
diff = C-A;
if diff > hdiff Then
{
hdiff = diff;
}
//최고 차이값이 최소이탈틱이상이고 현재차이가 근접틱이내이면 출력
if hdiff >= PriceScale*최소이탈틱 and diff <= PriceScale*근접틱 Then
{
retest = true; //조건만족하면 retest는 false로 만들어 최초만 표시되게 함
tx = Text_New(sDate,sTime,h,"retest");
Text_SetStyle(tx,2,1);
}
}
즐거운 하루되세요
다음글
이전글