예스스탁
예스스탁 답변
2021-01-12 13:57:03
안녕하세요
예스스탁입니다.
일반 plot은 오른쪽 연장이 되지 않습니다.
연장하려면 추세선 함수를 이용해야 하는데
추세선 함수가 봉완성시로만 동작하게 됩니다.
디마크가 당일에 전일값을 이용해 계산하므로
전일봉 완성시에 전일기준 당일값을 이용해 계산하게 작성하셔야 합니다.
var : TL1(0),TL2(0);
//----------------------------------------------------------------
//디마크(Demark)
If DayClose(1) > DayOpen(1) Then
{
value1 = (DayHigh(1)+DayLow(1)+DayClose(1)+DayHigh(1))/2-DayLow(1);
value2 = (DayHigh(1)+DayLow(1)+DayClose(1)+DayHigh(1))/2-DayHigh(1);
}
Else If DayClose(1) < DayOpen(1) Then
{
value1 = (DayHigh(1)+DayLow(1)+DayClose(1)+DayLow(1))/2-DayLow(1);
value2 = (DayHigh(1)+DayLow(1)+DayClose(1)+DayLow(1))/2-DayHigh(1);
}
Else
{
value1 = (DayHigh(1)+DayLow(1)+DayClose(1)+DayClose(1))/2-DayLow(1);
value2 = (DayHigh(1)+DayLow(1)+DayClose(1)+DayClose(1))/2-DayHigh(1);
}
//■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
Plot1(value1, "Demark상한");
Plot2(value2, "Demark하한");
//■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
if NextBarSdate != sDate Then
{
If DayClose(0) > DayOpen(0) Then
{
value3 = (DayHigh(0)+DayLow(0)+DayClose(0)+DayHigh(0))/2-DayLow(0);
value4 = (DayHigh(0)+DayLow(0)+DayClose(0)+DayHigh(0))/2-DayHigh(0);
}
Else If DayClose(0) < DayOpen(0) Then
{
value3 = (DayHigh(0)+DayLow(0)+DayClose(0)+DayLow(0))/2-DayLow(0);
value4 = (DayHigh(0)+DayLow(0)+DayClose(0)+DayLow(0))/2-DayHigh(0);
}
Else
{
value3 = (DayHigh(0)+DayLow(0)+DayClose(0)+DayClose(0))/2-DayLow(0);
value4 = (DayHigh(0)+DayLow(0)+DayClose(0)+DayClose(0))/2-DayHigh(0);
}
TL_Delete(TL1);
TL_Delete(TL2);
TL1 = TL_New(sDate,sTime,value3,NextBarSdate,NextBarStime,value3);
TL2 = TL_New(sDate,sTime,value4,NextBarSdate,NextBarStime,value4);
TL_SetColor(TL1,GREEN);
TL_SetColor(TL2,GREEN);
TL_SetSize(TL1,2); //선굵기
TL_SetSize(TL2,2); //선굵기
TL_SetExtRight(TL1,true);
TL_SetExtRight(TL2,true);
}
즐거운 하루되세요
> 여유의공간 님이 쓴 글입니다.
> 제목 : 디마크 값에 대한 일봉에서 현재봉에 수평선 그리기??
> 많은 업무에 노고가 많으십니다.
항상 진심으로 최선의 응대를 해주셔서 정말 감사합니다.
디마크 수식을 적용하면 오늘의 현재봉에도 디마크 값이 표시가 되는데요!
이렇게 오늘의 현재봉에 표시되는 디마크 값을 수평선으로 연장하려고합니다.
그런데 추세선을 이용해서 그리면 전일의 디마크 값으로 추세선이 그려집니다.
하나의 수식으로 나온 결과값 value1, value2 를 PLOT 와 TL_new 에 적용한 것인데요
PLOT 와 TL_new 함수의 특성 차이 때문인 것인지요??
디마크의 값을 오늘 현재봉에 수평선으로 연장하는 방법을 알려주시면 감사하겠습니다.
참고 차트 캡쳐하여 첨부하였는데 파란색선으로 나오게 하고 싶습니다.
감사합니다.
//■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
var : TL1(0),TL2(0);
//----------------------------------------------------------------
//디마크(Demark)
If DayClose(1) > DayOpen(1) Then
{
value1 = (DayHigh(1)+DayLow(1)+DayClose(1)+DayHigh(1))/2-DayLow(1);
value2 = (DayHigh(1)+DayLow(1)+DayClose(1)+DayHigh(1))/2-DayHigh(1);
}
Else If DayClose(1) < DayOpen(1) Then
{
value1 = (DayHigh(1)+DayLow(1)+DayClose(1)+DayLow(1))/2-DayLow(1);
value2 = (DayHigh(1)+DayLow(1)+DayClose(1)+DayLow(1))/2-DayHigh(1);
}
Else
{
value1 = (DayHigh(1)+DayLow(1)+DayClose(1)+DayClose(1))/2-DayLow(1);
value2 = (DayHigh(1)+DayLow(1)+DayClose(1)+DayClose(1))/2-DayHigh(1);
}
//■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
Plot1(value1, "Demark상한");
Plot2(value2, "Demark하한");
//■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
TL_Delete(TL1);
TL_Delete(TL2);
TL1 = TL_New(sDate,sTime,value1,NextBarSdate,NextBarStime,value1);
TL2 = TL_New(sDate,sTime,value2,NextBarSdate,NextBarStime,value2);
TL_SetColor(TL1,GREEN);
TL_SetColor(TL2,GREEN);
TL_SetSize(TL1,2); //선굵기
TL_SetSize(TL2,2); //선굵기
TL_SetExtRight(TL1,true);
TL_SetExtRight(TL2,true);
//■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■