예스스탁
예스스탁 답변
2024-12-27 13:29:56
안녕하세요
예스스탁입니다.
올리신 내용을 구현하려면
첨부하신 그림과 같이 지그재그 내용이 필요합니다.
해당 내용이 있어야 고저점을 판단해 수평선을 그릴수 있습니다.
아래 임으로 만든 당일지그재그 식을 기준으로 작성한 내용입니다.
참고하셔서 수정보완해 사용하시기 바랍니다.
input : 변화폭(0.25);
Array : HD[10](0),HT[10](0),HV[10](0),HI[10](0);
Array : LD[10](0),LT[10](0),LV[10](0),LI[10](0);
var : cnt(0),Hprice(0),Lprice(0);
var : UpTrend(false),DownTrend(False),Trend(0);
var : ZigZagTL(0),TL1(0),TL2(0);
HPrice = H;
LPrice = L;
if Index == 0 or Bdate != Bdate[1] Then
{
HD[0] = sDate;
HT[0] = sTime;
HV[0] = HPrice;
LD[0] = sDate;
LT[0] = sTime;
LV[0] = LPrice;
trend = 0;
}
Else
{
UpTrend = HPrice >= LV[0]+변화폭;
DownTrend = LPrice <= HV[0]-변화폭;
if trend <= 0 and UpTrend == true Then
{
trend = 1;
For cnt = 9 DownTo 1
{
HD[cnt] = HD[cnt-1];
HT[cnt] = HT[cnt-1];
HV[cnt] = HV[cnt-1];
HI[cnt] = HI[cnt-1];
}
HD[0] = sDate;
HT[0] = sTime;
HV[0] = HPrice;
HI[0] = Index;
ZigZagTL = TL_New(LD[0],LT[0],LV[0],HD[0],HT[0],HV[0]);
TL_SetColor(ZigZagTL,Red);
TL_SetSize(ZigZagTL,1);
Condition1 = False;
}
Else if trend >= 0 and DownTrend Then
{
trend = -1;
For cnt = 9 DownTo 1
{
LD[cnt] = LD[cnt-1];
LT[cnt] = LT[cnt-1];
LV[cnt] = LV[cnt-1];
LI[cnt] = LI[cnt-1];
}
LD[0] = sDate;
LT[0] = sTime;
LV[0] = LPrice;
LI[0] = Index;
ZigZagTL = TL_New(HD[0],HT[0],HV[0],LD[0],LT[0],LV[0]);
TL_SetColor(ZigZagTL,Blue);
TL_SetSize(ZigZagTL,1);
Condition2 = False;
}
Else
{
if trend == 1 Then
{
if HPrice > HV[0] Then
{
HD[0] = sDate;
HT[0] = sTime;
HV[0] = HPrice;
HI[0] = Index;
TL_SetEnd(ZigZagTL,HD[0],HT[0],HV[0]);
}
if Condition1 == False and
HD[1] == sDate and
LD[1] == sDate and
LV[0] > LV[1] and
LV[0] <= HV[1]-0.50 and
HV[0] > HV[1] Then
{
Condition1 = true;
var1 = LV[0];
Value1 = LI[0];
TL1 = TL_New(LD[0],LT[0],var1,sDate,sTime,var1);
TL_SetColor(TL1,blue);
TL_SetSize(TL1,1);
}
}
if trend == -1 Then
{
if LPrice < LV[0] Then
{
LD[0] = sDate;
LT[0] = sTime;
LV[0] = LPrice;
LI[0] = Index;
TL_SetEnd(ZigZagTL,LD[0],LT[0],LV[0]);
}
if Condition2 == False and
HD[1] == sDate and
LD[1] == sDate and
HV[0] < HV[1] and
HV[0] >= LV[1]+0.5 and
LV[0] < LV[1] Then
{
Condition2 = true;
var2 = HV[0];
Value2 = HI[0];
TL2 = TL_New(HD[0],HT[0],var2,sDate,sTime,var2);
TL_SetColor(TL2,Red);
TL_SetSize(TL2,1);
}
}
}
}
if Value1 > 0 and Index <= Value1+100 Then
TL_SetEnd(TL1,sDate,sTime,var1);
if Value2 > 0 and Index <= Value2+100 Then
TL_SetEnd(TL2,sDate,sTime,var2);
즐거운 하루되세요
> land22 님이 쓴 글입니다.
> 제목 : 문의드립니다.
> 안녕하세요.
선물 1분봉 차트에서
위 그림의 조건 만족하면
1. 반등고점 빨강선을 100봉 동안 출력
2. 조정저점 파랑선을 100봉 동안 출력
수고하세요.