커뮤니티

분봉차트에서 일봉지표 활용식 문의

프로필 이미지
일목초인
2015-05-14 12:01:42
138
글번호 86026
답변완료
분봉차트에서 일봉지표 활용에 참고하고자 문의드립니다. 예를 들어 다음과 같은 조건을 분봉차트만 가지고 하는 경우와 참조Data2에 일봉을 설정하고 하는 경우 각각 두가지 식을 부탁드립니다. 수식1 "분봉차트에서 오늘 일봉의 CMO(Chande Momentum Oscillator) 값이 어제 일봉의 CMO 값보다 크면 매수하라" 수식2 "분봉차트에서 어제 일봉의 CMO(Chande Momentum Oscillator) 값이 5일전 일봉의 CMO 값보다 크면 매수하라" 참조Data2에 일봉을 설정하고 관련 지표 사용할 경우 시뮬레이션과 실시간 적용시의 오차나 수식 작성에 주의점이 있다면 같이 설명 부탁드립니다. 감사합니다~
시스템
답변 3
프로필 이미지

예스스탁 예스스탁 답변

2015-05-14 15:29:57

안녕하세요 예스스탁입니다. 우선 문의하신 내용중 일봉차트를 data2로 추가하시면 당일값은 사용이 가능하지 않습니다. 수식은 완성봉의 값만 이용을 하므로 당일일봉은 미완성이므로 해당봉에서 값을 가져와 비교할수가 없습니다. 문의하신 내용은 분봉차트에서 수식으로 일봉의 지표값을 구현해서 사용하셔야 합니다. 아래식은 모두 분봉차트에서 일봉 CMO를 계산해서 매수식 작성을 했습니다. 1. input : Length(9); var : cnt(0),diff(0),sum(0),CMOV(0),diff1(0),sum1(0),CMOV1(0); #오늘 일봉의 CMO계산 diff = DayClose-DayClose(Length); sum = 0; for cnt = 0 to Length-1{ sum = sum+(DayClose(cnt)-DayClose(cnt+1)); } CMOV = 100 * diff / sum; #전일 일봉의 CMO계산 diff1 = DayClose(1)-DayClose(Length+1); sum1 = 0; for cnt = 1 to Length{ sum1 = sum1+(DayClose(cnt)-DayClose(cnt+1)); } CMOV1 = 100 * diff1 / sum1; if CMOV > CMOV1 Then buy(); 2. input : Length(9); var : cnt(0),diff(0),sum(0),CMOV(0),diff1(0),sum1(0),CMOV1(0); #오늘 일봉의 CMO계산 diff = DayClose-DayClose(Length); sum = 0; for cnt = 0 to Length-1{ sum = sum+(DayClose(cnt)-DayClose(cnt+1)); } CMOV = 100 * diff / sum; #5일전 일봉의 CMO계산 diff1 = DayClose(5)-DayClose(Length+5); sum1 = 0; for cnt = 5 to (Length-1)+5{ sum1 = sum1+(DayClose(cnt)-DayClose(cnt+1)); } CMOV1 = 100 * diff1 / sum1; if CMOV > CMOV1 Then buy(); 즐거운 하루되세요 > 일목초인 님이 쓴 글입니다. > 제목 : 분봉차트에서 일봉지표 활용식 문의 > 분봉차트에서 일봉지표 활용에 참고하고자 문의드립니다. 예를 들어 다음과 같은 조건을 분봉차트만 가지고 하는 경우와 참조Data2에 일봉을 설정하고 하는 경우 각각 두가지 식을 부탁드립니다. 수식1 "분봉차트에서 오늘 일봉의 CMO(Chande Momentum Oscillator) 값이 어제 일봉의 CMO 값보다 크면 매수하라" 수식2 "분봉차트에서 어제 일봉의 CMO(Chande Momentum Oscillator) 값이 5일전 일봉의 CMO 값보다 크면 매수하라" 참조Data2에 일봉을 설정하고 관련 지표 사용할 경우 시뮬레이션과 실시간 적용시의 오차나 수식 작성에 주의점이 있다면 같이 설명 부탁드립니다. 감사합니다~
프로필 이미지

일목초인

2015-05-14 16:34:50

작성해주신 식을 참고하여 지표를 만들어서 5분봉에 적용해 봤는데요 CMO값이 모두 100으로 직선 하나로 나옵니다. input : Length(9); var : cnt(0),diff(0),sum(0),CMOV(0), cnt1(0),diff1(0),sum1(0),CMOV1(0), cnt2(0),diff2(0),sum2(0),CMOV2(0); #오늘 일봉의 CMO계산 diff = DayClose-DayClose(Length); sum = 0; for cnt = 0 to Length-1{ sum = sum+(DayClose(cnt)-DayClose(cnt+1)); } CMOV = 100 * diff / sum; #전일 일봉의 CMO계산 diff1 = DayClose(1)-DayClose(Length+1); sum1 = 0; for cnt1 = 1 to Length{ sum1 = sum1+(DayClose(cnt1)-DayClose(cnt1+1)); } CMOV1 = 100 * diff1 / sum1; #2일전 일봉의 CMO계산 diff2 = DayClose(2)-DayClose(Length+2); sum2 = 0; for cnt2 = 2 to (Length-1)+2{ sum2 = sum2+(DayClose(cnt2)-DayClose(cnt2+1)); } CMOV2 = 100 * diff2 / sum2; Plot1(CMOV, "CMOV"); Plot2(CMOV1, "CMOV1"); Plot3(CMOV2, "CMOV2"); 확인 부탁드립니다. 항상 감사합니다~ > 예스스탁 님이 쓴 글입니다. > 제목 : Re : 분봉차트에서 일봉지표 활용식 문의 > 안녕하세요 예스스탁입니다. 우선 문의하신 내용중 일봉차트를 data2로 추가하시면 당일값은 사용이 가능하지 않습니다. 수식은 완성봉의 값만 이용을 하므로 당일일봉은 미완성이므로 해당봉에서 값을 가져와 비교할수가 없습니다. 문의하신 내용은 분봉차트에서 수식으로 일봉의 지표값을 구현해서 사용하셔야 합니다. 아래식은 모두 분봉차트에서 일봉 CMO를 계산해서 매수식 작성을 했습니다. 1. input : Length(9); var : cnt(0),diff(0),sum(0),CMOV(0),diff1(0),sum1(0),CMOV1(0); #오늘 일봉의 CMO계산 diff = DayClose-DayClose(Length); sum = 0; for cnt = 0 to Length-1{ sum = sum+(DayClose(cnt)-DayClose(cnt+1)); } CMOV = 100 * diff / sum; #전일 일봉의 CMO계산 diff1 = DayClose(1)-DayClose(Length+1); sum1 = 0; for cnt = 1 to Length{ sum1 = sum1+(DayClose(cnt)-DayClose(cnt+1)); } CMOV1 = 100 * diff1 / sum1; if CMOV > CMOV1 Then buy(); 2. input : Length(9); var : cnt(0),diff(0),sum(0),CMOV(0),diff1(0),sum1(0),CMOV1(0); #오늘 일봉의 CMO계산 diff = DayClose-DayClose(Length); sum = 0; for cnt = 0 to Length-1{ sum = sum+(DayClose(cnt)-DayClose(cnt+1)); } CMOV = 100 * diff / sum; #5일전 일봉의 CMO계산 diff1 = DayClose(5)-DayClose(Length+5); sum1 = 0; for cnt = 5 to (Length-1)+5{ sum1 = sum1+(DayClose(cnt)-DayClose(cnt+1)); } CMOV1 = 100 * diff1 / sum1; if CMOV > CMOV1 Then buy(); 즐거운 하루되세요 > 일목초인 님이 쓴 글입니다. > 제목 : 분봉차트에서 일봉지표 활용식 문의 > 분봉차트에서 일봉지표 활용에 참고하고자 문의드립니다. 예를 들어 다음과 같은 조건을 분봉차트만 가지고 하는 경우와 참조Data2에 일봉을 설정하고 하는 경우 각각 두가지 식을 부탁드립니다. 수식1 "분봉차트에서 오늘 일봉의 CMO(Chande Momentum Oscillator) 값이 어제 일봉의 CMO 값보다 크면 매수하라" 수식2 "분봉차트에서 어제 일봉의 CMO(Chande Momentum Oscillator) 값이 5일전 일봉의 CMO 값보다 크면 매수하라" 참조Data2에 일봉을 설정하고 관련 지표 사용할 경우 시뮬레이션과 실시간 적용시의 오차나 수식 작성에 주의점이 있다면 같이 설명 부탁드립니다. 감사합니다~
프로필 이미지

예스스탁 예스스탁 답변

2015-05-14 16:57:16

안녕하세요 예스스탁입니다. 죄송합니다. 절대값 함수가 빠졌습니다. 아래식 다시 사용하시면 됩니다. 1. 지표 input : Length(9); var : cnt(0),diff(0),sum(0),CMOV(0); #오늘 일봉의 CMO계산 diff = DayClose-DayClose(Length); sum = 0; for cnt = 0 to Length-1{ sum = sum+abs(DayClose(cnt)-DayClose(cnt+1)); } CMOV = 100 * diff / sum; plot1(CMOV); 2. input : Length(9); var : cnt(0),diff(0),sum(0),CMOV(0),diff1(0),sum1(0),CMOV1(0); #오늘 일봉의 CMO계산 diff = DayClose-DayClose(Length); sum = 0; for cnt = 0 to Length-1{ sum = sum+abs(DayClose(cnt)-DayClose(cnt+1)); } CMOV = 100 * diff / sum; #전일 일봉의 CMO계산 diff1 = DayClose(1)-DayClose(Length+1); sum1 = 0; for cnt = 1 to Length{ sum1 = sum1+abs(DayClose(cnt)-DayClose(cnt+1)); } CMOV1 = 100 * diff1 / sum1; if CMOV > CMOV1 Then buy(); 3. input : Length(9); var : cnt(0),diff(0),sum(0),CMOV(0),diff1(0),sum1(0),CMOV1(0); #오늘 일봉의 CMO계산 diff = DayClose-DayClose(Length); sum = 0; for cnt = 0 to Length-1{ sum = sum+abs(DayClose(cnt)-DayClose(cnt+1)); } CMOV = 100 * diff / sum; #5일전 일봉의 CMO계산 diff1 = DayClose(5)-DayClose(Length+5); sum1 = 0; for cnt = 5 to (Length-1)+5{ sum1 = sum1+abs(DayClose(cnt)-DayClose(cnt+1)); } CMOV1 = 100 * diff1 / sum1; if CMOV > CMOV1 Then buy(); 즐거운 하루되세요 > 일목초인 님이 쓴 글입니다. > 제목 : CMO 값이 제데로 나오지 않습니다~ > 작성해주신 식을 참고하여 지표를 만들어서 5분봉에 적용해 봤는데요 CMO값이 모두 100으로 직선 하나로 나옵니다. input : Length(9); var : cnt(0),diff(0),sum(0),CMOV(0), cnt1(0),diff1(0),sum1(0),CMOV1(0), cnt2(0),diff2(0),sum2(0),CMOV2(0); #오늘 일봉의 CMO계산 diff = DayClose-DayClose(Length); sum = 0; for cnt = 0 to Length-1{ sum = sum+(DayClose(cnt)-DayClose(cnt+1)); } CMOV = 100 * diff / sum; #전일 일봉의 CMO계산 diff1 = DayClose(1)-DayClose(Length+1); sum1 = 0; for cnt1 = 1 to Length{ sum1 = sum1+(DayClose(cnt1)-DayClose(cnt1+1)); } CMOV1 = 100 * diff1 / sum1; #2일전 일봉의 CMO계산 diff2 = DayClose(2)-DayClose(Length+2); sum2 = 0; for cnt2 = 2 to (Length-1)+2{ sum2 = sum2+(DayClose(cnt2)-DayClose(cnt2+1)); } CMOV2 = 100 * diff2 / sum2; Plot1(CMOV, "CMOV"); Plot2(CMOV1, "CMOV1"); Plot3(CMOV2, "CMOV2"); 확인 부탁드립니다. 항상 감사합니다~ > 예스스탁 님이 쓴 글입니다. > 제목 : Re : 분봉차트에서 일봉지표 활용식 문의 > 안녕하세요 예스스탁입니다. 우선 문의하신 내용중 일봉차트를 data2로 추가하시면 당일값은 사용이 가능하지 않습니다. 수식은 완성봉의 값만 이용을 하므로 당일일봉은 미완성이므로 해당봉에서 값을 가져와 비교할수가 없습니다. 문의하신 내용은 분봉차트에서 수식으로 일봉의 지표값을 구현해서 사용하셔야 합니다. 아래식은 모두 분봉차트에서 일봉 CMO를 계산해서 매수식 작성을 했습니다. 1. input : Length(9); var : cnt(0),diff(0),sum(0),CMOV(0),diff1(0),sum1(0),CMOV1(0); #오늘 일봉의 CMO계산 diff = DayClose-DayClose(Length); sum = 0; for cnt = 0 to Length-1{ sum = sum+(DayClose(cnt)-DayClose(cnt+1)); } CMOV = 100 * diff / sum; #전일 일봉의 CMO계산 diff1 = DayClose(1)-DayClose(Length+1); sum1 = 0; for cnt = 1 to Length{ sum1 = sum1+(DayClose(cnt)-DayClose(cnt+1)); } CMOV1 = 100 * diff1 / sum1; if CMOV > CMOV1 Then buy(); 2. input : Length(9); var : cnt(0),diff(0),sum(0),CMOV(0),diff1(0),sum1(0),CMOV1(0); #오늘 일봉의 CMO계산 diff = DayClose-DayClose(Length); sum = 0; for cnt = 0 to Length-1{ sum = sum+(DayClose(cnt)-DayClose(cnt+1)); } CMOV = 100 * diff / sum; #5일전 일봉의 CMO계산 diff1 = DayClose(5)-DayClose(Length+5); sum1 = 0; for cnt = 5 to (Length-1)+5{ sum1 = sum1+(DayClose(cnt)-DayClose(cnt+1)); } CMOV1 = 100 * diff1 / sum1; if CMOV > CMOV1 Then buy(); 즐거운 하루되세요 > 일목초인 님이 쓴 글입니다. > 제목 : 분봉차트에서 일봉지표 활용식 문의 > 분봉차트에서 일봉지표 활용에 참고하고자 문의드립니다. 예를 들어 다음과 같은 조건을 분봉차트만 가지고 하는 경우와 참조Data2에 일봉을 설정하고 하는 경우 각각 두가지 식을 부탁드립니다. 수식1 "분봉차트에서 오늘 일봉의 CMO(Chande Momentum Oscillator) 값이 어제 일봉의 CMO 값보다 크면 매수하라" 수식2 "분봉차트에서 어제 일봉의 CMO(Chande Momentum Oscillator) 값이 5일전 일봉의 CMO 값보다 크면 매수하라" 참조Data2에 일봉을 설정하고 관련 지표 사용할 경우 시뮬레이션과 실시간 적용시의 오차나 수식 작성에 주의점이 있다면 같이 설명 부탁드립니다. 감사합니다~