예스스탁
예스스탁 답변
2016-04-15 14:08:32
안녕하세요
예스스탁입니다.
시작년월로 지정한 날이 차트에 데이터로 있어야 합니다.
날짜는 년월일로 지정되게 수정했습니다.
틱차트에서도 날짜 지정하시면 출력됩니다.
input:방향(1), //1:상승, -1:하락
시작년월(20160102),
출력시작(20160401);
var:j(0),고(0),고Bar(0),저(0),저Bar(0),HH(0),LL(0),CC(0);
array:r[7](0),ff[7](0);
#==============================================================================#
# 초기처리 (Initialize Routine)
#==============================================================================#
r[0] = 0;
r[1] = 0.236;
r[2] = 0.382;
r[3] = 0.50;
r[4] = 0.618;
r[5] = 0.764;
r[6] = 1;
HH = H;
LL = L;
CC = C;
#==============================================================================#
# 메인처리 (Main Routine)
#==============================================================================#
고Bar = 고Bar + 1;
저Bar = 저Bar + 1;
#=========================================================#
# 상승방향
#=========================================================#
If 방향 >= 0 Then
{
#---------------------------------------------------------#
# 최고/최저점 계산
#---------------------------------------------------------#
if sDate == 시작년월 and
(저 == 0 or 저 > LL) then
{
저 = LL;
저Bar = 0;
고 = 0;
}
if sDate >= 시작년월 and
고 < HH then
{
고 = HH;
고Bar = 0;
}
#---------------------------------------------------------#
# Fibonacci Fan 계산
#---------------------------------------------------------#
For j = 0 To 6
{
ff[j] = (고-저)/(저Bar-고Bar) * r[j] * 저Bar + 저;
}
}
#=========================================================#
# 하락방향
#=========================================================#
Else
{
#---------------------------------------------------------#
# 최고/최저점 계산
#---------------------------------------------------------#
if sDate == 시작년월 and
고 < HH then
{
고 = HH;
고Bar = 0;
저 = 0;
}
if sDate >= 시작년월 and
(저 == 0 or 저 > LL) then
{
저 = LL;
저Bar = 0;
}
#---------------------------------------------------------#
# Fibonacci Fan 계산
#---------------------------------------------------------#
For j = 0 To 6
{
ff[j] = (저-고)/(고Bar-저Bar) * r[j] * 고Bar + 고;
}
}
#==============================================================================#
# 지표출력
#==============================================================================#
if sDate >= 출력시작 and
고 > 0 and 저 > 0 then
{
Plot1(ff[0], "0%",Iff(방향>=0,BLACK,LBLUE));
Plot2(ff[1], "24%",Iff(방향>=0,BLUE,LGREEN));
Plot3(ff[2], "38%",Iff(방향>=0,GREEN,LCYAN));
Plot4(ff[3], "50%",Iff(방향>=0,CYAN,PINK));
Plot5(ff[4], "62%",Iff(방향>=0,RED,LMAGENTA));
Plot6(ff[5], "76%",Iff(방향>=0,MAGENTA,LYELLOW));
Plot7(ff[6],"100%",Iff(방향>=0,GRAY,BWHITE));
}
즐거운 하루되세요
> 알리섬 님이 쓴 글입니다.
> 제목 : 피보나치
> 안녕하세요. 늘 도움주셔서 감사합니다.
다름이라 아래 피보나치 팬 적용했는데 차트에 일봉차트에서는표시가 나는데 분차트나 틱에는 표시가 나지 않아서 왜그런지 ...
그리고 시작을 년월일시 로 적용할 수 있도록 수정부탁드립니다.
input:방향(1), //1:상승, -1:하락
시작년월(201601),
출력시작(201604);
var:j(0),고(0),고Bar(0),저(0),저Bar(0),HH(0),LL(0),CC(0);
array:r[7](0),ff[7](0);
#==============================================================================#
# 초기처리 (Initialize Routine)
#==============================================================================#
r[0] = 0;
r[1] = 0.236;
r[2] = 0.382;
r[3] = 0.50;
r[4] = 0.618;
r[5] = 0.764;
r[6] = 1;
HH = H;
LL = L;
CC = C;
#==============================================================================#
# 메인처리 (Main Routine)
#==============================================================================#
고Bar = 고Bar + 1;
저Bar = 저Bar + 1;
#=========================================================#
# 상승방향
#=========================================================#
If 방향 >= 0 Then
{
#---------------------------------------------------------#
# 최고/최저점 계산
#---------------------------------------------------------#
if INT(DATE/100) == 시작년월 and
(저 == 0 or 저 > LL) then
{
저 = LL;
저Bar = 0;
고 = 0;
}
if INT(DATE/100) >= 시작년월 and
고 < HH then
{
고 = HH;
고Bar = 0;
}
#---------------------------------------------------------#
# Fibonacci Fan 계산
#---------------------------------------------------------#
For j = 0 To 6
{
ff[j] = (고-저)/(저Bar-고Bar) * r[j] * 저Bar + 저;
}
}
#=========================================================#
# 하락방향
#=========================================================#
Else
{
#---------------------------------------------------------#
# 최고/최저점 계산
#---------------------------------------------------------#
if INT(DATE/100) == 시작년월 and
고 < HH then
{
고 = HH;
고Bar = 0;
저 = 0;
}
if INT(DATE/100) >= 시작년월 and
(저 == 0 or 저 > LL) then
{
저 = LL;
저Bar = 0;
}
#---------------------------------------------------------#
# Fibonacci Fan 계산
#---------------------------------------------------------#
For j = 0 To 6
{
ff[j] = (저-고)/(고Bar-저Bar) * r[j] * 고Bar + 고;
}
}
#==============================================================================#
# 지표출력
#==============================================================================#
if INT(DATE/100) >= 출력시작 and
고 > 0 and 저 > 0 then
{
Plot1(ff[0], "0%",Iff(방향>=0,BLACK,LBLUE));
Plot2(ff[1], "24%",Iff(방향>=0,BLUE,LGREEN));
Plot3(ff[2], "38%",Iff(방향>=0,GREEN,LCYAN));
Plot4(ff[3], "50%",Iff(방향>=0,CYAN,PINK));
Plot5(ff[4], "62%",Iff(방향>=0,RED,LMAGENTA));
Plot6(ff[5], "76%",Iff(방향>=0,MAGENTA,LYELLOW));
Plot7(ff[6],"100%",Iff(방향>=0,GRAY,BWHITE));
}