커뮤니티

함수변환요청드립니다.

프로필 이미지
통큰베팅
2017-10-16 07:28:13
116
글번호 113373
답변완료
안녕하세요? 키움에서 사용하였던 수식입니다. 예스트레이더로 사용할 수 있도록 함수 변환 요청드립니다. 크루드 오일 60분봉에 적용하여 써머타임 적용 현재 8시에 완성되는 봉을 기준으로 (써머타임 해제 적용 기간은 9시에 완성되는 봉을 기준으로) 그 봉이 시가 = 고가이면 N번째 이후 봉 시가로 매수 진입이며 시가 = 저가 이면 N번째 이후 봉 시가로 매도 진입하고자 합니다. 진입 후 M번 이후째 봉 시가로 강제청산 하고자합니다. 당일청산입니다. Vars : ii( 0 ), st( 0 ), et( 0 ); V1 = Dayofweek((10000 * Year(D)) + (100 * 3) + 1); If V1 = 0 Then Value2 = 8 Else Value2 = 15 - V1; V2 = Dayofweek((10000 * Year(D)) + (100 * 11) + 1); If V2 = 0 Then Value4 = 1 Else value4 = 8 - V2; If date > (10000 * Year(D)) + (100 * 3) + value2 And date < (10000 * Year(D)) + (100 * 11) + value4 Then Begin st = 070000; et = 060000; End Else Begin st = 080000; et = 070000; End; condition1 = (IntPortion(time/10000) > IntPortion(et/10000) And IntPortion(time[1]/10000) <= IntPortion(et/10000)) Or st <> st[1]; Inputs : Ncount(1), Mcount(1); Vars : Bcond(False), Scond(False), DayIndex_user(0); If condition1 Then Begin If O = H Then Bcond = true Else Begin Bcond = False; Scond = False; End; If O = L Then Scond = True Else Begin Bcond = False; Scond = False; End; DayIndex_user = 0; End; DayIndex_user = DayIndex_user + 1; If Bcond And DayIndex_user = Ncount Then Buy("매수", atmarket); If Scond And DayIndex_user = Ncount Then Sell("매도", atmarket); If BarsSinceEntry >= Ncount + Mcount Then Begin ExitLong(); ExitShort(); End;
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2017-10-16 15:04:03

안녕하세요 예스스탁입니다. Vars : ii( 0 ), st( 0 ), et( 0 ); var : V1(0),Year(0),V2(0); Year = Floor(sdate/10000); V1 = Dayofweek((10000 * Year) + (100 * 3) + 1); If V1 == 0 Then Value2 = 8; Else Value2 = 15 - V1; V2 = Dayofweek((10000 * Year) + (100 * 11) + 1); If V2 == 0 Then Value4 = 1; Else value4 = 8 - V2; If date > (10000 * Year) + (100 * 3) + value2 And date < (10000 * Year) + (100 * 11) + value4 Then Begin st = 070000; et = 060000; End Else Begin st = 080000; et = 070000; End; condition1 = (IntPortion(time/10000) > IntPortion(et/10000) And IntPortion(time[1]/10000) <= IntPortion(et/10000)) Or st <> st[1]; Inputs : Ncount(1), Mcount(1); Vars : Bcond(False), Scond(False), DayIndex_user(0); If condition1 Then Begin If O == H Then Bcond = true; Else Begin Bcond = False; Scond = False; End; If O == L Then Scond = True; Else Begin Bcond = False; Scond = False; End; DayIndex_user = 0; End; DayIndex_user = DayIndex_user + 1; If Bcond And DayIndex_user == Ncount Then Buy("매수", atmarket); If Scond And DayIndex_user == Ncount Then Sell("매도", atmarket); If BarsSinceEntry >= Ncount + Mcount Then Begin ExitLong(); ExitShort(); End; 즐거운 하루되세요 > 통큰베팅 님이 쓴 글입니다. > 제목 : 함수변환요청드립니다. > 안녕하세요? 키움에서 사용하였던 수식입니다. 예스트레이더로 사용할 수 있도록 함수 변환 요청드립니다. 크루드 오일 60분봉에 적용하여 써머타임 적용 현재 8시에 완성되는 봉을 기준으로 (써머타임 해제 적용 기간은 9시에 완성되는 봉을 기준으로) 그 봉이 시가 = 고가이면 N번째 이후 봉 시가로 매수 진입이며 시가 = 저가 이면 N번째 이후 봉 시가로 매도 진입하고자 합니다. 진입 후 M번 이후째 봉 시가로 강제청산 하고자합니다. 당일청산입니다. Vars : ii( 0 ), st( 0 ), et( 0 ); V1 = Dayofweek((10000 * Year(D)) + (100 * 3) + 1); If V1 = 0 Then Value2 = 8 Else Value2 = 15 - V1; V2 = Dayofweek((10000 * Year(D)) + (100 * 11) + 1); If V2 = 0 Then Value4 = 1 Else value4 = 8 - V2; If date > (10000 * Year(D)) + (100 * 3) + value2 And date < (10000 * Year(D)) + (100 * 11) + value4 Then Begin st = 070000; et = 060000; End Else Begin st = 080000; et = 070000; End; condition1 = (IntPortion(time/10000) > IntPortion(et/10000) And IntPortion(time[1]/10000) <= IntPortion(et/10000)) Or st <> st[1]; Inputs : Ncount(1), Mcount(1); Vars : Bcond(False), Scond(False), DayIndex_user(0); If condition1 Then Begin If O = H Then Bcond = true Else Begin Bcond = False; Scond = False; End; If O = L Then Scond = True Else Begin Bcond = False; Scond = False; End; DayIndex_user = 0; End; DayIndex_user = DayIndex_user + 1; If Bcond And DayIndex_user = Ncount Then Buy("매수", atmarket); If Scond And DayIndex_user = Ncount Then Sell("매도", atmarket); If BarsSinceEntry >= Ncount + Mcount Then Begin ExitLong(); ExitShort(); End;