커뮤니티
렌코에 관하여
2011-05-18 11:04:21
689
글번호 38779
렌코챠트를 지표로 나타낼려고 합니다.
문제는 사용자가 임의로 지정하는 TickValue 인데....
보편적으로 사용되는 TickValue 라는 사용자함수를 지정하여 만들어 주십시요.
그리하여 렌코챠트를 지표식으로 만드는 식을 좀 알려주십시요.
이곳 게시판의 글을 다 보고 다 복사하여 식을 만들었지만 계속 오류가 납니다.
답변 1
예스스탁 예스스탁 답변
2011-05-18 11:29:46
안녕하세요
예스스탁입니다.
아래는 수식지왕님이 작성한 식입니다.
input:단위호가(5),단기(5),중기(20);
var:j(0),벽돌크기(0),벽돌개수(0),방향(0),단기이평(0),중기이평(0),단기가중이평(0),중기가중이평(0),
상승(1),하락(-1),Sum(0),CSum(0);
array:고[10](0),저[10](0),렌코[500](0);
if index == 0 then
{
방향 = 0;
벽돌크기 = PriceScale * 단위호가;
고[0] = C;
저[0] = C;
렌코[0] = C;
}
#==========================================#
# 렌코 계산
#==========================================#
if 방향 == 0 then
{
if 저[0] - 벽돌크기 >= C then
{
벽돌개수 = int((저[0]-C)/벽돌크기);
저[0] = 저[0] - 벽돌크기 * 벽돌개수;
방향 = 하락;
for j = 499 downto 벽돌개수
{
렌코[j] = 렌코[j-벽돌개수];
}
for j = 벽돌개수 - 1 downto 0
{
렌코[j] = 렌코[j+1] - 벽돌크기;
}
}
else if 고[0] + 벽돌크기 <= C then
{
벽돌개수 = int((C-고[0])/벽돌크기);
고[0] = 고[0] + 벽돌크기 * 벽돌개수;
방향 = 상승;
for j = 499 downto 벽돌개수
{
렌코[j] = 렌코[j-벽돌개수];
}
for j = 벽돌개수 - 1 downto 0
{
렌코[j] = 렌코[j+1] + 벽돌크기;
}
}
}
else if 방향 == 하락 then
{
if 저[0] - 벽돌크기 >= C then
{
벽돌개수 = int((저[0]-C)/벽돌크기);
저[0] = 저[0] - 벽돌크기 * 벽돌개수;
for j = 499 downto 벽돌개수
{
렌코[j] = 렌코[j-벽돌개수];
}
for j = 벽돌개수 - 1 downto 0
{
렌코[j] = 렌코[j+1] - 벽돌크기;
}
}
if 저[0] + 2*벽돌크기 <= C then
{
for j = 8 downto 0
{
고[j+1] = 고[j];
}
방향 = 상승;
벽돌개수 = int((C-저[0])/벽돌크기);
고[0] = 저[0] + 벽돌크기 * 벽돌개수;
for j = 499 downto (벽돌개수-1)
{
렌코[j] = 렌코[j-(벽돌개수-1)];
}
렌코[벽돌개수-2] = 렌코[벽돌개수-1] + 2*벽돌크기;
if 벽돌개수 > 2 then
{
for j = 벽돌개수 - 3 downto 0
{
렌코[j] = 렌코[j+1] + 벽돌크기;
}
}
}
}
else if 방향 == 상승 then
{
if 고[0] + 벽돌크기 <= C then
{
벽돌개수 = int((C-고[0])/벽돌크기);
고[0] = 고[0] + 벽돌크기 * 벽돌개수;
for j = 499 downto 벽돌개수
{
렌코[j] = 렌코[j-벽돌개수];
}
for j = 벽돌개수 - 1 downto 0
{
렌코[j] = 렌코[j+1] + 벽돌크기;
}
}
if 고[0] - 2*벽돌크기 >= C then
{
for j = 8 downto 0
{
저[j+1] = 저[j];
}
방향 = 하락;
벽돌개수 = int((고[0]-C)/벽돌크기);
저[0] = 고[0] - 벽돌크기 * 벽돌개수;
for j = 499 downto (벽돌개수-1)
{
렌코[j] = 렌코[j-(벽돌개수-1)];
}
렌코[벽돌개수-2] = 렌코[벽돌개수-1] - 2*벽돌크기;
if 벽돌개수 > 2 then
{
for j = 벽돌개수 - 3 downto 0
{
렌코[j] = 렌코[j+1] - 벽돌크기;
}
}
}
}
#==========================================#
# 렌코 (가중)이평계산
#==========================================#
Sum = 0;
for j = 0 to (단기-1)
{
Sum = Sum + 렌코[j];
}
단기이평 = Sum / 단기;
Sum = 0;
for j = 0 to (중기-1)
{
Sum = Sum + 렌코[j];
}
중기이평 = Sum / 중기;
Sum = 0;
CSum = 0;
for j = 0 to (단기-1)
{
Sum = Sum + 렌코[j] * (단기 - j);
CSum = CSum + (단기 - j);
}
단기가중이평 = Sum / CSum;
Sum = 0;
CSum = 0;
for j = 0 to (중기-1)
{
Sum = Sum + 렌코[j] * (중기 - j);
CSum = CSum + (중기 - j);
}
중기가중이평 = Sum / CSum;
#==========================================#
# 지표식 출력
#==========================================#
if 방향[1]==하락 and 방향==상승 then
plot1(저[0],"렌코차트",Blue); //선그래프
if 방향[1]==상승 and 방향==하락 then
plot1(고[0],"렌코차트",RED); //선그래프
plot2(렌코[0],"렌코값",iff(방향==상승,RED,BLUE)); //선그래프
Tickvalue사용자함수를 첨부해 드립니다
위식에서는 Tickvalue라는 사용자함수가 별도로 필요하진 않습니다.
즐거운 하루되세요
> 산천초목 님이 쓴 글입니다.
> 제목 : 렌코에 관하여
> 렌코챠트를 지표로 나타낼려고 합니다.
문제는 사용자가 임의로 지정하는 TickValue 인데....
보편적으로 사용되는 TickValue 라는 사용자함수를 지정하여 만들어 주십시요.
그리하여 렌코챠트를 지표식으로 만드는 식을 좀 알려주십시요.
이곳 게시판의 글을 다 보고 다 복사하여 식을 만들었지만 계속 오류가 납니다.