커뮤니티

문의드립니다.

프로필 이미지
아싸가오리
2013-01-28 13:21:23
239
글번호 58699
답변완료
1.종가동시호가봉을 제외한 참조데이타1,2,3의 시고저종가를 계산해주는 식을 만들어주셨는데요.지표값 출력시 참조데이타 1,2,3의 시고저종가 값이 다르게 나오네요.확인 부탁드립니다. 2.1분봉 차트에서 10분봉 60분봉의 시고저종가를 배열변수로 저장되는 식에 밑의 종가(동시호가봉)을 제외하는 수식을 합쳐서 작성부탁드립니다. 예로 M10H[0],M10L[0],M10O[0],M10C[0] : 완성되지 않은 현재의 10분봉 시고저종가 M10H[1],M10L[1],M10O[1],M10C[1] 완성된 현재의 10분봉 시고저종가 M60H[0],M60L[0],M60O[0],M60C[0] : 완성되지 않은 현재의 60분봉 시고저종가 M60H[1],M60L[1],M60O[1],M60C[1] : 완성된 현재의 60분봉 시고저종가 단,종가 동시호가봉은 1분봉과 10분봉, 60분봉의 [0],[1],[2]에 속하지 않는다. 즉 저장되지 않는다. 3.실제매매에 랭귀지 적용후 컴퓨터안의 랭귀지를 삭제하면 매매프로그램이 실행되나 궁금합니다. 4.검색기간 500에 1분봉 현재봉 기준입니다. 종목검색을 할 때 조건검색 중 0% 정지해서 넘어가지 않네요. 종목검색기간을 줄이고 수식을 간소화해도요.다시 받기를 해도 그렇네요 수식도 검증에서 문제 없었는데 왜 그런지 모르겠네요. 어떻게 해야하죠? 현재봉이라서 그런가요? 답변 부탁드립니다. 수고하세요^^ var : cnt1(0,data1),cnt2(0,data2),cnt3(0,data3); Array : D1DO[10](0,data1),D1DH[10](0,data1),D1DL[10](0,data1),D1DC[10](0,data1); Array : D2DO[10](0,data2),D2DH[10](0,data2),D2DL[10](0,data2),D2DC[10](0,data2); Array : D3DO[10](0,data3),D3DH[10](0,data3),D3DL[10](0,data3),D3DC[10](0,data3); #data1 if data1(date != date[1]) Then{ D1DO[0] = data1(O); D1DH[0] = data1(H); D1DL[0] = data1(L); D1DC[0] = data1(C); for cnt1 = 1 to 9{ D1DO[cnt1] = D1DO[cnt1-1][1]; D1DH[cnt1] = D1DH[cnt1-1][1]; D1DL[cnt1] = D1DL[cnt1-1][1]; D1DC[cnt1] = D1DC[cnt1-1][1]; } } if data1(stime < 150000) Then{ if data1(H) > D1DH[0] Then D1DH[0] = data1(H); if data1(L) < D1DL[0] Then D1DL[0] = data1(L); } #data2 if data2(date != date[1]) Then{ D2DO[0] = data2(O); D2DH[0] = data2(H); D2DL[0] = data2(L); D2DC[0] = data2(C); for cnt2 = 1 to 9{ D2DO[cnt2] = D2DO[cnt2-1][1]; D2DH[cnt2] = D2DH[cnt2-1][1]; D2DL[cnt2] = D2DL[cnt2-1][1]; D2DC[cnt2] = D2DC[cnt2-1][1]; } } if data2(stime < 150000) Then{ if data2(H) > D2DH[0] Then D2DH[0] = data2(H); if data2(L) < D2DL[0] Then D2DL[0] = data2(L); } #data3 if data3(date != date[1]) Then{ D3DO[0] = data3(O); D3DH[0] = data3(H); D3DL[0] = data3(L); D3DC[0] = data3(C); for cnt3 = 1 to 9{ D3DO[cnt3] = D2DO[cnt3-1][1]; D3DH[cnt3] = D2DH[cnt3-1][1]; D3DL[cnt3] = D2DL[cnt3-1][1]; D3DC[cnt3] = D2DC[cnt3-1][1]; } } if data3(stime < 150000) Then{ if data3(H) > D3DH[0] Then D3DH[0] = data3(H); if data3(L) < D3DL[0] Then D3DL[0] = data3(L); } Plot1(D3DC[0]); Plot2(D3DO[0]); PLOT3(D3DH[0]); PLOT4(D3DL[0]);
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2013-01-28 13:34:19

안녕하세요 예스스탁입니다. 1. 해당 식은 모두 15시 이전까지만 값을 계산하게 되어 있습니다. 사용자분이 사용하시는 참조데이터의 종목별 혹은 주기별로 동시호가 봉의 시간이 몇시인지 파악하셔서 시간을 지정하셔야 합니다. 동시호가 봉이 따로 하나의 봉으로 나오는 주기에서는 시간을 지정해 제외할수 잇지만 선물이나 옵션과 같이 15시봉에 정규장과 동시호가가 같이 하나의 봉을 구성하는 종목에서는 봉을 분리해서 제외할수 없습니다. 해당 내용은 수식적으로 작성해드린내용외에 따로 작성할 방법이 없습니다. [0]은 현재 진행중인 봉의 시고저종가이고 [1]전일 [2]전전일 순입니다. 2. var : cnt1(0),cnt2(0); Array : M10H[50](0),M10L[50](0),M10O[50](0),M10C[50](0); Array : M60H[50](0),M60L[50](0),M60O[50](0),M60C[50](0); var1 = TimeToMinutes(stime)%10; var2 = TimeToMinutes(stime)%60; if dayindex ==0 or (var1 < var1[1] and stime > stime[1] and time < 150400) then{#주식이면 144900 M10O[0] = O; M10H[0] = H; M10L[0] = H; for cnt1 = 1 to 49{ M10O[cnt1] = M10O[cnt1-1][1]; M10H[cnt1] = M10H[cnt1-1][1]; M10L[cnt1] = M10L[cnt1-1][1]; M10C[cnt1] = M10C[cnt1-1][1]; } } if stime < 150000 Then{ if H > M10H[0] Then M10H[0] = H; if L < M10L[0] Then M10L[0] = L; M10C[0] = C; } if dayindex ==0 or (var2 < var2[1] and stime > stime[1] and time < 150459) then{#주식이면 144900 M60O[0] = O; M60H[0] = H; M60L[0] = H; for cnt2 = 1 to 49{ M60O[cnt2] = M10O[cnt2-1][1]; M60H[cnt2] = M10H[cnt2-1][1]; M60L[cnt2] = M10L[cnt2-1][1]; M60C[cnt2] = M10C[cnt2-1][1]; } } if stime < 150000 Then{ if H > M60H[0] Then M60H[0] = H; if L < M60L[0] Then M60L[0] = L; M60C[0] = C; } 3, 적용되어 있는 식 삭제하시면 차트에서도 같이 사라집니다. 즐거운 하루되세요 > 아싸가오리 님이 쓴 글입니다. > 제목 : 문의드립니다. > 1.종가동시호가봉을 제외한 참조데이타1,2,3의 시고저종가를 계산해주는 식을 만들어주셨는데요.지표값 출력시 참조데이타 1,2,3의 시고저종가 값이 다르게 나오네요.확인 부탁드립니다. 2.1분봉 차트에서 10분봉 60분봉의 시고저종가를 배열변수로 저장되는 식에 밑의 종가(동시호가봉)을 제외하는 수식을 합쳐서 작성부탁드립니다. 예로 M10H[0],M10L[0],M10O[0],M10C[0] : 완성되지 않은 현재의 10분봉 시고저종가 M10H[1],M10L[1],M10O[1],M10C[1] 완성된 현재의 10분봉 시고저종가 M60H[0],M60L[0],M60O[0],M60C[0] : 완성되지 않은 현재의 60분봉 시고저종가 M60H[1],M60L[1],M60O[1],M60C[1] : 완성된 현재의 60분봉 시고저종가 단,종가 동시호가봉은 1분봉과 10분봉, 60분봉의 [0],[1],[2]에 속하지 않는다. 즉 저장되지 않는다. 3.실제매매에 랭귀지 적용후 컴퓨터안의 랭귀지를 삭제하면 매매프로그램이 실행되나 궁금합니다. 4.검색기간 500에 1분봉 현재봉 기준입니다. 종목검색을 할 때 조건검색 중 0% 정지해서 넘어가지 않네요. 종목검색기간을 줄이고 수식을 간소화해도요.다시 받기를 해도 그렇네요 수식도 검증에서 문제 없었는데 왜 그런지 모르겠네요. 어떻게 해야하죠? 현재봉이라서 그런가요? 답변 부탁드립니다. 수고하세요^^ var : cnt1(0,data1),cnt2(0,data2),cnt3(0,data3); Array : D1DO[10](0,data1),D1DH[10](0,data1),D1DL[10](0,data1),D1DC[10](0,data1); Array : D2DO[10](0,data2),D2DH[10](0,data2),D2DL[10](0,data2),D2DC[10](0,data2); Array : D3DO[10](0,data3),D3DH[10](0,data3),D3DL[10](0,data3),D3DC[10](0,data3); #data1 if data1(date != date[1]) Then{ D1DO[0] = data1(O); D1DH[0] = data1(H); D1DL[0] = data1(L); D1DC[0] = data1(C); for cnt1 = 1 to 9{ D1DO[cnt1] = D1DO[cnt1-1][1]; D1DH[cnt1] = D1DH[cnt1-1][1]; D1DL[cnt1] = D1DL[cnt1-1][1]; D1DC[cnt1] = D1DC[cnt1-1][1]; } } if data1(stime < 150000) Then{ if data1(H) > D1DH[0] Then D1DH[0] = data1(H); if data1(L) < D1DL[0] Then D1DL[0] = data1(L); } #data2 if data2(date != date[1]) Then{ D2DO[0] = data2(O); D2DH[0] = data2(H); D2DL[0] = data2(L); D2DC[0] = data2(C); for cnt2 = 1 to 9{ D2DO[cnt2] = D2DO[cnt2-1][1]; D2DH[cnt2] = D2DH[cnt2-1][1]; D2DL[cnt2] = D2DL[cnt2-1][1]; D2DC[cnt2] = D2DC[cnt2-1][1]; } } if data2(stime < 150000) Then{ if data2(H) > D2DH[0] Then D2DH[0] = data2(H); if data2(L) < D2DL[0] Then D2DL[0] = data2(L); } #data3 if data3(date != date[1]) Then{ D3DO[0] = data3(O); D3DH[0] = data3(H); D3DL[0] = data3(L); D3DC[0] = data3(C); for cnt3 = 1 to 9{ D3DO[cnt3] = D2DO[cnt3-1][1]; D3DH[cnt3] = D2DH[cnt3-1][1]; D3DL[cnt3] = D2DL[cnt3-1][1]; D3DC[cnt3] = D2DC[cnt3-1][1]; } } if data3(stime < 150000) Then{ if data3(H) > D3DH[0] Then D3DH[0] = data3(H); if data3(L) < D3DL[0] Then D3DL[0] = data3(L); } Plot1(D3DC[0]); Plot2(D3DO[0]); PLOT3(D3DH[0]); PLOT4(D3DL[0]);