커뮤니티
지표구현
2012-02-02 19:02:58
463
글번호 47291
안녕하세요
옵션을 콜(data1) 풋(data2)을 교차차트로 한화면에 겹쳐서 표시하고,
지난 만기일전 12일 전부터 만기일까지의 양옵션 저가를 챠트에 지표로 구현하고 싶습니다.
{ va2 = (date - int(date/100)*100); //일
va3 = (DayOfWeek(date)); //요일
var : lowest13(0), lowest23(0),cond21(false),cond22(false);
array : ndate[200](0);
ndate[1]=20120112;ndate[2]=20120209;ndate[3]=20120315;ndate[4]=20120412;ndate[5]=20120510;
ndate[6]=20120614;ndate[7]=20120712;ndate[8]=20120809;ndate[9]=20120913;ndate[10]=20121011;
ndate[11]=20121108;ndate[12]=20121213;
for cnt = 1 to 12 {#최종값을 배열의 마지막방의 전방까지만 입력
if sdate > ndate[cnt] and sdate <= ndate[cnt+1] then
최근만기일 = ndate[cnt];
전만기범위 = JulianToDate(DateToJulian(최근만기일)-12) ;
}
if date < 전만기범위 Then
cond21 = false;
if Cond21 == false and data1(date != date[1]) and date >= 전만기범위 Then {
if data1(index==0) Then
lowest13 = data1(DayLow(1));
if data1(index>0) Then{
if data1(DayLow(1)) < lowest13 Then
lowest13 = data1(DayLow(1));
if va2 >= 8 and va2 <= 14 and va3 == 4 then
pred1 = lowest13;
cond21 = true;}
plot62(pred1,"저가1",BLUE,2);
if date < 전만기범위 Then
cond22 = false;
if Cond22 == false and data2(date != date[1]) and date >= 전만기범위 Then {
if data2(index==0) Then
lowest23 = data1(lowd(1));
if data2(index>0) Then{
if data2(lowd(1)) < lowest23 Then
lowest23 = data1(DayLow(1));
if va2 >= 8 and va2 <= 14 and va3 == 4 then
pred2 = lowest23;
cond22 = true;}
plot63(pred2,"저가2",BLUE,2);
감사합니다.
답변 1
예스스탁 예스스탁 답변
2012-02-02 19:19:24
안녕하세요
예스스탁입니다.
1, 최근만기일의 12일전 부터 최근만기일까지 data1,data2의 저가는
아래와 같이 작성하시면 됩니다.
var : D1lowest(0,data1),D2Lowest(0,data2),Month(0,data1),최근만기일(0);
array : ndate[200](0,data1);
ndate[0]=20110108;#전해 마지막 만기일
ndate[1]=20120112;ndate[2]=20120209;ndate[3]=20120315;ndate[4]=20120412;ndate[5]=20120510;
ndate[6]=20120614;ndate[7]=20120712;ndate[8]=20120809;ndate[9]=20120913;ndate[10]=20121011;
ndate[11]=20121108;ndate[12]=20121213;
Month = round(Int(FracPortion(CurrentDate/10000)*100),0);
if CurrentDate > ndate[month] Then
최근만기일 = ndate[month];
Else
최근만기일 = ndate[month-1];
if data1(DateToJulian(sdate[1]) < DateToJulian(최근만기일)-12 And DateToJulian(sdate) >= DateToJulian(최근만기일)-12) Then
D1Lowest = data1(L);
if data2(DateToJulian(sdate[1]) < DateToJulian(최근만기일)-12 And DateToJulian(sdate) >= DateToJulian(최근만기일)-12) Then
D2Lowest = data2(L);
if sdate <= 최근만기일 Then{
if data1(L) < D1Lowest Then
D1Lowest = data1(L);
if data2(L) < D2Lowest Then
D2Lowest = data2(L);
}
if DateToJulian(sdate) >= DateToJulian(최근만기일)-12 Then{
plot1(D1Lowest);
plot2(D2Lowest);
}
2. 최근 만기일의 12일 전부터 현재까지의 data1.data2 최저가는 아래와 같습니다
var : D1lowest(0,data1),D2Lowest(0,data2),Month(0,data1),최근만기일(0);
array : ndate[200](0,data1);
ndate[0]=20110108;#전해 마지막 만기일
ndate[1]=20120112;ndate[2]=20120209;ndate[3]=20120315;ndate[4]=20120412;ndate[5]=20120510;
ndate[6]=20120614;ndate[7]=20120712;ndate[8]=20120809;ndate[9]=20120913;ndate[10]=20121011;
ndate[11]=20121108;ndate[12]=20121213;
Month = round(Int(FracPortion(CurrentDate/10000)*100),0);
if CurrentDate > ndate[month] Then
최근만기일 = ndate[month];
Else
최근만기일 = ndate[month-1];
if data1(DateToJulian(sdate[1]) < DateToJulian(최근만기일)-12 And DateToJulian(sdate) >= DateToJulian(최근만기일)-12) Then
D1Lowest = data1(L);
if data2(DateToJulian(sdate[1]) < DateToJulian(최근만기일)-12 And DateToJulian(sdate) >= DateToJulian(최근만기일)-12) Then
D2Lowest = data2(L);
if data1(L) < D1Lowest Then
D1Lowest = data1(L);
if data2(L) < D2Lowest Then
D2Lowest = data2(L);
if DateToJulian(sdate) >= DateToJulian(최근만기일)-12 Then{
plot1(D1Lowest);
plot2(D2Lowest);
}
즐거운 하루되세요
> 파문일기 님이 쓴 글입니다.
> 제목 : 지표구현
> 안녕하세요
옵션을 콜(data1) 풋(data2)을 교차차트로 한화면에 겹쳐서 표시하고,
지난 만기일전 12일 전부터 만기일까지의 양옵션 저가를 챠트에 지표로 구현하고 싶습니다.
{ va2 = (date - int(date/100)*100); //일
va3 = (DayOfWeek(date)); //요일
var : lowest13(0), lowest23(0),cond21(false),cond22(false);
array : ndate[200](0);
ndate[1]=20120112;ndate[2]=20120209;ndate[3]=20120315;ndate[4]=20120412;ndate[5]=20120510;
ndate[6]=20120614;ndate[7]=20120712;ndate[8]=20120809;ndate[9]=20120913;ndate[10]=20121011;
ndate[11]=20121108;ndate[12]=20121213;
for cnt = 1 to 12 {#최종값을 배열의 마지막방의 전방까지만 입력
if sdate > ndate[cnt] and sdate <= ndate[cnt+1] then
최근만기일 = ndate[cnt];
전만기범위 = JulianToDate(DateToJulian(최근만기일)-12) ;
}
if date < 전만기범위 Then
cond21 = false;
if Cond21 == false and data1(date != date[1]) and date >= 전만기범위 Then {
if data1(index==0) Then
lowest13 = data1(DayLow(1));
if data1(index>0) Then{
if data1(DayLow(1)) < lowest13 Then
lowest13 = data1(DayLow(1));
if va2 >= 8 and va2 <= 14 and va3 == 4 then
pred1 = lowest13;
cond21 = true;}
plot62(pred1,"저가1",BLUE,2);
if date < 전만기범위 Then
cond22 = false;
if Cond22 == false and data2(date != date[1]) and date >= 전만기범위 Then {
if data2(index==0) Then
lowest23 = data1(lowd(1));
if data2(index>0) Then{
if data2(lowd(1)) < lowest23 Then
lowest23 = data1(DayLow(1));
if va2 >= 8 and va2 <= 14 and va3 == 4 then
pred2 = lowest23;
cond22 = true;}
plot63(pred2,"저가2",BLUE,2);
감사합니다.
다음글