커뮤니티
스토
2013-01-17 16:19:25
224
글번호 58290
다이버젼스 구동이 않되네요
input: p(10),p1(5),p2(5);
var : value1(0), value2(0), value3(0), value4(0), value5(0);
var : SLindex1(0), SLindex2(0), Lindex1(0), Lindex2(0);
var : SHindex1(0), SHindex2(0), Hindex1(0), Hindex2(0);
value1 = stochasticsD(p,p1,p2);
value2 = value1 > value1[1] and value1[1] <= value1[2]; // 스토캐스틱 상승반전
value3 = L > L[1] and L[1] <= L[2]; // 저가 상승반전
value4 = value1 < value1[1] and value1[1] >= value1[2]; // 스토캐스틱 하락반전
value5 = H < H[1] and H[1] >= H[2]; // 고가 하락반전
SLindex1 = MRO(value2,50,1); // 최근 스토캐스틱 상승반전 시점의 현재로 부터의 index
SLindex2 = MRO(value2,50,2); // 두번째로 최근 스토캐스틱 상승반전 시점의 현재로 부터의 index
Lindex1 = MRO(value3,50,1); // 최근 저가 상승반전 시점의 현재로 부터의 index
Lindex2 = MRO(value3,50,2); // 두번째로 최근 저가 상승반전 시점의 현재로 부터의 index
SHindex1 = MRO(value4,50,1); // 최근 스토캐스틱 하락반전 시점의 현재로 부터의 index
SHindex2 = MRO(value4,50,2); // 두번째로 최근 스토캐스틱 하락반전 시점의 현재로 부터의 index
Hindex1 = MRO(value5,50,1); // 최근 고가 하락반전 시점의 현재로 부터의 index
Hindex2 = MRO(value5,50,2); // 두번째로 최근 고가 하락반전 시점의 현재로 부터의 index
# stochasticsD의 상승형 divergence 발생시 매수
if
value1[1] <= 20 and //전봉의 stochasticsD값이 침체권이 20 이하에 위치해 있고
value1[SLindex1+1] > value1[SLindex2+1] and // 최근 스토 상승반전 시점의 값이 이전 반전 시점의 값보다 크고
L[Lindex1+1] < L[Lindex2+1] and // 최근 저가 상승반전 시점의 값은 이전 저가 반전 값보다 작고
value2 and lowest(L,5) == lowest(L,15) // 스토캐스틱 상승반전 되었고 5봉동안의 최저가가 15봉 동안의 최저가 이면
then {
buy();
exitshort();
}
# stochasticsD의 하락형 divergence 발생시 매도
if
value1[1] >= 80 and //전봉의 stochasticsD값이 과열권인 80 이상에 위치해 있고
value1[SHindex1+1] < value1[SHindex2+1] and // 최근 스토 하락반전 시점의 값이 이전 반전 시점의 값보다 작고
H[Lindex1+1] > H[Lindex2+1] and // 최근 고가가 하락반전 시점의 값은 이전 고가 반전 값보다 크고
value4 and highest(H,5) == highest(H,15) // 스토캐스틱 하락반전 되었고 5봉동안의 최고가가 15봉 동안의 최고가 이면
then {
sell();
exitLong();
}
# 주가가 60 이평선을 하향이탈하면 매수청산
if CrossDown(C, ma(c,20)) then
exitlong();
# 주가가 60 이평선을 상향돌파하면 매도청산
if CrossUp(C,ma(C,20)) then
exitshort();
답변 1
예스스탁 예스스탁 답변
2013-01-17 16:37:19
안녕하세요
예스스탁입니다.
수정한 식입니다.
input: p(10),p1(5),p2(5);
var : value1(0), value2(false), value3(false), value4(false), value5(false);
var : SLindex1(0), SLindex2(0), Lindex1(0), Lindex2(0);
var : SHindex1(0), SHindex2(0), Hindex1(0), Hindex2(0);
value1 = stochasticsD(p,p1,p2);
value2 = value1 > value1[1] and value1[1] <= value1[2]; // 스토캐스틱 상승반전
value3 = L > L[1] and L[1] <= L[2]; // 저가 상승반전
value4 = value1 < value1[1] and value1[1] >= value1[2]; // 스토캐스틱 하락반전
value5 = H < H[1] and H[1] >= H[2]; // 고가 하락반전
SLindex1 = MRO(value2,50,1); // 최근 스토캐스틱 상승반전 시점의 현재로 부터의 index
SLindex2 = MRO(value2,50,2); // 두번째로 최근 스토캐스틱 상승반전 시점의 현재로 부터의 index
Lindex1 = MRO(value3,50,1); // 최근 저가 상승반전 시점의 현재로 부터의 index
Lindex2 = MRO(value3,50,2); // 두번째로 최근 저가 상승반전 시점의 현재로 부터의 index
SHindex1 = MRO(value4,50,1); // 최근 스토캐스틱 하락반전 시점의 현재로 부터의 index
SHindex2 = MRO(value4,50,2); // 두번째로 최근 스토캐스틱 하락반전 시점의 현재로 부터의 index
Hindex1 = MRO(value5,50,1); // 최근 고가 하락반전 시점의 현재로 부터의 index
Hindex2 = MRO(value5,50,2); // 두번째로 최근 고가 하락반전 시점의 현재로 부터의 index
# stochasticsD의 상승형 divergence 발생시 매수
if
value1[1] <= 20 and //전봉의 stochasticsD값이 침체권이 20 이하에 위치해 있고
value1[SLindex1+1] > value1[SLindex2+1] and // 최근 스토 상승반전 시점의 값이 이전 반전 시점의 값보다 크고
L[Lindex1+1] < L[Lindex2+1] and // 최근 저가 상승반전 시점의 값은 이전 저가 반전 값보다 작고
value2 and lowest(L,5) == lowest(L,15) // 스토캐스틱 상승반전 되었고 5봉동안의 최저가가 15봉 동안의 최저가 이면
then {
buy();
exitshort();
}
# stochasticsD의 하락형 divergence 발생시 매도
if
value1[1] >= 80 and //전봉의 stochasticsD값이 과열권인 80 이상에 위치해 있고
value1[SHindex1+1] < value1[SHindex2+1] and // 최근 스토 하락반전 시점의 값이 이전 반전 시점의 값보다 작고
H[Lindex1+1] > H[Lindex2+1] and // 최근 고가가 하락반전 시점의 값은 이전 고가 반전 값보다 크고
value4 and highest(H,5) == highest(H,15) // 스토캐스틱 하락반전 되었고 5봉동안의 최고가가 15봉 동안의 최고가 이면
then {
sell();
exitLong();
}
# 주가가 60 이평선을 하향이탈하면 매수청산
if CrossDown(C, ma(c,20)) then
exitlong();
# 주가가 60 이평선을 상향돌파하면 매도청산
if CrossUp(C,ma(C,20)) then
exitshort();
즐거운 하루되세요
> 구다이전설 님이 쓴 글입니다.
> 제목 : 스토
> 다이버젼스 구동이 않되네요
input: p(10),p1(5),p2(5);
var : value1(0), value2(0), value3(0), value4(0), value5(0);
var : SLindex1(0), SLindex2(0), Lindex1(0), Lindex2(0);
var : SHindex1(0), SHindex2(0), Hindex1(0), Hindex2(0);
value1 = stochasticsD(p,p1,p2);
value2 = value1 > value1[1] and value1[1] <= value1[2]; // 스토캐스틱 상승반전
value3 = L > L[1] and L[1] <= L[2]; // 저가 상승반전
value4 = value1 < value1[1] and value1[1] >= value1[2]; // 스토캐스틱 하락반전
value5 = H < H[1] and H[1] >= H[2]; // 고가 하락반전
SLindex1 = MRO(value2,50,1); // 최근 스토캐스틱 상승반전 시점의 현재로 부터의 index
SLindex2 = MRO(value2,50,2); // 두번째로 최근 스토캐스틱 상승반전 시점의 현재로 부터의 index
Lindex1 = MRO(value3,50,1); // 최근 저가 상승반전 시점의 현재로 부터의 index
Lindex2 = MRO(value3,50,2); // 두번째로 최근 저가 상승반전 시점의 현재로 부터의 index
SHindex1 = MRO(value4,50,1); // 최근 스토캐스틱 하락반전 시점의 현재로 부터의 index
SHindex2 = MRO(value4,50,2); // 두번째로 최근 스토캐스틱 하락반전 시점의 현재로 부터의 index
Hindex1 = MRO(value5,50,1); // 최근 고가 하락반전 시점의 현재로 부터의 index
Hindex2 = MRO(value5,50,2); // 두번째로 최근 고가 하락반전 시점의 현재로 부터의 index
# stochasticsD의 상승형 divergence 발생시 매수
if
value1[1] <= 20 and //전봉의 stochasticsD값이 침체권이 20 이하에 위치해 있고
value1[SLindex1+1] > value1[SLindex2+1] and // 최근 스토 상승반전 시점의 값이 이전 반전 시점의 값보다 크고
L[Lindex1+1] < L[Lindex2+1] and // 최근 저가 상승반전 시점의 값은 이전 저가 반전 값보다 작고
value2 and lowest(L,5) == lowest(L,15) // 스토캐스틱 상승반전 되었고 5봉동안의 최저가가 15봉 동안의 최저가 이면
then {
buy();
exitshort();
}
# stochasticsD의 하락형 divergence 발생시 매도
if
value1[1] >= 80 and //전봉의 stochasticsD값이 과열권인 80 이상에 위치해 있고
value1[SHindex1+1] < value1[SHindex2+1] and // 최근 스토 하락반전 시점의 값이 이전 반전 시점의 값보다 작고
H[Lindex1+1] > H[Lindex2+1] and // 최근 고가가 하락반전 시점의 값은 이전 고가 반전 값보다 크고
value4 and highest(H,5) == highest(H,15) // 스토캐스틱 하락반전 되었고 5봉동안의 최고가가 15봉 동안의 최고가 이면
then {
sell();
exitLong();
}
# 주가가 60 이평선을 하향이탈하면 매수청산
if CrossDown(C, ma(c,20)) then
exitlong();
# 주가가 60 이평선을 상향돌파하면 매도청산
if CrossUp(C,ma(C,20)) then
exitshort();
다음글
이전글