커뮤니티

수식 부탁( mfi 매매)

프로필 이미지
이형지
2019-01-17 11:11:37
144
글번호 125360
답변완료
조건1: 일봉기준: 1>10일때 매수 진입 조건2: 일봉기준 20일평균값이 우상향일때 매수진입 조건3: mfi(4) LPERCENT(30)이하일때 매수 진입 이세조건의 교집합시 매수 진입 아래식을 적용해보니 아무런 매수신호가 안뜨네요... 뭐가 잘못되었는지 알려주시면 감사 참고로 해외선물 30분봉입니다. ================================================================================== Input : Period(40), LPercent(30), SPercent(100); Input : P1(50),P2(165); Input : N1(1),N2(10),N3(20); Var : value(0); var : BEH(0),BEL(0),SEH(0),SEL(0); var : cnt(0),sum1(0),sum2(0),avg1(0),avg2(0),avg3(0),T(0),mav2(0),mav3(0); var : sum3(0),Tcond(false); var : sum4(0),sum41(0),avg4(0),avg41(0); value = MFI(Period); if DayClose(max(N1,N2,N3)) > 0 Then { sum1 = 0; sum2 = 0; sum4 = 0; sum41 = 0; for cnt = 0 to max(N1,N2,N3)-1 { if cnt < N1 Then sum1 = sum1 + DayClose(cnt); if cnt < N2 Then sum2 = sum2 + DayClose(cnt+1); if cnt < N3 Then { sum4 = sum4 + DayClose(cnt); sum41 = sum41 + DayClose(cnt+1); } } avg1 = sum1/N1; avg2 = sum2/N2; avg4 = sum3/N3; avg41 = sum41/N3; T = 0; if avg1 >= avg2 Then T = 1; if avg1 < avg2 Then T = -1; # 매수/매도청산 If value <= LPercent and MarketPosition == 0 and avg4 > avg41 Then { Buy("매수"); } if MarketPosition == 1 then { ExitLong("즉시익절",AtLimit,EntryPrice+PriceScale*P1); ExitLong("즉시손절",AtStop,EntryPrice-PriceScale*P2); } }
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2019-01-17 14:59:07

안녕하세요 예스스탁입니다. 변수가 잘못지정되어 있어 수정했습니다. Input : Period(40), LPercent(30), SPercent(100); Input : P1(50),P2(165); Input : N1(1),N2(10),N3(20); Var : value(0); var : cnt(0),sum1(0),sum2(0),avg1(0),avg2(0),T(0); var : sum4(0),sum41(0),avg4(0),avg41(0); value = MFI(Period); if DayClose(max(N1,N2,N3)) > 0 Then { sum1 = 0; sum2 = 0; sum4 = 0; sum41 = 0; for cnt = 0 to max(N1,N2,N3)-1 { if cnt < N1 Then sum1 = sum1 + DayClose(cnt); if cnt < N2 Then sum2 = sum2 + DayClose(cnt+1); if cnt < N3 Then { sum4 = sum4 + DayClose(cnt); sum41 = sum41 + DayClose(cnt+1); } } avg1 = sum1/N1; avg2 = sum2/N2; avg4 = sum4/N3; avg41 = sum41/N3; T = 0; if avg1 >= avg2 Then T = 1; if avg1 < avg2 Then T = -1; # 매수/매도청산 If value <= LPercent and MarketPosition == 0 and avg4 > avg41 Then { Buy("매수"); } if MarketPosition == 1 then { ExitLong("즉시익절",AtLimit,EntryPrice+PriceScale*P1); ExitLong("즉시손절",AtStop,EntryPrice-PriceScale*P2); } } 즐거운 하루되세요 > 이형지 님이 쓴 글입니다. > 제목 : 수식 부탁( mfi 매매) > 조건1: 일봉기준: 1>10일때 매수 진입 조건2: 일봉기준 20일평균값이 우상향일때 매수진입 조건3: mfi(4) LPERCENT(30)이하일때 매수 진입 이세조건의 교집합시 매수 진입 아래식을 적용해보니 아무런 매수신호가 안뜨네요... 뭐가 잘못되었는지 알려주시면 감사 참고로 해외선물 30분봉입니다. ================================================================================== Input : Period(40), LPercent(30), SPercent(100); Input : P1(50),P2(165); Input : N1(1),N2(10),N3(20); Var : value(0); var : BEH(0),BEL(0),SEH(0),SEL(0); var : cnt(0),sum1(0),sum2(0),avg1(0),avg2(0),avg3(0),T(0),mav2(0),mav3(0); var : sum3(0),Tcond(false); var : sum4(0),sum41(0),avg4(0),avg41(0); value = MFI(Period); if DayClose(max(N1,N2,N3)) > 0 Then { sum1 = 0; sum2 = 0; sum4 = 0; sum41 = 0; for cnt = 0 to max(N1,N2,N3)-1 { if cnt < N1 Then sum1 = sum1 + DayClose(cnt); if cnt < N2 Then sum2 = sum2 + DayClose(cnt+1); if cnt < N3 Then { sum4 = sum4 + DayClose(cnt); sum41 = sum41 + DayClose(cnt+1); } } avg1 = sum1/N1; avg2 = sum2/N2; avg4 = sum3/N3; avg41 = sum41/N3; T = 0; if avg1 >= avg2 Then T = 1; if avg1 < avg2 Then T = -1; # 매수/매도청산 If value <= LPercent and MarketPosition == 0 and avg4 > avg41 Then { Buy("매수"); } if MarketPosition == 1 then { ExitLong("즉시익절",AtLimit,EntryPrice+PriceScale*P1); ExitLong("즉시손절",AtStop,EntryPrice-PriceScale*P2); } }