커뮤니티

전고전저

프로필 이미지
스로우
2014-03-17 16:23:14
230
글번호 73558
답변완료
분봉의 정규장챠트에서 참조데이터로 일봉복합장을 선정한 상태에서 참조데이터를 이용해서 a)정규장과 b)CME, c)복합장의 1)월고저,2)주고저,3)전고저,4)전일종가,5)전일중심값을 챠트에 표시하고자 합니다. (복합장의 결과는 정규장이나 CME장과 겹치겠지만 그걸 체크하려고 하는 것입니다.. 3가지 장의 결과를 모두 출력할수있기를 원합니다) 도움부탁드립니다. 항상 감사드립니다^^
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2014-03-18 14:24:22

안녕하세요 예스스탁입니다. 주종목 분봉 정규장, 참조데이터(data2) 일봉 복합데이터 위 구성으로는 야간장을 따로 계산할수 업습니다. 야간장까지 계산하려면 data3으로 CME를 추가로 넣으셔야 합니다. var : cnt(0); Array : DayMonthOpen[50](0,data1),DayMonthHigh[50](0,data1),DayMonthLow[50](0,data1),DayMonthClose[50](0,data1); Array : CmeMonthOpen[50](0,data2),CmeMonthHigh[50](0,data2),CmeMonthLow[50](0,data2),CmeMonthClose[50](0,data2); Array : MixMonthOpen[50](0,data3),MixMonthHigh[50](0,data3),MixMonthLow[50](0,data3),MixMonthClose[50](0,data3); Array : DayWeekOpen[50](0,data1),DayWeekHigh[50](0,data1),DayWeekLow[50](0,data1),DayWeekClose[50](0,data1); Array : CmeWeekOpen[50](0,data2),CmeWeekHigh[50](0,data2),CmeWeekLow[50](0,data2),CmeWeekClose[50](0,data2); Array : MixWeekOpen[50](0,data3),MixWeekHigh[50](0,data3),MixWeekLow[50](0,data3),MixWeekClose[50](0,data3); if data1(sdate > sdate[1]+30) Then{ DayMonthOpen[0] = data1(O); DayMonthHigh[0] = data1(H); DayMonthLow[0] = data1(L); for cnt = 1 to 20{ DayMonthOpen[cnt] = DayMonthOpen[cnt-1][1]; DayMonthHigh[cnt] = DayMonthHigh[cnt-1][1]; DayMonthLow[cnt] = DayMonthLow[cnt-1][1]; DayMonthClose[cnt] = DayMonthClose[cnt-1][1]; } } if data1(H > DayMonthHigh[0]) Then DayMonthHigh[0] = data1(H); if data1(L < DayMonthLow[0]) Then DayMonthLow[0] = data1(L); DayMonthClose[0] = data1(c); if data1(dayofweek(sdate) < dayofweek(sdate[1])) Then{ DayWeekOpen[0] = data1(O); DayWeekHigh[0] = data1(H); DayWeekLow[0] = data1(L); for cnt = 1 to 20{ DayWeekOpen[cnt] = DayWeekOpen[cnt-1][1]; DayWeekHigh[cnt] = DayWeekHigh[cnt-1][1]; DayWeekLow[cnt] = DayWeekLow[cnt-1][1]; DayWeekClose[cnt] = DayWeekClose[cnt-1][1]; } } if data1(H > DayWeekHigh[0]) Then DayWeekHigh[0] = data1(H); if data1(L < DayWeekLow[0]) Then DayWeekLow[0] = data1(L); DayWeekClose[0] = data1(c); if data2(sdate > sdate[1]+30) Then{ MixMonthOpen[0] = data2(O); MixMonthHigh[0] = data2(H); MixMonthLow[0] = data2(L); for cnt = 1 to 20{ MixMonthOpen[cnt] = MixMonthOpen[cnt-1][1]; MixMonthHigh[cnt] = MixMonthHigh[cnt-1][1]; MixMonthLow[cnt] = MixMonthLow[cnt-1][1]; MixMonthClose[cnt] = MixMonthClose[cnt-1][1]; } } if data2(H > MixMonthHigh[0]) Then MixMonthHigh[0] = data2(H); if data2(L < MixMonthLow[0]) Then MixMonthLow[0] = data2(L); MixMonthClose[0] = data2(c); if data2(dayofweek(sdate) < dayofweek(sdate[1])) Then{ MixWeekOpen[0] = data2(O); MixWeekHigh[0] = data2(H); MixWeekLow[0] = data2(L); for cnt = 1 to 20{ MixWeekOpen[cnt] = MixWeekOpen[cnt-1][1]; MixWeekHigh[cnt] = MixWeekHigh[cnt-1][1]; MixWeekLow[cnt] = MixWeekLow[cnt-1][1]; MixWeekClose[cnt] = MixWeekClose[cnt-1][1]; } } if data2(H > MixWeekHigh[0]) Then MixWeekHigh[0] = data2(H); if data2(L < MixWeekLow[0]) Then MixWeekLow[0] = data2(L); MixWeekClose[0] = data2(c); if data3(sdate > sdate[1]+30) Then{ CmeMonthOpen[0] = data3(O); CmeMonthHigh[0] = data3(H); CmeMonthLow[0] = data3(L); for cnt = 1 to 20{ CmeMonthOpen[cnt] = CmeMonthOpen[cnt-1][1]; CmeMonthHigh[cnt] = CmeMonthHigh[cnt-1][1]; CmeMonthLow[cnt] = CmeMonthLow[cnt-1][1]; CmeMonthClose[cnt] = CmeMonthClose[cnt-1][1]; } } if data3(H > CmeMonthHigh[0]) Then CmeMonthHigh[0] = data3(H); if data3(L < CmeMonthLow[0]) Then CmeMonthLow[0] = data3(L); CmeMonthClose[0] = data2(c); if data3(dayofweek(sdate) < dayofweek(sdate[1])) Then{ CmeWeekOpen[0] = data3(O); CmeWeekHigh[0] = data3(H); CmeWeekLow[0] = data3(L); for cnt = 1 to 20{ CmeWeekOpen[cnt] = CmeWeekOpen[cnt-1][1]; CmeWeekHigh[cnt] = CmeWeekHigh[cnt-1][1]; CmeWeekLow[cnt] = CmeWeekLow[cnt-1][1]; CmeWeekClose[cnt] = CmeWeekClose[cnt-1][1]; } } if data3(H > CmeWeekHigh[0]) Then CmeWeekHigh[0] = data3(H); if data3(L < CmeWeekLow[0]) Then CmeWeekLow[0] = data3(L); CmeWeekClose[0] = data2(c); plot1(MixMonthHigh[0]); plot2(MixMonthLow[0]); plot3(CmeMonthHigh[0]); plot4(CmeMonthLow[0]); plot5(DayMonthHigh[0]); plot6(DayMonthLow[0]); plot7(MixWeekHigh[0]); plot8(MixWeekLow[0]); plot9(CmeWeekHigh[0]); plot10(CmeWeekLow[0]); plot11(DayWeekHigh[0]); plot12(DayWeekLow[0]); plot13(data2(HighD(0)),"복합전일최고가"); plot14(data2(LowD(0)),"복합전일최저가"); plot15(data2((highD(0)+LowD(0))/2),"복합전일중심가"); plot16(data3(HighD(0)),"CME전일최고가"); plot17(data3(LowD(0)),"CME전일최저가"); plot18(data3((highD(0)+LowD(0))/2),"Cme전일중심가"); plot19(data1(DayHigh(0)),"주간전일최고가"); plot20(data1(DayLow(0)),"주간전일최저가"); plot21(data1((Dayhigh(0)+Daylow(0))/2),"주간전일중심가"); 수식에 월간/주간 시고저종가 모두 처리되어 있습니다. 배열변수의 앞에 Mix가 복합, Cme가 야간, day가 주간입니다. 수식에서 일봉값을 가져오는 함수에서 (0)이 가장최근 완성된 봉의 값입니다. 일봉은 최근완성된 봉이 전일봉이므로 (0)이 전일입니다 전고저는 의미가 불명확하여 처리하지 못했습니다. 즐거운 하루되세요 > 스로우 님이 쓴 글입니다. > 제목 : 전고전저 > 분봉의 정규장챠트에서 참조데이터로 일봉복합장을 선정한 상태에서 참조데이터를 이용해서 a)정규장과 b)CME, c)복합장의 1)월고저,2)주고저,3)전고저,4)전일종가,5)전일중심값을 챠트에 표시하고자 합니다. (복합장의 결과는 정규장이나 CME장과 겹치겠지만 그걸 체크하려고 하는 것입니다.. 3가지 장의 결과를 모두 출력할수있기를 원합니다) 도움부탁드립니다. 항상 감사드립니다^^