커뮤니티
답변 감사합니다.
2008-10-14 15:43:56
871
글번호 17519
렌코 지표식이 제대로 돌아가네요 감사합니다.
이 지표식에 20일선과 60일선 이동평균을 구해서 그 값을 시스템에 응용하고 싶습니다. 어떻게 해야 하나요?
1.
input:단위호가(5);
var:j(0),벽돌크기(0),방향(0),상승(1),하락(-1);
array:고[10](0),저[10](0);
if index == 0 then {
벽돌크기 = PriceScale * 단위호가; //_TickValue()는 사용자 함수
고[0] = C;
저[0] = C;
}
if 방향 == 0 then {
if 저[0] - 벽돌크기 >= C then {
저[0] = 저[0] - int((저[0]-C)/벽돌크기)*벽돌크기;
방향 = 하락;
}
else if 고[0] + 벽돌크기 <= C then {
고[0] = 고[0] + int((C-고[0])/벽돌크기)*벽돌크기;
방향 = 상승;
}
}
else if 방향 == 하락 then {
if 저[0] - 벽돌크기 >= C then
저[0] = 저[0] - int((저[0]-C)/벽돌크기)*벽돌크기;
if 저[0] + 2*벽돌크기 <= C then {
for j = 8 downto 0 {
고[j+1] = 고[j];
}
방향 = 상승;
고[0] = 저[0] + int((C-저[0])/벽돌크기)*벽돌크기;
}
}
else if 방향 == 상승 then {
if 고[0] + 벽돌크기 <= C then
고[0] = 고[0] + int((C-고[0])/벽돌크기)*벽돌크기;
if 고[0] - 2*벽돌크기 >= C then {
for j = 8 downto 0 {
저[j+1] = 저[j];
}
방향 = 하락;
저[0] = 고[0] - int((고[0]-C)/벽돌크기)*벽돌크기;
}
}
if 방향[1]==하락 and 방향==상승 then
plot1(저[0],"렌코차트",Blue);
if 방향[1]==상승 and 방향==하락 then
plot1(고[0],"렌코차트",RED);
답변 1
예스스탁 예스스탁 답변
2008-10-15 09:16:23
안녕하세요
예스스탁입니다.
지표를 적용해 보시면
지표가 매봉 발생하는 값이 아니므로
발생시의 값을 모아서 평균한 식으로 작성했습니다.
input:단위호가(5),P1(20),P2(60);
var:j(0),벽돌크기(0),방향(0),상승(1),하락(-1),cnt(0),count(0),sum1(0),sum2(0),mav1(0),mav2(0);
array:고[10](0),저[10](0),이평[70](0);
if index == 0 then {
벽돌크기 = PriceScale * 단위호가; //_TickValue()는 사용자 함수
고[0] = C;
저[0] = C;
}
if 방향 == 0 then {
if 저[0] - 벽돌크기 >= C then {
저[0] = 저[0] - int((저[0]-C)/벽돌크기)*벽돌크기;
방향 = 하락;
}
else if 고[0] + 벽돌크기 <= C then {
고[0] = 고[0] + int((C-고[0])/벽돌크기)*벽돌크기;
방향 = 상승;
}
}
else if 방향 == 하락 then {
if 저[0] - 벽돌크기 >= C then
저[0] = 저[0] - int((저[0]-C)/벽돌크기)*벽돌크기;
if 저[0] + 2*벽돌크기 <= C then {
for j = 8 downto 0 {
고[j+1] = 고[j];
}
방향 = 상승;
고[0] = 저[0] + int((C-저[0])/벽돌크기)*벽돌크기;
}
}
else if 방향 == 상승 then {
if 고[0] + 벽돌크기 <= C then
고[0] = 고[0] + int((C-고[0])/벽돌크기)*벽돌크기;
if 고[0] - 2*벽돌크기 >= C then {
for j = 8 downto 0 {
저[j+1] = 저[j];
}
방향 = 하락;
저[0] = 고[0] - int((고[0]-C)/벽돌크기)*벽돌크기;
}
}
if 방향[1]==하락 and 방향==상승 then{
이평[0] = 저[0];
for cnt = 1 to 60{
이평[cnt] = 이평[cnt-1][1];
}
}
if 방향[1]==상승 and 방향==하락 then{
이평[0] = 고[0];
for cnt = 1 to 60{
이평[cnt] = 이평[cnt-1][1];
}
}
sum1 = 0;
sum2 = 0;
for count = 0 to P2{
if count < P1 Then
sum1 = sum1+이평[count];
if count < P2 Then
sum2 = sum2+이평[count];
}
mav1 = sum1/P1;
mav2 = sum2/P2;
if 방향[1]==하락 and 방향==상승 then{
plot1(저[0],"렌코차트",Blue);
plot2(mav1,"이평20",Blue);
plot3(mav2,"이평60",Blue);
}
if 방향[1]==상승 and 방향==하락 then{
plot1(고[0],"렌코차트",RED);
plot2(mav1,"이평20",RED);
plot3(mav2,"이평60",RED);
}
즐거운 하루되세요
> 베르테르 님이 쓴 글입니다.
> 제목 : 답변 감사합니다.
> 렌코 지표식이 제대로 돌아가네요 감사합니다.
이 지표식에 20일선과 60일선 이동평균을 구해서 그 값을 시스템에 응용하고 싶습니다. 어떻게 해야 하나요?
1.
input:단위호가(5);
var:j(0),벽돌크기(0),방향(0),상승(1),하락(-1);
array:고[10](0),저[10](0);
if index == 0 then {
벽돌크기 = PriceScale * 단위호가; //_TickValue()는 사용자 함수
고[0] = C;
저[0] = C;
}
if 방향 == 0 then {
if 저[0] - 벽돌크기 >= C then {
저[0] = 저[0] - int((저[0]-C)/벽돌크기)*벽돌크기;
방향 = 하락;
}
else if 고[0] + 벽돌크기 <= C then {
고[0] = 고[0] + int((C-고[0])/벽돌크기)*벽돌크기;
방향 = 상승;
}
}
else if 방향 == 하락 then {
if 저[0] - 벽돌크기 >= C then
저[0] = 저[0] - int((저[0]-C)/벽돌크기)*벽돌크기;
if 저[0] + 2*벽돌크기 <= C then {
for j = 8 downto 0 {
고[j+1] = 고[j];
}
방향 = 상승;
고[0] = 저[0] + int((C-저[0])/벽돌크기)*벽돌크기;
}
}
else if 방향 == 상승 then {
if 고[0] + 벽돌크기 <= C then
고[0] = 고[0] + int((C-고[0])/벽돌크기)*벽돌크기;
if 고[0] - 2*벽돌크기 >= C then {
for j = 8 downto 0 {
저[j+1] = 저[j];
}
방향 = 하락;
저[0] = 고[0] - int((고[0]-C)/벽돌크기)*벽돌크기;
}
}
if 방향[1]==하락 and 방향==상승 then
plot1(저[0],"렌코차트",Blue);
if 방향[1]==상승 and 방향==하락 then
plot1(고[0],"렌코차트",RED);