월물 첫주,둘째주는 2개 진입하고,,
만기주랑 만기전주는 1개 진입하고 싶습니다.
대충이라도 구분가능하면 좋을꺼같습니다.
감사합니다.
답변 1
예스스탁
예스스탁 답변
2022-05-30 10:22:54
안녕하세요
예스스탁입니다.
아래 잔존일계산하는 내용을 이용하시면 됩니다.
만기일에 0으로 끝나게 됩니다.
만기전주 월요일이 만기일기준 달력상 10일전입니다.
잔존일이 10이하이면 1개 아니면 2개로 지정하시면 됩니다.
Var : Year(0),Month(0),ndate1(0),ndate2(0);
var : cnt(0),count1(0),count2(0);
var : XD1(0),XD2(0),Xdate(0),remain(0);
Year = Floor(sDate / 10000)*10000;
month = Floor(FracPortion(sdate/10000)*100)*100;
ndate1 = year+month+1;
if Month+100 <= 1200 Then
ndate2 = year+(month+100)+1;
Else
ndate2 = (year+10000)+100+1;
count1 = 0;
count2 = 0;
for cnt = 0 to 15
{
if dayofweek(ndate1+cnt) == 4 Then
{
count1 = count1+1;
if count1 == 2 Then
{
XD1 = ndate1+cnt;
}
}
if dayofweek(ndate2+cnt) == 4 Then
{
count2 = count2+1;
if count2 == 2 Then
{
XD2 = nDate2+cnt;
}
}
}
if sDate <= XD1 Then
{
Xdate = XD1;
}
Else
{
Xdate = XD2;
}
if Xdate > 0 Then
{
remain = DateToJulian(Xdate)-DateToJulian(sDate);
}
if 매수조건 Then
{
Buy("b",OnClose,Def,IFf(remain <= 10,1,2));
}
if 매도조건 Then
{
Sell("s",OnClose,Def,IFf(remain <= 10,1,2));
}
즐거운 하루되세요
> 캣피쉬 님이 쓴 글입니다.
> 제목 : 수식 질문드립니다.
> 월물 첫주,둘째주는 2개 진입하고,,
만기주랑 만기전주는 1개 진입하고 싶습니다.
대충이라도 구분가능하면 좋을꺼같습니다.
감사합니다.