커뮤니티

문의

프로필 이미지
회원
2005-07-04 00:17:11
1314
글번호 7679
답변완료
Input:p1(10) ; Var: sumV(0), maV(0), count(0); Var : value1(0), value2(0); If DayClose(1) > DayOpen(1) Then { value1 = (DayHigh(1)+DayLow(1)+DayClose(1)+DayHigh(1))/2-DayLow(1); value2 = (DayHigh(1)+DayLow(1)+DayClose(1)+DayHigh(1))/2-DayHigh(1); } Else If DayClose(1) < DayOpen(1) Then { value1 = (DayHigh(1)+DayLow(1)+DayClose(1)+DayLow(1))/2-DayLow(1); value2 = (DayHigh(1)+DayLow(1)+DayClose(1)+DayLow(1))/2-DayHigh(1); } Else { value1 = (DayHigh(1)+DayLow(1)+DayClose(1)+DayClose(1))/2-DayLow(1); value2 = (DayHigh(1)+DayLow(1)+DayClose(1)+DayClose(1))/2-DayHigh(1); } if date != date[1] then{ var1 = 0; var2 = var1[1]; } if var2 == 0 and crossup(c,value1*1.02) then if crossup(c, value1) && (DayHigh(1)+DayLow(1)+DayClose(1)+DayHigh(1))/2-DayLow(1) < (DayHigh(2)+DayLow(2)+DayClose(2)+DayHigh(2))/2-DayLow(2) && (DayHigh(1)+DayLow(1)+DayClose(1)+DayHigh(1))/2-DayLow(1)> (DayHigh(3)+DayLow(3)+DayClose(3)+DayHigh(3))/2-DayLow(3) && cnt <= 매매횟수 then { buy(); cnt = cnt +1;} ---------------------------------------------------------- 위에 수식 내용에 1) 현재에 디마크는 전일에 디마크보다 작아야하고 현재에 디마크는 그저께 디마크보다 커야 한다 이조건이 참이면 매수 그런데 맞는 것도 있는데 맞지 않는 것도 있네요 수식이 잘못 된건지 한번 봐주세요 어제 에 디마크/그제에 디마크 어떻게 표현을 해야 하는지 궁금 하네요? 2) 추가로 일봉에 이평을 분동에 표현할려고 합니다 /일봉에 20이평위에서만 매수 sumV = 0; for count = 0 to P1-1 {sumV = sumV+DayClose(count); } maV = sumV / P1; 이것으로 표현 했는데 않되네요/무엇이 잘못&#46124;는지? 3) if date != date[1] then{ var1 = 0; var2 = var1[1]; } if var2 == 0 and crossup(c,value1*1.02) then 이 내용은 오늘을 매수시점으로 보면 전일에 주가 가 디마크를 한번도 돌파하지않았다 라는 표현 인것같은데 다시 확인좀 부탁드립니다 너무 복잡하죠 죄송합니다 감사합니다 ^^
기타
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2005-07-05 14:48:23

안녕하세요 예스스탁입니다. 1. value1 값이 디마크분봉 상한선이고 value2가 디마크분봉 하한선입니다. 일봉에서라면 value1[1]이 전일값이고 value1[2]이 전전일 값입니다. 분봉에서는 아래와 같습니다. Input:p1(10) ; Var: sumV(0), maV(0), count(0); Var : value1(0), value2(0); if date != date[1] then{ value3 = value1[1]; //전일디마크상한선 value4 = value3[1]; //전전일디마크상한선 value5 = value2[1]; //전일디마크하한선 value6 = value5[1]; //전전일디마크하한선 } If DayClose(1) > DayOpen(1) Then { value1 = (DayHigh(1)+DayLow(1)+DayClose(1)+DayHigh(1))/2-DayLow(1); value2 = (DayHigh(1)+DayLow(1)+DayClose(1)+DayHigh(1))/2-DayHigh(1); } Else If DayClose(1) < DayOpen(1) Then { value1 = (DayHigh(1)+DayLow(1)+DayClose(1)+DayLow(1))/2-DayLow(1); value2 = (DayHigh(1)+DayLow(1)+DayClose(1)+DayLow(1))/2-DayHigh(1); } Else { value1 = (DayHigh(1)+DayLow(1)+DayClose(1)+DayClose(1))/2-DayLow(1); value2 = (DayHigh(1)+DayLow(1)+DayClose(1)+DayClose(1))/2-DayHigh(1); } 2. 분봉에서 일봉의 이동평균을 가져오는 식은 다음과 같습니다. input : P1(3), p2(5), p3(10); var : sumV1(0), sumV2(0), sumV3(0), maV1(0), maV2(0), maV3(0), count(0); sumV1 = 0; sumV2 = 0; sumV3 = 0; for count = 1 to p3 { if count <= p1 then sumV1 = sumV1 + DayClose(count); if count <= p2 then sumV2 = sumV2 + DayClose(count); if count <= p3 then sumV3 = sumV3 + DayClose(count); } maV1 = sumV1 / P1; maV2 = sumV2 / P2; maV3 = sumV3 / P3; plot1(maV1, "일봉이평1"); plot2(maV2, "일봉이평2"); plot3(maV3, "일봉이평3"); 3. 당일 분봉에서 디마크가 상향돌파한적이 있으면 var1 에 1값을 할당합니다. 날짜가 바뀌는 시점에 var2에 전일 var1에 할당된 값을 저장하고 var1은 0으로 초기화 하는 것입니다. 즐거운 하루되세요 > HH_hs0105 님이 쓴 글입니다. > 제목 : 문의 > Input:p1(10) ; Var: sumV(0), maV(0), count(0); Var : value1(0), value2(0); If DayClose(1) > DayOpen(1) Then { value1 = (DayHigh(1)+DayLow(1)+DayClose(1)+DayHigh(1))/2-DayLow(1); value2 = (DayHigh(1)+DayLow(1)+DayClose(1)+DayHigh(1))/2-DayHigh(1); } Else If DayClose(1) < DayOpen(1) Then { value1 = (DayHigh(1)+DayLow(1)+DayClose(1)+DayLow(1))/2-DayLow(1); value2 = (DayHigh(1)+DayLow(1)+DayClose(1)+DayLow(1))/2-DayHigh(1); } Else { value1 = (DayHigh(1)+DayLow(1)+DayClose(1)+DayClose(1))/2-DayLow(1); value2 = (DayHigh(1)+DayLow(1)+DayClose(1)+DayClose(1))/2-DayHigh(1); } if date != date[1] then{ var1 = 0; var2 = var1[1]; } if var2 == 0 and crossup(c,value1*1.02) then if crossup(c, value1) && (DayHigh(1)+DayLow(1)+DayClose(1)+DayHigh(1))/2-DayLow(1) < (DayHigh(2)+DayLow(2)+DayClose(2)+DayHigh(2))/2-DayLow(2) && (DayHigh(1)+DayLow(1)+DayClose(1)+DayHigh(1))/2-DayLow(1)> (DayHigh(3)+DayLow(3)+DayClose(3)+DayHigh(3))/2-DayLow(3) && cnt <= 매매횟수 then { buy(); cnt = cnt +1;} ---------------------------------------------------------- 위에 수식 내용에 1) 현재에 디마크는 전일에 디마크보다 작아야하고 현재에 디마크는 그저께 디마크보다 커야 한다 이조건이 참이면 매수 그런데 맞는 것도 있는데 맞지 않는 것도 있네요 수식이 잘못 된건지 한번 봐주세요 어제 에 디마크/그제에 디마크 어떻게 표현을 해야 하는지 궁금 하네요? 2) 추가로 일봉에 이평을 분동에 표현할려고 합니다 /일봉에 20이평위에서만 매수 sumV = 0; for count = 0 to P1-1 {sumV = sumV+DayClose(count); } maV = sumV / P1; 이것으로 표현 했는데 않되네요/무엇이 잘못&#46124;는지? 3) if date != date[1] then{ var1 = 0; var2 = var1[1]; } if var2 == 0 and crossup(c,value1*1.02) then 이 내용은 오늘을 매수시점으로 보면 전일에 주가 가 디마크를 한번도 돌파하지않았다 라는 표현 인것같은데 다시 확인좀 부탁드립니다 너무 복잡하죠 죄송합니다 감사합니다 ^^