커뮤니티

시스템식 답변대로 실행 후 문의드립니다.

프로필 이미지
산본드래곤
2022-04-27 14:54:24
1247
글번호 158391
답변완료
안녕하세요. 답변 주신대로 적용하였는데도 잘 되지 않아 문의 드립니다. 현재 제가 사용하는 Data1은 3분 차트이고 Data2는 5분 차트입니다. 혹시 3분과 5분 차트에서 발생되는 시간의 갭 때문에 재대로 적용이 안될 수도 있나요? 제가 원하는 식은 3분 차트에서 3봉전 내에서 2선과 60선이 Crossup이 됐을 경우 진입 금지 && 5분 차트에서 3봉전 내에서 1선과 30선이 Crossup이 됐을 경우 진입 금지 식은 아래와 같이 적용하였습니다. Vars : Cond29(False,Data1),Cond30(False,Data1),Cond31(False,Data2),Cond32(False,Data2); vars : Ma1(0,data1), Ma2(0,data1), Ma3(0,data2), Ma4(0,data2); Ma1 = Data1(Ma(close,2)); Ma2 = Data1(Ma(close,60)); Ma3 = Data2(Ma(close,1)); Ma4 = Data2(Ma(close,30)); Cond29 = CrossUp(Ma1, Ma2); Cond30 = Data1(CountIF(Cond29, 3)) < 1; Cond31 = CrossUp(Ma3, Ma4); Cond32 = Data2(CountIF(Cond31, 3)) < 1; if Cond30 && Cond32 Then { ~실행 } 제가 어떤 부분을 놓쳤는지 확인해주시면 감사하겠습니다. 감사합니다.
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2022-04-27 15:51:57

안녕하세요 예스스탁입니다. 랭귀지는 완성봉기준입니다. 기본차트인 3분봉 완성시에 5분봉도 완성된 봉만 기준으로 해당 조건을 체크합니다. 의도하시는 부분이 미완성 5분봉이 추가되는 내용이면 구현이 불가능합니다. 해당 수식에 별도로 문제는 없습니다. crossup도 각 데이타번호로 묶어 드립니다. Vars : Cond29(False,Data1),Cond30(False,Data1),Cond31(False,Data2),Cond32(False,Data2); vars : Ma1(0,data1), Ma2(0,data1), Ma3(0,data2), Ma4(0,data2); Ma1 = Data1(Ma(close,2)); Ma2 = Data1(Ma(close,60)); Ma3 = Data2(Ma(close,1)); Ma4 = Data2(Ma(close,30)); Cond29 = data1(CrossUp(Ma1, Ma2)); Cond30 = Data1(CountIF(Cond29, 3)) < 1; Cond31 = data2(CrossUp(Ma3, Ma4)); Cond32 = Data2(CountIF(Cond31, 3)) < 1; if Cond30 && Cond32 Then { ~실행 } 즐거운 하루되세요 > 산본드래곤 님이 쓴 글입니다. > 제목 : 시스템식 답변대로 실행 후 문의드립니다. > 안녕하세요. 답변 주신대로 적용하였는데도 잘 되지 않아 문의 드립니다. 현재 제가 사용하는 Data1은 3분 차트이고 Data2는 5분 차트입니다. 혹시 3분과 5분 차트에서 발생되는 시간의 갭 때문에 재대로 적용이 안될 수도 있나요? 제가 원하는 식은 3분 차트에서 3봉전 내에서 2선과 60선이 Crossup이 됐을 경우 진입 금지 && 5분 차트에서 3봉전 내에서 1선과 30선이 Crossup이 됐을 경우 진입 금지 식은 아래와 같이 적용하였습니다. Vars : Cond29(False,Data1),Cond30(False,Data1),Cond31(False,Data2),Cond32(False,Data2); vars : Ma1(0,data1), Ma2(0,data1), Ma3(0,data2), Ma4(0,data2); Ma1 = Data1(Ma(close,2)); Ma2 = Data1(Ma(close,60)); Ma3 = Data2(Ma(close,1)); Ma4 = Data2(Ma(close,30)); Cond29 = CrossUp(Ma1, Ma2); Cond30 = Data1(CountIF(Cond29, 3)) < 1; Cond31 = CrossUp(Ma3, Ma4); Cond32 = Data2(CountIF(Cond31, 3)) < 1; if Cond30 && Cond32 Then { ~실행 } 제가 어떤 부분을 놓쳤는지 확인해주시면 감사하겠습니다. 감사합니다.