커뮤니티

2일 연속거래일 매매

프로필 이미지
새로운세상
2011-01-19 07:36:55
659
글번호 35083
답변완료
안녕하세요.. 다음 수식 정정 부탁드립니다. 주데이타 30분봉 연결선물지수, data2 다우지수(.DJI) 일봉입니다. 1) 미국증시가 미국기준 1월17일 공휴일이었습니다. 이렇게 미국의 공휴일이 중간에 있을 경우 미국증시가 토,일요일을 제외하고 2일 연속거래가 발생할 때까지 국내증시의 매매를 생략하고 싶습니다. 2) 부연하면, 2011년 1월중 미국증시가 공휴일 없이 정상매매가 계속되었으므로, 연결선물도 정상적으로 매매를 함. 미국기준 1월17일 공휴일, 국내기준 1월18일 거래안함 미국기준 1월18일 정상영업, 국내기준 1월19일 거래안함 (미국 연속 2일 정상영업이 아니므로) 미국기준 1월19일 정상영업, 국내기준 1월20일 거래발생 (미국 연속 2일 정상영업) 이후 미국증시가 정상영업이면 계속 국내 선물거래를 하다가, 미국이 다시 공휴일일 경우 위와 같은 방식을 적용함. 3) 수식 var: cond1(false,data1),cond2(false,data2); If data1(date != date[1]) Then { if data1(DayOfWeek(sdate)==1 and DayOfWeek(sdate[1])==5) or data1(DayOfWeek(sdate)==2 and DayOfWeek(sdate[1])==1) or data1(DayOfWeek(sdate)==3 and DayOfWeek(sdate[1])==2) or data1(DayOfWeek(sdate)==4 and DayOfWeek(sdate[1])==3) or data1(DayOfWeek(sdate)==5 and DayOfWeek(sdate[1])==4) then cond1 = true; else cond1 = false; } If data2(date != date[1]) Then { if data2(DayOfWeek(sdate)==1 and DayOfWeek(sdate[1])==5) or data2(DayOfWeek(sdate)==2 and DayOfWeek(sdate[1])==1) or data2(DayOfWeek(sdate)==3 and DayOfWeek(sdate[1])==2) or data2(DayOfWeek(sdate)==4 and DayOfWeek(sdate[1])==3) or data2(DayOfWeek(sdate)==5 and DayOfWeek(sdate[1])==4) then cond2 = true; Else cond2 = False; } If cond1==true and cond2==true AND data2(C)<>data2(C[1]) Then { if dayindex==0 then Buy("B"); } SetStopEndofday(143000); 이렇게 요일로 주데이타와 data2를 제어해보았으나, 국내기준 1월18일 거래가 발생합니다. 그래서 다음과 같이 수식을 적용해 보았는데 그래도 1월18일 거래가 발생합니다. If date != date[1] Then { if (DayOfWeek(sdate) == 1 and DayOfWeek(sdate[1]) == 5) or (DayOfWeek(sdate) >= 2 and DateToJulian(sdate) == DateToJulian(sdate[1])+1) then Condition1 = true; else Condition1 = false; } If data2(date) != data2(date[1]) Then { if (data2(DayOfWeek(sdate)) == 1 and data2(DayOfWeek(sdate[1])) == 5) or (data2(DayOfWeek(sdate)) >= 2 and data2(DateToJulian(sdate)) == data2(DateToJulian(sdate[1]))+1) then Condition2 = true; else Condition2 = false; } If condition1==true and condition2==true AND data2(C)<>data2(C[1]) Then { if dayindex==0 then Buy("B"); } SetStopEndofday(143000); 위의 두가지 수식 모두 제가 원하는 매매가 이루어지지 않는데 정정 부탁드립니다. 말씀드렸듯이 미국증시가 미국일자기준으로 토,일요일을 제외하고 연속 2일 거래가 발생하였을 때 국내 선물매매를 하기를 원합니다. 감사합니다~ P.S. 위의 두가지 수식 모두 국내증시 역시 토,일요일을 제외하고 2일 연속 정상영업이 발생되었을 경우만 거래를 한다는 의도로 수식을 포함시켰는데, 국내부분 역시 제 의도대로 거래가 되고 있지 않습니다. (예를들면 2010년12월31일은 국내증시 폐장일이어서 거래가 없었으므로 2011년1월3일, 1월4일 거래가 발생하지 않아야 하는데 1월4일 거래발생함) 가능한 이 두가지를 모두 만족(국내 및 미국 2일 연속 정상영업일 경우만 매매)할 수 있도록 수식을 작성해 주시면 더욱 감사하겠습니다.
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2011-01-19 16:40:39

안녕하세요 예스스탁입니다. 식을 수정했습니다. 이식은 참조종목으로 연결선물지수 일봉을 추가하셔야 합니다. data3으로 일봉을 추가하시고 적용하시면 됩니다. if ((data3(sdate) == data2(sdate) and data3(sdate[1]) == data2(sdate[1]))) Then var1 = 1; Else var1 = 0; if ((data3(DayOfWeek(sdate)) == 1 and data3(DayOfWeek(sdate[1])) == 5) or (data3(DayOfWeek(sdate)) == 2 and data3(DayOfWeek(sdate[1])) == 1) or (data3(DayOfWeek(sdate)) == 3 and data3(DayOfWeek(sdate[1])) == 2) or (data3(DayOfWeek(sdate)) == 4 and data3(DayOfWeek(sdate[1])) == 3) or (data3(DayOfWeek(sdate)) == 5 and data3(DayOfWeek(sdate[1])) == 4)) then var2 = 1; Else var2 = 0; If var1 == 1 AND var2 == 1 and data2(C<>C[1]) Then { if dayindex==0 then Buy("B"); } SetStopEndofday(143000); 즐거운 하루되세요 > 새로운세상 님이 쓴 글입니다. > 제목 : 2일 연속거래일 매매 > 안녕하세요.. 다음 수식 정정 부탁드립니다. 주데이타 30분봉 연결선물지수, data2 다우지수(.DJI) 일봉입니다. 1) 미국증시가 미국기준 1월17일 공휴일이었습니다. 이렇게 미국의 공휴일이 중간에 있을 경우 미국증시가 토,일요일을 제외하고 2일 연속거래가 발생할 때까지 국내증시의 매매를 생략하고 싶습니다. 2) 부연하면, 2011년 1월중 미국증시가 공휴일 없이 정상매매가 계속되었으므로, 연결선물도 정상적으로 매매를 함. 미국기준 1월17일 공휴일, 국내기준 1월18일 거래안함 미국기준 1월18일 정상영업, 국내기준 1월19일 거래안함 (미국 연속 2일 정상영업이 아니므로) 미국기준 1월19일 정상영업, 국내기준 1월20일 거래발생 (미국 연속 2일 정상영업) 이후 미국증시가 정상영업이면 계속 국내 선물거래를 하다가, 미국이 다시 공휴일일 경우 위와 같은 방식을 적용함. 3) 수식 var: cond1(false,data1),cond2(false,data2); If data1(date != date[1]) Then { if data1(DayOfWeek(sdate)==1 and DayOfWeek(sdate[1])==5) or data1(DayOfWeek(sdate)==2 and DayOfWeek(sdate[1])==1) or data1(DayOfWeek(sdate)==3 and DayOfWeek(sdate[1])==2) or data1(DayOfWeek(sdate)==4 and DayOfWeek(sdate[1])==3) or data1(DayOfWeek(sdate)==5 and DayOfWeek(sdate[1])==4) then cond1 = true; else cond1 = false; } If data2(date != date[1]) Then { if data2(DayOfWeek(sdate)==1 and DayOfWeek(sdate[1])==5) or data2(DayOfWeek(sdate)==2 and DayOfWeek(sdate[1])==1) or data2(DayOfWeek(sdate)==3 and DayOfWeek(sdate[1])==2) or data2(DayOfWeek(sdate)==4 and DayOfWeek(sdate[1])==3) or data2(DayOfWeek(sdate)==5 and DayOfWeek(sdate[1])==4) then cond2 = true; Else cond2 = False; } If cond1==true and cond2==true AND data2(C)<>data2(C[1]) Then { if dayindex==0 then Buy("B"); } SetStopEndofday(143000); 이렇게 요일로 주데이타와 data2를 제어해보았으나, 국내기준 1월18일 거래가 발생합니다. 그래서 다음과 같이 수식을 적용해 보았는데 그래도 1월18일 거래가 발생합니다. If date != date[1] Then { if (DayOfWeek(sdate) == 1 and DayOfWeek(sdate[1]) == 5) or (DayOfWeek(sdate) >= 2 and DateToJulian(sdate) == DateToJulian(sdate[1])+1) then Condition1 = true; else Condition1 = false; } If data2(date) != data2(date[1]) Then { if (data2(DayOfWeek(sdate)) == 1 and data2(DayOfWeek(sdate[1])) == 5) or (data2(DayOfWeek(sdate)) >= 2 and data2(DateToJulian(sdate)) == data2(DateToJulian(sdate[1]))+1) then Condition2 = true; else Condition2 = false; } If condition1==true and condition2==true AND data2(C)<>data2(C[1]) Then { if dayindex==0 then Buy("B"); } SetStopEndofday(143000); 위의 두가지 수식 모두 제가 원하는 매매가 이루어지지 않는데 정정 부탁드립니다. 말씀드렸듯이 미국증시가 미국일자기준으로 토,일요일을 제외하고 연속 2일 거래가 발생하였을 때 국내 선물매매를 하기를 원합니다. 감사합니다~ P.S. 위의 두가지 수식 모두 국내증시 역시 토,일요일을 제외하고 2일 연속 정상영업이 발생되었을 경우만 거래를 한다는 의도로 수식을 포함시켰는데, 국내부분 역시 제 의도대로 거래가 되고 있지 않습니다. (예를들면 2010년12월31일은 국내증시 폐장일이어서 거래가 없었으므로 2011년1월3일, 1월4일 거래가 발생하지 않아야 하는데 1월4일 거래발생함) 가능한 이 두가지를 모두 만족(국내 및 미국 2일 연속 정상영업일 경우만 매매)할 수 있도록 수식을 작성해 주시면 더욱 감사하겠습니다.