커뮤니티

문의드립니다

프로필 이미지
구다이전설
2012-12-27 15:48:45
195
글번호 57638
답변완료
렌코챠트로 5일 지수이동평균선 10일 이동평균선 위로 교차 매수 아래 로 교차 매도 식을 구현 할 수 있나요
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2012-12-27 17:08:35

안녕하세요 예스스탁입니다. 이전에 올리신 식을 토대로 지수이평 계산공식을 대입해 만든식입니다. 지표식과 시스템식 두개 올려드립니다. 1 input:최소변화폭(5); input : Period1(5),Period2(20); var:j(0),벽돌크기(0),벽돌개수(0),방향(0),상승(1),하락(-1),Sum(0),CSum(0); var : EP1(0),EP2(0),emav1(0),emav2(0),x(0); array:고[10](0),저[10](0),렌코[500](0); if index == 0 then { 벽돌크기 = 최소변화폭; 고[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] - 3*벽돌크기 >= 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] - 벽돌크기; } } } } #지수이평계산 Ep1 = 2/(Period1+1); Ep2 = 2/(Period2+1); if 렌코[0] != 렌코[0][1] Then{ x = x+1; if x <= 1 Then{ emav1 = 렌코[0]; emav2 = 렌코[0]; } Else{ emav1 = 렌코[0]* EP1 + EMAV1 * (1-EP1); emav2 = 렌코[0]* EP2 + EMAV2 * (1-EP2); } } if crossup(emav1,emav2) Then buy(); if CrossDown(emav1,emav2) Then sell(); 2, 지표식 input:최소변화폭(5); input : Period1(5),Period2(20); var:j(0),벽돌크기(0),벽돌개수(0),방향(0),상승(1),하락(-1),Sum(0),CSum(0); var : EP1(0),EP2(0),emav1(0),emav2(0),x(0); array:고[10](0),저[10](0),렌코[500](0); if index == 0 then { 벽돌크기 = 최소변화폭; 고[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] - 3*벽돌크기 >= 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] - 벽돌크기; } } } } #지수이평계산 Ep1 = 2/(Period1+1); Ep2 = 2/(Period2+1); if 렌코[0] != 렌코[0][1] Then{ x = x+1; if x <= 1 Then{ emav1 = 렌코[0]; emav2 = 렌코[0]; } Else{ emav1 = 렌코[0]* EP1 + EMAV1 * (1-EP1); emav2 = 렌코[0]* EP2 + EMAV2 * (1-EP2); } } plot1(렌코[0]); plot2(emav1); plot3(emav2); 즐거운 하루되세요 > 구다이전설 님이 쓴 글입니다. > 제목 : 문의드립니다 > 렌코챠트로 5일 지수이동평균선 10일 이동평균선 위로 교차 매수 아래 로 교차 매도 식을 구현 할 수 있나요