예스스탁
예스스탁 답변
2020-03-04 14:26:33
안녕하세요
예스스탁입니다.
Input : n(3) ; ## n일전 기준 검색
input:left(6),right(6),x(0.005);
var:j(0),예비고(0),예비저(0),예비고bar(0),예비저bar(0),미완성(0),미완성bar(0),고점표시(0),저점표시(0),
예비고추세기울기(0),예비저추세기울기(0),예비고추세선(0),예비저추세선(0),
고추세기울기(0),저추세기울기(0),고추세선(0),저추세선(0) ;
array:고[10](0),저[10](0),고bar[10](0),저bar[10](0);
#================================================#
# 변곡점 계산
#================================================#
if highest(h[1],left) <= h then {
예비고 = h;
예비고bar = 0;
}
else
예비고bar = 예비고bar + 1;
if lowest(l[1],left) >= l then {
예비저 = l;
예비저bar = 0;
}
else
예비저bar = 예비저bar + 1;
고점표시 = (h[right] + l[right]) / 2;
저점표시 = (h[right] + l[right]) / 2;
for j = 1 to 9 {
고bar[j] = 고bar[j] + 1;
저bar[j] = 저bar[j] + 1;
}
if 예비고bar == right and highest(h,right) <= h[right] then {
for j = 9 downto 2 {
고[j] = 고[j-1];
고bar[j] = 고bar[j-1];
}
고점표시 = 예비고 + x;
고[1] = 예비고;
고bar[1] = 예비고bar;
if 저bar[1] > 고bar[2] then {
for j = 9 downto 2 {
저[j] = 저[j-1];
저bar[j] = 저bar[j-1];
}
미완성 = 0;
for j = 고bar[1] + 1 to 고bar[2] - 1 {
if 미완성 == 0 or 미완성 > l[j] then {
미완성 = l[j];
미완성bar = j;
}
}
저[1] = 미완성;
저bar[1] = 미완성bar;
}
}
if 예비저bar == right and lowest(l,right) >= l[right] then {
for j = 9 downto 2 {
저[j] = 저[j-1];
저bar[j] = 저bar[j-1];
}
저점표시 = 예비저 - x;
저[1] = 예비저;
저bar[1] = 예비저bar;
if 고bar[1] > 저bar[2] then {
for j = 9 downto 2 {
고[j] = 고[j-1];
고bar[j] = 고bar[j-1];
}
미완성 = 0;
for j = 저bar[1] + 1 to 저bar[2] - 1 {
if 미완성 < h[j] then {
미완성 = h[j];
미완성bar = j;
}
}
고[1] = 미완성;
고bar[1] = 미완성bar;
}
}
#=============================================#
# 자동추세선 계산
#=============================================#
예비고추세선 = 0;
예비저추세선 = 0;
for j = 1 to 9 {
if 예비고 < 고[j] then {
예비고추세기울기 = (예비고-고[j])/(고bar[j]-예비고bar);
예비고추세선 = 예비고추세기울기 * 고bar[j] + 고[j];
j = 9;
}
}
for j = 1 to 9 {
if 저[j] < 예비저 and 저[j] > 0 then {
예비저추세기울기 = (예비저-저[j])/(저bar[j]-예비저bar);
예비저추세선 = 예비저추세기울기 * 저bar[j] + 저[j];
j = 9;
}
}
고추세선 = 0;
저추세선 = 0;
for j = 2 to 9 {
if 고[1] < 고[j] then {
고추세기울기 = (고[1]-고[j])/(고bar[j]-고bar[1]);
고추세선 = 고추세기울기 * 고bar[j] + 고[j];
j = 9;
}
}
for j = 2 to 9 {
if 저[j] < 저[1] and 저[j] > 0 then {
저추세기울기 = (저[1]-저[j])/(저bar[j]-저bar[1]);
저추세선 = 저추세기울기 * 저bar[j] + 저[j];
j = 9;
}
}
Condition1 = C < O and crossup(C,고추세선);
if Condition1[n] == true Then
find(1);
즐거운 하루되세요
> 오이도인 님이 쓴 글입니다.
> 제목 : 변환요청 드립니다.
> 수고가 많으십니다.
아래 식을 "n일전"을 기준일로 하여 검색이 가능한 식으로 변환해 주세요..
혼자서 해봤는데 잘 안되네요...
감사합니다. 수고하세요
#####
Input : n(3) ; ## n일전 기준 검색
input:left(6),right(6),x(0.005);
var:j(0),예비고(0),예비저(0),예비고bar(0),예비저bar(0),미완성(0),미완성bar(0),고점표시(0),저점표시(0),
예비고추세기울기(0),예비저추세기울기(0),예비고추세선(0),예비저추세선(0),
고추세기울기(0),저추세기울기(0),고추세선(0),저추세선(0) ;
array:고[10](0),저[10](0),고bar[10](0),저bar[10](0);
#================================================#
# 변곡점 계산
#================================================#
if highest(h[1],left) <= h then {
예비고 = h;
예비고bar = 0;
}
else
예비고bar = 예비고bar + 1;
if lowest(l[1],left) >= l then {
예비저 = l;
예비저bar = 0;
}
else
예비저bar = 예비저bar + 1;
고점표시 = (h[right] + l[right]) / 2;
저점표시 = (h[right] + l[right]) / 2;
for j = 1 to 9 {
고bar[j] = 고bar[j] + 1;
저bar[j] = 저bar[j] + 1;
}
if 예비고bar == right and highest(h,right) <= h[right] then {
for j = 9 downto 2 {
고[j] = 고[j-1];
고bar[j] = 고bar[j-1];
}
고점표시 = 예비고 + x;
고[1] = 예비고;
고bar[1] = 예비고bar;
if 저bar[1] > 고bar[2] then {
for j = 9 downto 2 {
저[j] = 저[j-1];
저bar[j] = 저bar[j-1];
}
미완성 = 0;
for j = 고bar[1] + 1 to 고bar[2] - 1 {
if 미완성 == 0 or 미완성 > l[j] then {
미완성 = l[j];
미완성bar = j;
}
}
저[1] = 미완성;
저bar[1] = 미완성bar;
}
}
if 예비저bar == right and lowest(l,right) >= l[right] then {
for j = 9 downto 2 {
저[j] = 저[j-1];
저bar[j] = 저bar[j-1];
}
저점표시 = 예비저 - x;
저[1] = 예비저;
저bar[1] = 예비저bar;
if 고bar[1] > 저bar[2] then {
for j = 9 downto 2 {
고[j] = 고[j-1];
고bar[j] = 고bar[j-1];
}
미완성 = 0;
for j = 저bar[1] + 1 to 저bar[2] - 1 {
if 미완성 < h[j] then {
미완성 = h[j];
미완성bar = j;
}
}
고[1] = 미완성;
고bar[1] = 미완성bar;
}
}
#=============================================#
# 자동추세선 계산
#=============================================#
예비고추세선 = 0;
예비저추세선 = 0;
for j = 1 to 9 {
if 예비고 < 고[j] then {
예비고추세기울기 = (예비고-고[j])/(고bar[j]-예비고bar);
예비고추세선 = 예비고추세기울기 * 고bar[j] + 고[j];
j = 9;
}
}
for j = 1 to 9 {
if 저[j] < 예비저 and 저[j] > 0 then {
예비저추세기울기 = (예비저-저[j])/(저bar[j]-예비저bar);
예비저추세선 = 예비저추세기울기 * 저bar[j] + 저[j];
j = 9;
}
}
고추세선 = 0;
저추세선 = 0;
for j = 2 to 9 {
if 고[1] < 고[j] then {
고추세기울기 = (고[1]-고[j])/(고bar[j]-고bar[1]);
고추세선 = 고추세기울기 * 고bar[j] + 고[j];
j = 9;
}
}
for j = 2 to 9 {
if 저[j] < 저[1] and 저[j] > 0 then {
저추세기울기 = (저[1]-저[j])/(저bar[j]-저bar[1]);
저추세선 = 저추세기울기 * 저bar[j] + 저[j];
j = 9;
}
}
if c < o then
If crossUP(C, 고추세선) then var1 = 1 ;
else var1 = 0 ;
Find(var1);
//