커뮤니티
지표식 문의
2012-02-24 15:06:48
393
글번호 48167
늘
감사합니다.
- 1. 48517_지표.zip (0.01 MB)
답변 1
예스스탁 예스스탁 답변
2012-02-27 14:46:57
안녕하세요
예스스탁입니다.
1.
#data1 ksp200종합
#data2~data6 콜(아래 행사가 부터)
#data7~data11 풋(아래 행사가 부터)
#데이터가 여러개이므로 변수는 data1기준으로 저장
input : AA(260),BB(270);
array :CC[20](0,data1),PP[20](0,data1),Exercise[20](0,data1);
var : E1(0,data1),E2(0,data1),Eq(0,data1),cnt(0,data1),number(0,data1);
var : EqCall(0,data1),EqPut(0,data1),num(0,data1);
#Kospi200종합지수로 등가계산
E1 = data1(int(C/10)*10);
E2 = data1(FracPortion(C/10)*10);
if E2 < 1.25 then
Eq = E1;
if E2 >= 1.25 and E2 < 3.75 then
Eq = E1+2.5;
if E2 >= 3.75 and E2 < 8.75 then
Eq = E1+5.0;
if E2 >= 8.75 then
Eq = E1+7.5;
#행사가
Exercise[0] = AA+(0*2.5);
Exercise[1] = AA+(1*2.5);
Exercise[2] = AA+(2*2.5);
Exercise[3] = AA+(3*2.5);
Exercise[4] = AA+(4*2.5);
#콜 가격
CC[0] = data2(c);
CC[1] = data3(c);
CC[2] = data4(c);
CC[3] = data5(c);
CC[4] = data6(c);
#풋 가격
PP[0] = data7(c);
PP[1] = data8(c);
PP[2] = data9(c);
PP[3] = data10(c);
PP[4] = data11(c);
number = 0;
for cnt = 0 to 4 {
if Eq == Exercise[cnt] Then
number = cnt;
}
if number != number[1] Then
num = Num+1;
#등가콜
EqCall = CC[number];
#등가풋
EqPut = PP[number];
plot1(EqCall+EqPut,"등가양합",iff(num%2 == 01,red,blue));
아래는 2번에 대한 지표식입니다.
장시간 작성해 보았지만 2.3번은 정확히 잘 수식으로 구상이 되지 않습니다.
도움을 드리지 못해 죄송합니다.
#data1 ksp200종합
#data2~data6 콜(아래 행사가 부터)
#data7~data11 풋(아래 행사가 부터)
#데이터가 여러개이므로 변수는 data1기준으로 저장
input : AA(260),BB(270),Apoint(0.2);
var : Cnt(0,data1),cond1(false,data1),cond2(false,data1);
var : Centry(0,data1),PEntry(0,data1);
var : CMax1(0,data1),CMaxi1(0,data1),CMax2(0,data1),CMaxi2(0,data1);
var : PMax1(0,data1),PMaxi1(0,data1),PMax2(0,data1),PMaxi2(0,data1);
array :CC[20](0,data1),PP[20](0,data1),CCC[20](0,data1),PPP[20](0,data1);;
if data1(date != date[1]) Then{
cond1 = false;
cond2 = true;
}
#콜 가격
CC[0] = data2(c);
CC[1] = data3(c);
CC[2] = data4(c);
CC[3] = data5(c);
CC[4] = data6(c);
#풋 가격
PP[0] = data7(c);
PP[1] = data8(c);
PP[2] = data9(c);
PP[3] = data10(c);
PP[4] = data11(c);
if cond1 == false Then{
#2.0이하의 콜과 풋 중 최대값 선정
#2.0 넘어가는 종목은 0 처리
for cnt = 0 to 4 {
if CC[cnt] <= 2 Then
CCC[cnt] = CC[cnt];
Else
CCC[cnt] = 0;
if PP[cnt] <= 2 Then
PPP[cnt] = PP[cnt];
Else
PPP[cnt] = 0;
MessageLog("%.15f",PP[cnt]);
}
#콜 2.0이하 최대종목
Cmax1 = NthMaxList(1,CCC[0],CCC[1],CCC[2],CCC[3],CCC[4]);
#콜 2.0이하 두번째 큰종목
Cmax2 = NthMaxList(2,CCC[0],CCC[1],CCC[2],CCC[3],CCC[4]);
#풋 2.0이하 최대종목
Pmax1 = NthMaxList(1,PPP[0],PPP[1],PPP[2],PPP[3],PPP[4]);
#풋 2.0이하 두번째 큰종목
Pmax2 = NthMaxList(2,PPP[0],PPP[1],PPP[2],PPP[3],PPP[4]);
#배열번호
CMaxi1 = -1;
CMaxi2 = -1;
PMaxi1 = -1;
PMaxi2 = -1;
for cnt = 0 to 4 {
if Cmax1 == CC[cnt] Then
CMaxi1 = cnt;
if Cmax2 == CC[cnt] Then
CMaxi2 = cnt;
if Pmax1 == PP[cnt] Then
PMaxi1 = cnt;
if Pmax2 == PP[cnt] Then
PMaxi2 = cnt;
}
}
if Cond1 == false and Cmax1 > 0 and Pmax1 > 0 Then{
cond1 = true;
}
if Cond1 == true and cond2 == false Then{
plot1((Cmax1-CC[CMaxi1])+(PMax1-PP[Pmaxi1]),"1",RED);
if CC[CMaxi1] >= Cmax1+Apoint or PP[Pmaxi1] >= PMax1+Apoint Then{
cond2 = true;
Centry = CC[CMaxi2];
Pentry = CC[PMaxi2];
}
}
if cond1 == true and cond2 == true and cond2[1] == true Then{
plot1((Centry-CC[CMaxi1])+(Pentry-PP[Pmaxi1]),"1",blue);
}
즐거운 하루되세요
> 에구머니 님이 쓴 글입니다.
> 제목 : 지표식 문의
> 늘
감사합니다.
다음글