커뮤니티

지표수식관련해서 부탁드립니다.

프로필 이미지
파동홀릭
2019-09-17 09:20:38
167
글번호 132002
답변완료
아래 수식은 예전에 알려주신 수식입니다. 근데, 매달 잘 적용되다가 이번달은(9월) 옵션만기가 지났는데도 지표수식은 8월 수식으로 적용이 됩니다. 보통 만기가 지난 다음날부터는 새로운 지표수식이 나와야 하는데, 왜 이번달은 변화가 없는지 알려주셨으면 합니다. var : Hval(0),Lval(0),daycnt(0),LowValue(0),aaa(data2(c)),bbb(data3(c)); var1 = (o+c+l+h)/4; var2 = date - int(date/100)*100; var3 = DayOfWeek(date); #만기일이면 condition1이 true 아니면 false if var2 >= 8 and var2 <= 14 and var3 == 4 then condition1 = true; Else condition1 = false; if date != date[1] Then{ if condition1 == true and condition1[1] == False Then daycnt = 0; Else daycnt = daycnt+1; } if daycnt == 1 Then LowValue = var1;
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2019-09-17 15:19:16

안녕하세요 예스스탁입니다. 해당 수식이 매월 8일~14일 사이에 목요일을 체크하는 내용이라 만기일이 휴일이고 연휴로 그주가 끝나는 경우에는 해당 수식으로 파악이 되지 않습니다. 아래 수식으로 대체해 사용하시기 바랍니다. var : YYYY(0),MM(0); var : ThisMonth1(0),ThisMonthXdate(0); var : NextMonth1(0),NextMonthXdate(0); var : Thurs(0),cnt(0),remain(0),n(0),Xdate(0); var : daycnt(0),lowvalue(0); if index == 0 or sdate != sdate[1] Then { YYYY = Floor(sDate / 10000)*10000; MM = Floor(FracPortion(sdate/10000)*100)*100; thisMonth1 = YYYY+MM+1; if MM+100 <= 1200 Then NextMonth1 = YYYY+(MM+100)+1; Else NextMonth1 = (YYYY+10000)+100+1; Thurs = 0; for cnt = 0 to 15 { if DayOfWeek(thisMonth1+cnt) == 4 Then { Thurs = Thurs+1; if Thurs == 2 Then thisMonthXdate = thisMonth1+cnt; } } Thurs = 0; for cnt = 0 to 15 { if DayOfWeek(NextMonth1+cnt) == 4 Then { Thurs = Thurs+1; if Thurs == 2 Then NextMonthXdate = NextMonth1+cnt; } } if sdate <= thisMonthXdate Then Xdate = thisMonthXdate; Else Xdate = NextMonthXdate; if Xdate != Xdate[1] Then daycnt = 1; Else daycnt = daycnt +1; } var1 = (o+c+l+h)/4; if daycnt == 1 Then LowValue = var1; plot1(lowvalue); 즐거운 하루되세요 > 파동홀릭 님이 쓴 글입니다. > 제목 : 지표수식관련해서 부탁드립니다. > 아래 수식은 예전에 알려주신 수식입니다. 근데, 매달 잘 적용되다가 이번달은(9월) 옵션만기가 지났는데도 지표수식은 8월 수식으로 적용이 됩니다. 보통 만기가 지난 다음날부터는 새로운 지표수식이 나와야 하는데, 왜 이번달은 변화가 없는지 알려주셨으면 합니다. var : Hval(0),Lval(0),daycnt(0),LowValue(0),aaa(data2(c)),bbb(data3(c)); var1 = (o+c+l+h)/4; var2 = date - int(date/100)*100; var3 = DayOfWeek(date); #만기일이면 condition1이 true 아니면 false if var2 >= 8 and var2 <= 14 and var3 == 4 then condition1 = true; Else condition1 = false; if date != date[1] Then{ if condition1 == true and condition1[1] == False Then daycnt = 0; Else daycnt = daycnt+1; } if daycnt == 1 Then LowValue = var1;