커뮤니티

수정요청 드립니다.(수식)

프로필 이미지
요타
2019-02-10 16:50:58
150
글번호 125995
답변완료
* 항상 많은 도움에 고맙습니다. * 수식좀 봐 주십시요. CrossUp,CrossDown 시점에 매매가 안되고 다른 시점에 매매가 되네요? 1.너무 잦은 매매가 일어남(2분사이에 매매가 일어남,CrossUp,CrossDown 상황이 아닌데.. ) 2.CrossUp,CrossDown 교차점에서 매매가 안됨니다. 3.CrossUp,CrossDown 교차되면 매매가 되도록 수정 좀 요청 드립니다. Input : ntime1(5),ntime2(10),ntime3(30),ntime4(40); input : Period(20); var : S1(0),D1(0),TM(0),EP(0); Var : TF1(0),JISU1(0), PreJISU1(0),idx1(0); Var : TF2(0),JISU2(0), PreJISU2(0),idx2(0); Var : TF3(0),JISU3(0), PreJISU3(0),idx3(0); Var : TF4(0),JISU4(0), PreJISU4(0),idx4(0); Ep = 2/(Period+1); if Bdate != Bdate[1] Then { S1 = TimeToMinutes(stime); D1 = sdate; } if D1 > 0 then { if sdate == D1 Then TM = TimeToMinutes(stime)-S1; Else TM = TimeToMinutes(stime)+1440-S1; TF1 = TM%ntime1; TF2 = TM%ntime2; TF3 = TM%ntime3; TF4 = TM%ntime4; if Bdate != Bdate[1] or (Bdate == Bdate[1] and TF1 < TF1[1]) Then { idx1 = idx1+1; PreJISU1 = JISU1[1]; } if idx1 <= 1 then JISU1 = C; else JISU1 = C * EP + PreJISU1 * (1-EP); if Bdate != Bdate[1] or (Bdate == Bdate[1] and TF2 < TF2[1]) Then { idx2 = idx2+1; PreJISU2 = JISU2[1]; } if idx2 <= 1 then JISU2 = C; else JISU2 = C * EP + PreJISU2 * (1-EP); if Bdate != Bdate[1] or (Bdate == Bdate[1] and TF3 < TF3[1]) Then { idx3 = idx3+1; PreJISU3 = JISU3[1]; } if idx3 <= 1 then JISU3 = C; else JISU3 = C * EP + PreJISU3 * (1-EP); if Bdate != Bdate[1] or (Bdate == Bdate[1] and TF4 < TF4[1]) Then { idx4 = idx4+1; PreJISU4 = JISU4[1]; } if idx4 <= 1 then JISU4 = C; else JISU4 = C * EP + PreJISU4 * (1-EP); if CrossUp(JiSu1,JiSu4) Then buy("매수"); if CrossDown(JiSu1,JiSu4) Then sell("매도"); } *고맙습니다. 좋은 시간 되십시요^^
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2019-02-11 11:33:43

안녕하세요 예스스탁입니다. 차트의 주기보다 높은 주기의 지표를 계산하면 그 움직임이 많아 지므로 신호가 다 자주 발생하게 됩니다. 올려주신 내용은 특별히 수정방법을 모르겠습니다. 즐거운 하루되세요 > 요타 님이 쓴 글입니다. > 제목 : 수정요청 드립니다.(수식) > * 항상 많은 도움에 고맙습니다. * 수식좀 봐 주십시요. CrossUp,CrossDown 시점에 매매가 안되고 다른 시점에 매매가 되네요? 1.너무 잦은 매매가 일어남(2분사이에 매매가 일어남,CrossUp,CrossDown 상황이 아닌데.. ) 2.CrossUp,CrossDown 교차점에서 매매가 안됨니다. 3.CrossUp,CrossDown 교차되면 매매가 되도록 수정 좀 요청 드립니다. Input : ntime1(5),ntime2(10),ntime3(30),ntime4(40); input : Period(20); var : S1(0),D1(0),TM(0),EP(0); Var : TF1(0),JISU1(0), PreJISU1(0),idx1(0); Var : TF2(0),JISU2(0), PreJISU2(0),idx2(0); Var : TF3(0),JISU3(0), PreJISU3(0),idx3(0); Var : TF4(0),JISU4(0), PreJISU4(0),idx4(0); Ep = 2/(Period+1); if Bdate != Bdate[1] Then { S1 = TimeToMinutes(stime); D1 = sdate; } if D1 > 0 then { if sdate == D1 Then TM = TimeToMinutes(stime)-S1; Else TM = TimeToMinutes(stime)+1440-S1; TF1 = TM%ntime1; TF2 = TM%ntime2; TF3 = TM%ntime3; TF4 = TM%ntime4; if Bdate != Bdate[1] or (Bdate == Bdate[1] and TF1 < TF1[1]) Then { idx1 = idx1+1; PreJISU1 = JISU1[1]; } if idx1 <= 1 then JISU1 = C; else JISU1 = C * EP + PreJISU1 * (1-EP); if Bdate != Bdate[1] or (Bdate == Bdate[1] and TF2 < TF2[1]) Then { idx2 = idx2+1; PreJISU2 = JISU2[1]; } if idx2 <= 1 then JISU2 = C; else JISU2 = C * EP + PreJISU2 * (1-EP); if Bdate != Bdate[1] or (Bdate == Bdate[1] and TF3 < TF3[1]) Then { idx3 = idx3+1; PreJISU3 = JISU3[1]; } if idx3 <= 1 then JISU3 = C; else JISU3 = C * EP + PreJISU3 * (1-EP); if Bdate != Bdate[1] or (Bdate == Bdate[1] and TF4 < TF4[1]) Then { idx4 = idx4+1; PreJISU4 = JISU4[1]; } if idx4 <= 1 then JISU4 = C; else JISU4 = C * EP + PreJISU4 * (1-EP); if CrossUp(JiSu1,JiSu4) Then buy("매수"); if CrossDown(JiSu1,JiSu4) Then sell("매도"); } *고맙습니다. 좋은 시간 되십시요^^