1)현재일 기준 항상 5일전 시가에 변수값(예;var1)을 0으로 리셋하는 수식 부탁드립니다.
-(5분봉기준)
if data-5 then{
var50=sdata;
var51=0;}
var51=var51+1;
이렇게 하면 날짜는 현재일 기준 5일전날짜 20231211 이렇게 정확하게 나옵니다.
그러나 봉수는 3천봉 이상 나옵니다.
5일전부터 봉수가 아니라, 왜 이렇게 나오는지요?
#현재일 기준 5일전에 변수값을 제로로 설정하고 그때부터 데이타를 합산하고 싶습니다.
답변 1
예스스탁
예스스탁 답변
2023-12-15 14:11:38
안녕하세요
예스스탁입니다.
1
수식은 차트에 적용되면 차트 첫봉부터 현재봉으로 오면서 계산합니다.
차트에서 5일전 날짜를 알기 위해서는 수식이 차트에 적용되어 오늘 봉까지 진행이 되어야 하는데
문제는 다시 5일전으로 돌아가 계산을 다시 수행해서 현재로 오게 할 수 없습니다.
랭귀지는 현재시점에서 과거로 다시돌아가 재계산을 하지 못하게 되어 있습니다.
그러므로 수식에서 5일전을 지정하기 위해서는 현재 컴퓨터의 날짜를 가져와서 이용해야 합니다.
다만 이경우는 요일함수로 파악할 수 있는 토요일과 일요일을 제외하면 따로 휴일관련된 데이터가 없어
전일이 공휴일인지 여부는 알수 없다는 문제가 있습니다.
2
날짜은 단순 8자리의 숫자입니다.
만약 오늘이 20231201이면 data-5로 계산하면 20231201-5 = 20231196이 됩니다.
날짜에서 특정숫자를 빼서 N일전 날짜를 계산하실수 없습니다.
율리우스날짜값으로 변환해서 산정하셔야 합니다.
아래식 참고하시기 바랍니다.
3
input : N(5);
var : CJD(0),ii(0),ndate(0),week(0),Tcond(False);
if Index == 1 Then
{
CJD = DateToJulian(CurrentDate);
ndate = 0;
For ii = N to 30
{
week = DayOfWeek(JulianToDate(CJD-ii));
if ndate == 0 and week >= 1 and week <= 5 Then
{
ndate = JulianToDate(CJD-ii);
}
}
}
if ndate > 0 and
Tcond == False and sDate >= ndate Then
{
Tcond = true;
Var51 = 0;
}
if Tcond == true Then
{
Var51 = Var51+1;
Plot1(Var51);
}
즐거운 하루되세요
> 좋운날 님이 쓴 글입니다.
> 제목 : 지표식 부탁드립니다.
> 1)현재일 기준 항상 5일전 시가에 변수값(예;var1)을 0으로 리셋하는 수식 부탁드립니다.
-(5분봉기준)
if data-5 then{
var50=sdata;
var51=0;}
var51=var51+1;
이렇게 하면 날짜는 현재일 기준 5일전날짜 20231211 이렇게 정확하게 나옵니다.
그러나 봉수는 3천봉 이상 나옵니다.
5일전부터 봉수가 아니라, 왜 이렇게 나오는지요?
#현재일 기준 5일전에 변수값을 제로로 설정하고 그때부터 데이타를 합산하고 싶습니다.