1. if bdate=!bdate[1] then 과 if sdate=!sdate[1]이 무슨 차이가 있는지 궁금합니다.
둘 다 장시작후 첫봉을 의미하는거 같은데 왜 나눠서 써야하는지 모르겠습니다
2. if (sdate != sdate[1] and stime >= EndTime) or
(sdate == sdate[1] and stime >= EndTime and stime[1] < EndTime) Then
{
Tcond = False;
}
에서 sdate !=sdate[1]가 장시작 첫봉을 의미한다면 당일중에 캔들은 딱 1개에 불과할건데
왜 굳이 and stime>=endtime 이라는 수식을 추가해야는지 모르겠습니다.
stime은 장의 첫봉 시작시간이므로 8시 45분이 아닌가요?
3.
input : StartTime(100000),EndTime(140000);
var : Tcond(false),cnt(0),ii(0),sum(90),ATRV(0);
if (sdate != sdate[1] and stime >= EndTime) or
(sdate == sdate[1] and stime >= EndTime and stime[1] < EndTime) Then
{
Tcond = False;
}
if (sdate != sdate[1] and stime >= StartTime) or
(sdate == sdate[1] and stime >= StartTime and stime[1] < StartTime) Then
{
Tcond = true;
ii = 0;
sum = 0;
}
if Tcond == true Then
{
ii = ii+1;
sum = sum + H-L;
ATrv = sum/ii;
Plot1(ATRV);
}
Else
NoPlot(1);
이 식에서 외부변수를 추가해서 atr처럼 한개는 tr들의 이평선, 한개는 이평값들을 또 이평한
시그널선을 표시하게 하고 싶습니다
항상 극진히 감사드려요!
답변 1
예스스탁
예스스탁 답변
2024-03-19 11:49:06
안녕하세요
예스스탁입니다.
1
모두 장시작 첫봉을 의미합니다.
sdate는 0시 기준으로 변경되는 날짜이고
bdate는 거래소 영업일 변경기준시간으로 변경되는 날짜입니다.
국내도 영업일 변경 기준시간은 9시입니다.
다만 현재 프로그램에 야간장에 제공되는 종목이 없어 구분 없이 사용하지만
해외선물의 경우 야간장이 있어 07시, 08시와 같은 시간에 변경이 되므로
해외선물에서는 구분해서 사용해야 합니다.
2
올리신 내용은 특정시간(EndTime) 이후 첫봉을 표현하는 내용입니다.
거래가 많이 없는 종목은 지정한 시간 이후의 첫봉이
EndTime 이후에 발생할 수 있으므로 사용하는 표현입니다.
날짜변경된 첫봉의 시간이 EndTime이후이거나
날짜변경된 봉이 아니면 현재봉시간은 EndTime이후이지만 전봉은 이전이라는 표현입니다.
3
input : StartTime(100000),EndTime(140000);
input : Period(10),sig(10);
var : Tcond(false),cnt(0),ii(0),sum(90),ATRV(0),sum1(0),ATRS(0);
if (sdate != sdate[1] and stime >= EndTime) or
(sdate == sdate[1] and stime >= EndTime and stime[1] < EndTime) Then
{
Tcond = False;
}
if (sdate != sdate[1] and stime >= StartTime) or
(sdate == sdate[1] and stime >= StartTime and stime[1] < StartTime) Then
{
Tcond = true;
ii = 0;
sum = 0;
sum1 = 0;
}
if Tcond == true Then
{
ii = ii+1;
if ii < Period Then
{
sum = sum + H-L;
ATRV = sum/ii;
}
Else
{
sum = AccumN(H-L,Period);
ATRV = sum/Period;
}
if ii < sig Then
{
sum1 = sum1 + ATRV;
ATRS = sum1/ii;
}
Else
{
sum1 = AccumN(ATRV,sig);
ATRS = sum1/sig;
}
Plot1(ATRV);
plot2(ATRS);
}
Else
{
NoPlot(1);
NoPlot(2);
}
즐거운 하루되세요
> 돈을잃자 님이 쓴 글입니다.
> 제목 : 안녕하세요
> 1. if bdate=!bdate[1] then 과 if sdate=!sdate[1]이 무슨 차이가 있는지 궁금합니다.
둘 다 장시작후 첫봉을 의미하는거 같은데 왜 나눠서 써야하는지 모르겠습니다
2. if (sdate != sdate[1] and stime >= EndTime) or
(sdate == sdate[1] and stime >= EndTime and stime[1] < EndTime) Then
{
Tcond = False;
}
에서 sdate !=sdate[1]가 장시작 첫봉을 의미한다면 당일중에 캔들은 딱 1개에 불과할건데
왜 굳이 and stime>=endtime 이라는 수식을 추가해야는지 모르겠습니다.
stime은 장의 첫봉 시작시간이므로 8시 45분이 아닌가요?
3.
input : StartTime(100000),EndTime(140000);
var : Tcond(false),cnt(0),ii(0),sum(90),ATRV(0);
if (sdate != sdate[1] and stime >= EndTime) or
(sdate == sdate[1] and stime >= EndTime and stime[1] < EndTime) Then
{
Tcond = False;
}
if (sdate != sdate[1] and stime >= StartTime) or
(sdate == sdate[1] and stime >= StartTime and stime[1] < StartTime) Then
{
Tcond = true;
ii = 0;
sum = 0;
}
if Tcond == true Then
{
ii = ii+1;
sum = sum + H-L;
ATrv = sum/ii;
Plot1(ATRV);
}
Else
NoPlot(1);
이 식에서 외부변수를 추가해서 atr처럼 한개는 tr들의 이평선, 한개는 이평값들을 또 이평한
시그널선을 표시하게 하고 싶습니다
항상 극진히 감사드려요!