커뮤니티

두번연속 수익이 발생하면 다음 신호는 무시하는 수식을 좀 알려주세요.

프로필 이미지
띠가
2011-09-02 21:34:45
464
글번호 42438
답변완료
알려주신 수식 넣어서 해봤는데 결과가 똑같이 나옵니다. 그리고 ExitDate(1) == sdate and ExitDate(2) == sdate 이부분을 빼고 작성해서 테스트해보니까 두번연속 수익후에 다음신호는 진입을 안하는건 맞는데.. 문제가 원래 당일 1회거래, 당일 청산 시스템인데.. 두번연속 수익후 다음신호를 무시한 상태에서 그날 장이 끝나기전에 또 신호가 발생하는 경우에는 진입을 하였습니다. 원래대로라면 두번연속 수익후 무시한 신호를 진입하였을 것이고 당일 1회거래이므로 진입을 안하는 신호인데.. 두번연속 수익후 다음신호를 무시했기때문에 그날중에 또 신호가 발생하니까 진입을 하는 문제가 생겼습니다. ExitDate(1) == sdate and ExitDate(2) == sdate 이부분이 이런 현상을 막아주는 수식인가요...? 어렵내요ㅠ 아래는 전체 수식첨부합니다. 확인부탁드릴게요. input : N(1),RangeMult(0.5), RangeMult2(0.5) ; var : count(0),va1(0),va2(0),va3(0),PreRange(0), PreRange2(0), ChUp(0), ChDn(0), ExitL(0), ExitS(0), cont(0); PreRange = (dayHigh(1)-dayLow(1))*RangeMult; PreRange2 = (dayHigh(1)-dayLow(1))*RangeMult2; ChUp = dayOpen + PreRange; ChDn = dayOpen - PreRange; ExitL = dayHigh - PreRange2; ExitS = dayLow + PreRange2; va1 = int(date/100)-int(date/10000)*100; va2 = date - int(date/100)*100; va3 = DayOfWeek(date); Count = 0 ; for Value1 = 0 to 10 { if EntryDate( Value1 ) == sdate then Count = Count + 1; } Condition1 = ExitDate(1) == sdate and ExitDate(2) == sdate And PositionProfit(1) > 0 and PositionProfit(2) > 0; # 진입 if Condition1 == false And CrossUp(c,chup) and count < N Then buy(); if Condition1 == true And CrossUp(c,chup) and count < N and countif(CrossUp(c,chup) and count < N,BarsSinceExit(1)) == 2 Then buy(); #청산 If CrossDown(c,ExitL) Then ExitLong(); if MarketPosition == 1 Then SetstopTrailing(5,PRICESCALE*20,pointstop,0); SetStopLoss(0.5,pointstop); if va1%3 == 0 and va2 >= 8 and va2 <= 14 and va3 == 4 then SetStopEndofday(144900); Else SetStopEndofday(150400); > 예스스탁 님이 쓴 글입니다. > 제목 : Re : 두번연속 수익이 발생하면 다음 신호는 무시하는 수식을 좀 알려주세요. > 안녕하세요 예스스탁입니다. Condition1 = ExitDate(1) == sdate and ExitDate(2) == sdate And PositionProfit(1) > 0 and PositionProfit(2) > 0; #2번연속 수익이 아닐때 if Condition1 == false And 진입조건 Then buy(); #2번연속 수익일 때 if Condition1 == true And 진입조건 and countif(진입조건,BarsSinceExit(1)) == 2 Then buy(); 즐거운 하루되세요
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2011-09-05 10:03:08

안녕하세요 예스스탁입니다. 문의하신 부분에 대해 정확히 이해를 하지 못했습니다. 전화주시기 바랍니다. 02-3453-1060 즐거운 하루되세요 > 띠가 님이 쓴 글입니다. > 제목 : 두번연속 수익이 발생하면 다음 신호는 무시하는 수식을 좀 알려주세요. > 알려주신 수식 넣어서 해봤는데 결과가 똑같이 나옵니다. 그리고 ExitDate(1) == sdate and ExitDate(2) == sdate 이부분을 빼고 작성해서 테스트해보니까 두번연속 수익후에 다음신호는 진입을 안하는건 맞는데.. 문제가 원래 당일 1회거래, 당일 청산 시스템인데.. 두번연속 수익후 다음신호를 무시한 상태에서 그날 장이 끝나기전에 또 신호가 발생하는 경우에는 진입을 하였습니다. 원래대로라면 두번연속 수익후 무시한 신호를 진입하였을 것이고 당일 1회거래이므로 진입을 안하는 신호인데.. 두번연속 수익후 다음신호를 무시했기때문에 그날중에 또 신호가 발생하니까 진입을 하는 문제가 생겼습니다. ExitDate(1) == sdate and ExitDate(2) == sdate 이부분이 이런 현상을 막아주는 수식인가요...? 어렵내요ㅠ 아래는 전체 수식첨부합니다. 확인부탁드릴게요. input : N(1),RangeMult(0.5), RangeMult2(0.5) ; var : count(0),va1(0),va2(0),va3(0),PreRange(0), PreRange2(0), ChUp(0), ChDn(0), ExitL(0), ExitS(0), cont(0); PreRange = (dayHigh(1)-dayLow(1))*RangeMult; PreRange2 = (dayHigh(1)-dayLow(1))*RangeMult2; ChUp = dayOpen + PreRange; ChDn = dayOpen - PreRange; ExitL = dayHigh - PreRange2; ExitS = dayLow + PreRange2; va1 = int(date/100)-int(date/10000)*100; va2 = date - int(date/100)*100; va3 = DayOfWeek(date); Count = 0 ; for Value1 = 0 to 10 { if EntryDate( Value1 ) == sdate then Count = Count + 1; } Condition1 = ExitDate(1) == sdate and ExitDate(2) == sdate And PositionProfit(1) > 0 and PositionProfit(2) > 0; # 진입 if Condition1 == false And CrossUp(c,chup) and count < N Then buy(); if Condition1 == true And CrossUp(c,chup) and count < N and countif(CrossUp(c,chup) and count < N,BarsSinceExit(1)) == 2 Then buy(); #청산 If CrossDown(c,ExitL) Then ExitLong(); if MarketPosition == 1 Then SetstopTrailing(5,PRICESCALE*20,pointstop,0); SetStopLoss(0.5,pointstop); if va1%3 == 0 and va2 >= 8 and va2 <= 14 and va3 == 4 then SetStopEndofday(144900); Else SetStopEndofday(150400); > 예스스탁 님이 쓴 글입니다. > 제목 : Re : 두번연속 수익이 발생하면 다음 신호는 무시하는 수식을 좀 알려주세요. > 안녕하세요 예스스탁입니다. Condition1 = ExitDate(1) == sdate and ExitDate(2) == sdate And PositionProfit(1) > 0 and PositionProfit(2) > 0; #2번연속 수익이 아닐때 if Condition1 == false And 진입조건 Then buy(); #2번연속 수익일 때 if Condition1 == true And 진입조건 and countif(진입조건,BarsSinceExit(1)) == 2 Then buy(); 즐거운 하루되세요