커뮤니티
부탁드립니다...^^
2013-07-02 23:45:59
218
글번호 64945
아래 data1의 수식을 data2로 수식 변경하는 법 알려주세요
워락 초보이다 보니 도저히 모르겠네요..^^
1.갭보정 안한 식
2.갭보정 한 식 으로 data2로 둘다 변경해주세요
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)); //선그래프
답변 1
예스스탁 예스스탁 답변
2013-07-03 15:41:26
안녕하세요
예스스탁입니다.
input : 단위호가(5),단기(5),중기(20);
var : j(0,data2),벽돌크기(0,data2),벽돌개수(0,data2),방향(0,data2);
var : 단기이평(0,data2),중기이평(0,data2),단기가중이평(0,data2),중기가중이평(0,data2);
var : 상승(1),하락(-1),Sum(0),CSum(0);
array:고[10](0,data2),저[10](0,data2),렌코[500](0,data2);
var : gap(0,data2),sumgap(0,data2),GC(0,data2);
if data2(date!=date[1]) THen { // 날짜가 변경되는 봉에서(분봉에서 첫번째 봉)
gap = data2(Open-Close[1]); // 일간갭
sumGap = sumGap+gap; // 일간갭 누적
}
GC = data2(C) - sumGap; // 갭보정 종가
if data2(index == 0) then
{
방향 = 0;
벽돌크기 = data2(PriceScale * 단위호가);
고[0] = data2(GC);
저[0] = data2(GC);
렌코[0] = data2(GC);
}
#==========================================#
# 렌코 계산
#==========================================#
if 방향 == 0 then
{
if 저[0] - 벽돌크기 >= data2(GC) then
{
벽돌개수 = data2(int((저[0]-GC)/벽돌크기));
저[0] = data2(저[0] - 벽돌크기 * 벽돌개수);
방향 = 하락;
for j = 499 downto 벽돌개수
{
렌코[j] = 렌코[j-벽돌개수];
}
for j = 벽돌개수 - 1 downto 0
{
렌코[j] = 렌코[j+1] - 벽돌크기;
}
}
else if 고[0] + 벽돌크기 <= data2(GC) then
{
벽돌개수 = data2(int((GC-고[0])/벽돌크기));
고[0] = 고[0] + 벽돌크기 * 벽돌개수;
방향 = 상승;
for j = 499 downto 벽돌개수
{
렌코[j] = 렌코[j-벽돌개수];
}
for j = 벽돌개수 - 1 downto 0
{
렌코[j] = 렌코[j+1] + 벽돌크기;
}
}
}
else if 방향 == 하락 then
{
if 저[0] - 벽돌크기 >= data2(GC) then
{
벽돌개수 = data2(int((저[0]-GC)/벽돌크기));
저[0] = 저[0] - 벽돌크기 * 벽돌개수;
for j = 499 downto 벽돌개수
{
렌코[j] = 렌코[j-벽돌개수];
}
for j = 벽돌개수 - 1 downto 0
{
렌코[j] = 렌코[j+1] - 벽돌크기;
}
}
if 저[0] + 2*벽돌크기 <= data2(GC) then
{
for j = 8 downto 0
{
고[j+1] = 고[j];
}
방향 = 상승;
벽돌개수 = data2(int((GC-저[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] + 벽돌크기 <= data2(GC) then
{
벽돌개수 = data2(int((GC-고[0])/벽돌크기));
고[0] = 고[0] + 벽돌크기 * 벽돌개수;
for j = 499 downto 벽돌개수
{
렌코[j] = 렌코[j-벽돌개수];
}
for j = 벽돌개수 - 1 downto 0
{
렌코[j] = 렌코[j+1] + 벽돌크기;
}
}
if 고[0] - 2*벽돌크기 >= data2(GC) then
{
for j = 8 downto 0
{
저[j+1] = 저[j];
}
방향 = 하락;
벽돌개수 = data2(int((고[0]-GC)/벽돌크기));
저[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)); //선그래프
수식은 차트의 데이터를 사용하므로
기본차트속성에서 갭보정에 체크하시면 됩니다.
즐거운 하루되세요
> bbcc 님이 쓴 글입니다.
> 제목 : 부탁드립니다...^^
> 아래 data1의 수식을 data2로 수식 변경하는 법 알려주세요
워락 초보이다 보니 도저히 모르겠네요..^^
1.갭보정 안한 식
2.갭보정 한 식 으로 data2로 둘다 변경해주세요
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)); //선그래프
다음글
이전글