커뮤니티

문의드립니다.

프로필 이미지
불바다
2018-02-05 14:14:41
162
글번호 116330
답변완료
수고가 많으십니다. 신호가 의도대로 되기는 하는데.... 문제는 시간지정을 해서 1시부터05시까지 설정을 했을때 설정 시점부터 저점, 고점을 갱신했을때만 조건에 맞게 신호 발생되게 하고 싶습니다. 현재로직으로는 시간 지정 추가해서 해보니....시간지정 이전에 당일저점과 고점이 갱신되었던 이력이 있을시 시간범위안에서는 저점 고점 갱신이 없었는데도 이전 갱신 이력때문에 조건범위에 들어오면 신호가 발생됩니다. 즉, 1시부터 신호가 발생되도록 하되...1시 부터 고점 갱신 저점 갱신이 없으면 조건범위에 와도 신호발생되지 않고....1시 이후 새롭게 고점과 저점 갱신이 발생되었을때만 조건범위에 오면 신호가 발생되도록 부탁드립니다. ////////////////////////////// ₩안녕하세요 예스스탁입니다. Var : Bcond1(False), Scond1(False), TT(0), HH(0), LL(0); TT = TotalTrades; HH = dayhigh(0); LL = daylow(0); If bdate != bdate[1] Then { Bcond1 = False; scond1 = False; } else{ If HH > HH[1] Then Bcond1 = true; If LL < LL[1] Then Scond1 = true; } if TT <> TT[1] Then{ Bcond1 = False; Scond1 = False; } If Bcond1 = true Then { If 조건 Then Buy("1차매수"); If MarketPosition == 1 And MaxEntries == 1 and 조건2 Then Buy("2차매수"); } If Scond1 = true Then { If 조건 Then Sell("1차매도"); If marketPosition == -1 And MaxEntries == 1 and 조건2 Then sell("2차매도"); }
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2018-02-06 10:13:05

안녕하세요 예스스탁입니다. input : StartTime(130000),EndTime(050000); Var : Bcond1(False), Scond1(False),Tcond(false), TT(0), HH(0), LL(0); TT = TotalTrades; HH = dayhigh(0); LL = daylow(0); if (sdate != sdate and stime >= EndTime) or (sdate == sdate and stime >= EndTime and Stime[1] < EndTime) Then{ Tcond = true; Bcond1 = False; scond1 = False; HH = H; LL = L; } if (sdate != sdate and stime >= EndTime) or (sdate == sdate and stime >= EndTime and Stime[1] < EndTime) Then{ Tcond = false; } if Tcond == true then{ if H > HH Then{ HH = H; Bcond1 = true; } if L < LL Then{ LL = L; Scond1 = true; } if TT <> TT[1] Then{ Bcond1 = False; Scond1 = False; } If Bcond1 = true Then { If 조건 Then Buy("1차매수"); If MarketPosition == 1 And MaxEntries == 1 and 조건2 Then Buy("2차매수"); } If Scond1 = true Then { If 조건 Then Sell("1차매도"); If marketPosition == -1 And MaxEntries == 1 and 조건2 Then sell("2차매도"); } } 즐거운 하루되세요 > 불바다 님이 쓴 글입니다. > 제목 : 문의드립니다. > 수고가 많으십니다. 신호가 의도대로 되기는 하는데.... 문제는 시간지정을 해서 1시부터05시까지 설정을 했을때 설정 시점부터 저점, 고점을 갱신했을때만 조건에 맞게 신호 발생되게 하고 싶습니다. 현재로직으로는 시간 지정 추가해서 해보니....시간지정 이전에 당일저점과 고점이 갱신되었던 이력이 있을시 시간범위안에서는 저점 고점 갱신이 없었는데도 이전 갱신 이력때문에 조건범위에 들어오면 신호가 발생됩니다. 즉, 1시부터 신호가 발생되도록 하되...1시 부터 고점 갱신 저점 갱신이 없으면 조건범위에 와도 신호발생되지 않고....1시 이후 새롭게 고점과 저점 갱신이 발생되었을때만 조건범위에 오면 신호가 발생되도록 부탁드립니다. ////////////////////////////// ₩안녕하세요 예스스탁입니다. Var : Bcond1(False), Scond1(False), TT(0), HH(0), LL(0); TT = TotalTrades; HH = dayhigh(0); LL = daylow(0); If bdate != bdate[1] Then { Bcond1 = False; scond1 = False; } else{ If HH > HH[1] Then Bcond1 = true; If LL < LL[1] Then Scond1 = true; } if TT <> TT[1] Then{ Bcond1 = False; Scond1 = False; } If Bcond1 = true Then { If 조건 Then Buy("1차매수"); If MarketPosition == 1 And MaxEntries == 1 and 조건2 Then Buy("2차매수"); } If Scond1 = true Then { If 조건 Then Sell("1차매도"); If marketPosition == -1 And MaxEntries == 1 and 조건2 Then sell("2차매도"); }