커뮤니티
30824 수식오류수정부탁드립니다(내용무)
2013-06-11 15:09:30
197
글번호 64214
.
답변 1
예스스탁 예스스탁 답변
2013-06-11 18:13:32
안녕하세요
예스스탁입니다.
아래식 참고하시기 바랍니다.
input : N(5),n1(0.2);
var : D2D3(0,data1),D4D5(0,data1),D6D7(0,data1);
var : V1(0,data1),V2(0,data2),value(0,data1),idx(0,data1);
var : HH(0,data1),LL(0,data1),case(0,data1);
D2D3 = (data2(LowD(0))+data3(HighD(0)))/2;
D4D5 = (data4(LowD(0))+data5(HighD(0)))/2;
D6D7 = (data6(LowD(0))+data7(HighD(0)))/2;
if D2D3 < D4D5 and D2D3 < D6D7 Then{
V1 = data2(LowD(0));
V2 = data3(HighD(0));
value = 1;
}
if D4D5 < D2D3 and D4D5 < D6D7 Then{
V1 = data4(LowD(0));
V2 = data5(HighD(0));
value = 2;
}
if D6D7 < D2D3 and D4D5 < D6D7 Then{
V1 = data6(LowD(0));
V2 = data7(HighD(0));
value = 3;
}
#D2D3가 제일 작은 값인 경우
if value == 1 Then{
#V1을 data3~data7의 종가가 상향돌파
if crossup(data3(c),V1) or crossup(data4(c),V1) or crossup(data5(c),V1) or crossup(data6(c),V1) or crossup(data7(c),V1) Then{
idx = data1(index);
HH = data1(H);
LL = data1(L);
case = 11;
}
#V1을 data3~data7의 종가가 하향돌파
if CrossDown(data3(c),V1) or CrossDown(data4(c),V1) or CrossDown(data5(c),V1) or CrossDown(data6(c),V1) or CrossDown(data7(c),V1) Then{
idx = data1(index);
HH = data1(H);
LL = data1(L);
case = 12;
}
#V2를 data2, data4~data7의 종가가 상향돌파
if crossup(data2(c),V2) or crossup(data4(c),V2) or crossup(data5(c),V2) or crossup(data6(c),V2) or crossup(data7(c),V2) Then{
idx = data1(index);
HH = data1(H);
LL = data1(L);
case = 13;
}
#V2를 data2, data4~data7의 종가가 하향돌파
if CrossDown(data2(c),V2) or CrossDown(data4(c),V2) or CrossDown(data5(c),V2) or CrossDown(data6(c),V2) or CrossDown(data7(c),V2) Then{
idx = data1(index);
HH = data1(H);
LL = data1(L);
case = 14;
}
###근접
#data3~data7의 종가가 V1-N1 밑에서 위로 근접
if crossup(data3(c),V1-N1) or crossup(data4(c),V1-N1) or crossup(data5(c),V1-N1) or crossup(data6(c),V1-N1) or crossup(data7(c),V1-N1) Then{
idx = data1(index);
HH = data1(H);
LL = data1(L);
case = 15;
}
#data3~data7의 종가가 V1+N1 위에서 아래로 근접
if CrossDown(data3(c),V1+N1) or CrossDown(data4(c),V1+N1) or CrossDown(data5(c),V1+N1) or CrossDown(data6(c),V1+N1) or CrossDown(data7(c),V1+N1) Then{
idx = data1(index);
HH = data1(H);
LL = data1(L);
case = 16;
}
#data2, data4~data7의 종가가 V2-N1 아래에서 위로 근접
if crossup(data2(c),V2-N1) or crossup(data4(c),V2-N1) or crossup(data5(c),V2-N1) or crossup(data6(c),V2-N1) or crossup(data7(c),V2-N1) Then{
idx = data1(index);
HH = data1(H);
LL = data1(L);
case = 17;
}
#data2, data4~data7의 종가가 V2+N1 위에서 아래로 근접
if CrossDown(data2(c),V2+N1) or CrossDown(data4(c),V2+N1) or CrossDown(data5(c),V2+N1) or CrossDown(data6(c),V2+N1) or CrossDown(data7(c),V2+N1) Then{
idx = data1(index);
HH = data1(H);
LL = data1(L);
case = 18;
}
}
#D4D5가 제일 작은 값인 경우
if value == 2 Then{
#V1을 data2,data3,data5,data6,data7의 종가가 상향돌파
if crossup(data2(c),V1) or crossup(data3(c),V1) or crossup(data5(c),V1) or crossup(data6(c),V1) or crossup(data7(c),V1) Then{
idx = data1(index);
HH = data1(H);
LL = data1(L);
case = 21;
}
#V1을 data2,data3,data5,data6,data7의 종가가 하향돌파
if CrossDown(data2(c),V1) or CrossDown(data3(c),V1) or CrossDown(data5(c),V1) or CrossDown(data6(c),V1) or CrossDown(data7(c),V1) Then{
idx = data1(index);
HH = data1(H);
LL = data1(L);
case = 22;
}
#V2를 data2,data3,data4,data6,data7 종가가 상향돌파
if crossup(data2(c),V2) or crossup(data3(c),V2) or crossup(data4(c),V2) or crossup(data6(c),V2) or crossup(data7(c),V2) Then{
idx = data1(index);
HH = data1(H);
LL = data1(L);
case = 23;
}
#V2를 data2,data3,data4,data6,data7 종가가 하향돌파
if CrossDown(data2(c),V2) or CrossDown(data3(c),V2) or CrossDown(data4(c),V2) or CrossDown(data6(c),V2) or CrossDown(data7(c),V2) Then{
idx = data1(index);
HH = data1(H);
LL = data1(L);
case = 24;
}
#근접
if crossup(data2(c),V1-N1) or crossup(data3(c),V1-N1) or crossup(data5(c),V1-N1) or crossup(data6(c),V1-N1) or crossup(data7(c),V1-N1) Then{
idx = data1(index);
HH = data1(H);
LL = data1(L);
case = 25;
}
if CrossDown(data2(c),V1+N1) or CrossDown(data3(c),V1+N1) or CrossDown(data5(c),V1+N1) or CrossDown(data6(c),V1+N1) or CrossDown(data7(c),V1+N1) Then{
idx = data1(index);
HH = data1(H);
LL = data1(L);
case = 26;
}
if crossup(data2(c),V2-N1) or crossup(data3(c),V2-N1) or crossup(data4(c),V2-N1) or crossup(data6(c),V2-N1) or crossup(data7(c),V2-N1) Then{
idx = data1(index);
HH = data1(H);
LL = data1(L);
case = 27;
}
if CrossDown(data2(c),V2+N1) or CrossDown(data3(c),V2+N1) or CrossDown(data4(c),V2+N1) or CrossDown(data6(c),V2+N1) or CrossDown(data7(c),V2+N1) Then{
idx = data1(index);
HH = data1(H);
LL = data1(L);
case = 28;
}
}
#D6D7가 제일 작은 값인 경우
if value == 2 Then{
#V1을 data2,data3,data4,data5,data7의 종가가 상향돌파
if crossup(data2(c),V1) or crossup(data3(c),V1) or crossup(data4(c),V1) or crossup(data5(c),V1) or crossup(data7(c),V1) Then{
idx = data1(index);
HH = data1(H);
LL = data1(L);
case = 31;
}
#V1을 data2,data3,data4,data5,data7의 종가가 하향돌파
if CrossDown(data2(c),V1) or CrossDown(data3(c),V1) or CrossDown(data4(c),V1) or CrossDown(data5(c),V1) or CrossDown(data7(c),V1) Then{
idx = data1(index);
HH = data1(H);
LL = data1(L);
case = 32;
}
#V2를 data2,data3,data4,data5,data6 종가가 상향돌파
if crossup(data2(c),V2) or crossup(data3(c),V2) or crossup(data4(c),V2) or crossup(data5(c),V2) or crossup(data6(c),V2) Then{
idx = data1(index);
HH = data1(H);
LL = data1(L);
case = 33;
}
#V2를 data2,data3,data4,data5,data6 종가가 하향돌파
if CrossDown(data2(c),V2) or CrossDown(data3(c),V2) or CrossDown(data4(c),V2) or CrossDown(data5(c),V2) or CrossDown(data6(c),V2) Then{
idx = data1(index);
HH = data1(H);
LL = data1(L);
case = 34;
}
#근접
if crossup(data2(c),V1-N1) or crossup(data3(c),V1-N1) or crossup(data4(c),V1-N1) or crossup(data5(c),V1-N1) or crossup(data7(c),V1-N1) Then{
idx = data1(index);
HH = data1(H);
LL = data1(L);
case = 35;
}
if CrossDown(data2(c),V1+N1) or CrossDown(data3(c),V1+N1) or CrossDown(data4(c),V1+N1) or CrossDown(data5(c),V1+N1) or CrossDown(data7(c),V1+N1) Then{
idx = data1(index);
HH = data1(H);
LL = data1(L);
case = 36;
}
if crossup(data2(c),V2-N1) or crossup(data3(c),V2-N1) or crossup(data4(c),V2-N1) or crossup(data5(c),V2-N1) or crossup(data6(c),V2-N1) Then{
idx = data1(index);
HH = data1(H);
LL = data1(L);
case = 37;
}
if CrossDown(data2(c),V2+N1) or CrossDown(data3(c),V2+N1) or CrossDown(data4(c),V2+N1) or CrossDown(data5(c),V2+N1) or CrossDown(data6(c),V2+N1) Then{
idx = data1(index);
HH = data1(H);
LL = data1(L);
case = 38;
}
}
if data1(index) >= idx and data1(index) < idx+N Then{
if case == 11 Then{
plot1(HH,"고가",RED);
plot2(LL,"저가",RED);
}
if case == 12 Then{
plot1(HH,"고가",RED);
plot2(LL,"저가",RED);
}
if case == 13 Then{
plot1(HH,"고가",RED);
plot2(LL,"저가",RED);
}
if case == 14 Then{
plot1(HH,"고가",RED);
plot2(LL,"저가",RED);
}
if case == 15 Then{
plot1(HH,"고가",RED);
plot2(LL,"저가",RED);
}
if case == 16 Then{
plot1(HH,"고가",RED);
plot2(LL,"저가",RED);
}
if case == 17 Then{
plot1(HH,"고가",RED);
plot2(LL,"저가",RED);
}
if case == 18 Then{
plot1(HH,"고가",RED);
plot2(LL,"저가",RED);
}
if case == 21 Then{
plot1(HH,"고가",RED);
plot2(LL,"저가",RED);
}
if case == 22 Then{
plot1(HH,"고가",RED);
plot2(LL,"저가",RED);
}
if case == 23 Then{
plot1(HH,"고가",RED);
plot2(LL,"저가",RED);
}
if case == 24 Then{
plot1(HH,"고가",RED);
plot2(LL,"저가",RED);
}
if case == 25 Then{
plot1(HH,"고가",RED);
plot2(LL,"저가",RED);
}
if case == 26 Then{
plot1(HH,"고가",RED);
plot2(LL,"저가",RED);
}
if case == 27 Then{
plot1(HH,"고가",RED);
plot2(LL,"저가",RED);
}
if case == 28 Then{
plot1(HH,"고가",RED);
plot2(LL,"저가",RED);
}
if case == 31 Then{
plot1(HH,"고가",RED);
plot2(LL,"저가",RED);
}
if case == 32 Then{
plot1(HH,"고가",RED);
plot2(LL,"저가",RED);
}
if case == 33 Then{
plot1(HH,"고가",RED);
plot2(LL,"저가",RED);
}
if case == 34 Then{
plot1(HH,"고가",RED);
plot2(LL,"저가",RED);
}
if case == 35 Then{
plot1(HH,"고가",RED);
plot2(LL,"저가",RED);
}
if case == 36 Then{
plot1(HH,"고가",RED);
plot2(LL,"저가",RED);
}
if case == 37 Then{
plot1(HH,"고가",RED);
plot2(LL,"저가",RED);
}
if case == 38 Then{
plot1(HH,"고가",RED);
plot2(LL,"저가",RED);
}
}
즐거운 하루되세요
> 흑수돌 님이 쓴 글입니다.
> 제목 : 30824 수식오류수정부탁드립니다(내용무)
> .