커뮤니티

고/저점

프로필 이미지
너무조아
2026-07-20 14:16:31
64
글번호 232891
답변완료

input : L1(120),K(0);


var1 = LRL(C , L1);


var1 선의 고점과 저점의 차이가 k p 이상인경우,

var1  선의 고점에서는 매도, 저점에서는  매수 를 합니다.

청산과 진입은 동일 봉에서 동시에 실행 됩니다.


여기서 고점 이라면

var1 선 상의 최초 고점 후 다음에 나오는 저점을 말합니다.

그리고  저점 이 후  다음에 나오는 고점 을 말합니다.

말하자면 Var1 선의 포물선이 고점과 저점을 연속적으로 이어 지는 형태를 말합니다.


var1 = LRL(C,104);   

plot1(var1); 차트선(포물선)의  연속 된 고점 과 저점을 말합니다.


시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2026-07-21 15:10:07

안녕하세요 예스스탁입니다. var1값 기준 지그재그 고저점을 판단하게 작성해 드립니다. 저점에서 k값 이상 상승하면 매수, 저점에서 k값 이상 하락하면 매도입니다. input : L1(120),K(5); input : Percent(3); var : cnt(0); var : UpTrend(false),DownTrend(False),Trend(0); var : ZigZagTL(0),HTL(0),LTL(0); var : Text(0),Box(0),Grid(0); Array : HD[10](0),HT[10](0),HV[10](0); //고점 날짜, 시간, 가격 저장할 배열 Array : LD[10](0),LT[10](0),LV[10](0); //저점 날짜, 시간, 가격 저장할 배열 var1 = LRL(C , L1); if CurrentBar == 1 Then { //초기 최고값 HD[0] = sDate; HT[0] = sTime; HV[0] = var1; //초기 최저값 LD[0] = sDate; LT[0] = sTime; LV[0] = var1; } Else if CurrentBar > 1 Then { //var1가 최근 저점대비 일정%이상 상승 UpTrend = var1 >= LV[0]*(1+Percent/100); //var1가 최근 고점대비 일정%이상 하락 DownTrend = var1 <= HV[0]*(1-Percent/100); //상승추세 전환 if trend <= 0 and UpTrend == true Then { //추세구분 1 trend = 1; //과거 고점의 날짜, 시간, 값을 다음 배열방으로 이동 For cnt = 9 DownTo 1 { HD[cnt] = HD[cnt-1]; HT[cnt] = HT[cnt-1]; HV[cnt] = HV[cnt-1]; } //0번방에 날짜, 시간, 가격 저장 HD[0] = sDate; HT[0] = sTime; HV[0] = var1; //직전 저점에서 현재 고점까지 연결선 출력 ZigZagTL = TL_New(LD[0],LT[0],LV[0],HD[0],HT[0],HV[0]); //색상은 Red TL_SetColor(ZigZagTL,Red); //추세선 굵기는 1 TL_SetSize(ZigZagTL,1); } Else if trend >= 0 and DownTrend Then//하락추세 전환 { //추세구분은 -1 trend = -1; //과거 저점의 날짜, 시간, 값을 다음 배열방으로 이동 For cnt = 9 DownTo 1 { LD[cnt] = LD[cnt-1]; LT[cnt] = LT[cnt-1]; LV[cnt] = LV[cnt-1]; } //0번방에 날짜, 시간, 가격 저장 LD[0] = sDate; LT[0] = sTime; LV[0] = var1; //직전 고점에서 현재 저점까지 연결선 출력 ZigZagTL = TL_New(HD[0],HT[0],HV[0],LD[0],LT[0],LV[0]); //색상은 Blue TL_SetColor(ZigZagTL,Blue); //굴긱는 1 TL_SetSize(ZigZagTL,1); } Else { //상승구간 if trend == 1 Then { //고점이 갱신되면 if var1 > HV[0] Then { //갱신된 봉의 날짜/시간/가격으로 변경 HD[0] = sDate; HT[0] = sTime; HV[0] = var1; //지그재그 추세선의 끝점을 현재봉으로 이동 TL_SetEnd(ZigZagTL,HD[0],HT[0],HV[0]); } if HV[0] >= LV[0]+k Then Sell(); } //하락구간 if trend == -1 Then { //저점이 갱신되면 if var1 < LV[0] Then { //갱신된 봉의 날짜/시간/가격으로 변경 LD[0] = sDate; LT[0] = sTime; LV[0] = var1; //지그재그 추세선의 끝점을 현재봉으로 이동 TL_SetEnd(ZigZagTL,LD[0],LT[0],LV[0]); } if LV[0] <= HV[0]-k Then Buy(); } } } 즐거운 하루되세요