커뮤니티

수식 재검토 부탁드립니다.

프로필 이미지
끄억
2023-03-17 12:21:33
1620
글번호 167279
답변완료
최근 만들어주신 날짜지정 수식이 매매신호가 나오지 않습니다. 맨 처음의 수식은 작동하고요. 잘못된 곳이 있는지 검토 부탁드립니다. ............................................... 안녕하세요 예스스탁입니다. 수식은 차트에 적용되면 차트의 첫봉부터 현재로 오면서 동작하게 됩니다. 수식안에서 시스템을 적용한 이후로 조건을 지정할 수 없습니다. 요청하신 내용은 날짜와 시간을 지정해 지정한 일시 이후에 신호가 발생하게 하셔야 합니다. input : 시작날짜(20230313),시작시간(90000); input : P1(20),P2(60),P3(120),RSIP(14); var : mav1(0),mav2(0),mav3(0),RSIV(0); var : Tcond(False); mav1 = ma(C,P1); mav2 = ma(C,P2); mav3 = ma(C,P3); RSIV = RSI(RSIP); if sDate >= 시작날짜 and sTime >= 시작시간 Then Tcond = False; if Tcond == true Then { if (mav1 < mav2 and mav2 < mav3 and RSIv <= 30) or RSIV <= 25 Then { Buy(); } SetStopProfittarget(3,PercentStop); } 즐거운 하루되세요 > 끄억 님이 쓴 글입니다. > 제목 : 문의 드립니다 > 시스템을 작동시키면 과거에 나온 진입신호가 계속 유지되고 있는 경우 신규 진입이 안됩니다. 시스템 켠 시간 이후부터 작동하기 원합니다. 임시로 과거의 진입신호가 뜨지 않게 봉 기간을 짧게 적용하면 되긴 하는데 기간이 너무 짧다보니 오류가 나는 경우가 종종 있습니다. 방법이 있을까요? input : P1(20),P2(60),P3(120),RSIP(14); var : mav1(0),mav2(0),mav3(0),RSIV(0); mav1 = ma(C,P1); mav2 = ma(C,P2); mav3 = ma(C,P3); RSIV = RSI(RSIP); if (mav1 < mav2 and mav2 < mav3 and RSIv <= 30) or RSIV <= 25 Then { Buy(); } SetStopProfittarget(3,PercentStop);
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2023-03-17 12:56:41

안녕하세요 예스스탁입니다. 변수를 잘못지정해 드렸습니다. 아래 수정식입니다. input : 시작날짜(20230313),시작시간(90000); input : P1(20),P2(60),P3(120),RSIP(14); var : mav1(0),mav2(0),mav3(0),RSIV(0); var : Tcond(False); mav1 = ma(C,P1); mav2 = ma(C,P2); mav3 = ma(C,P3); RSIV = RSI(RSIP); if sDate >= 시작날짜 and sTime >= 시작시간 Then Tcond = true; if Tcond == true Then { if (mav1 < mav2 and mav2 < mav3 and RSIv <= 30) or RSIV <= 25 Then { Buy(); } SetStopProfittarget(3,PercentStop); } 즐거운 하루되세요 > 끄억 님이 쓴 글입니다. > 제목 : 수식 재검토 부탁드립니다. > 최근 만들어주신 날짜지정 수식이 매매신호가 나오지 않습니다. 맨 처음의 수식은 작동하고요. 잘못된 곳이 있는지 검토 부탁드립니다. ............................................... 안녕하세요 예스스탁입니다. 수식은 차트에 적용되면 차트의 첫봉부터 현재로 오면서 동작하게 됩니다. 수식안에서 시스템을 적용한 이후로 조건을 지정할 수 없습니다. 요청하신 내용은 날짜와 시간을 지정해 지정한 일시 이후에 신호가 발생하게 하셔야 합니다. input : 시작날짜(20230313),시작시간(90000); input : P1(20),P2(60),P3(120),RSIP(14); var : mav1(0),mav2(0),mav3(0),RSIV(0); var : Tcond(False); mav1 = ma(C,P1); mav2 = ma(C,P2); mav3 = ma(C,P3); RSIV = RSI(RSIP); if sDate >= 시작날짜 and sTime >= 시작시간 Then Tcond = False; if Tcond == true Then { if (mav1 < mav2 and mav2 < mav3 and RSIv <= 30) or RSIV <= 25 Then { Buy(); } SetStopProfittarget(3,PercentStop); } 즐거운 하루되세요 > 끄억 님이 쓴 글입니다. > 제목 : 문의 드립니다 > 시스템을 작동시키면 과거에 나온 진입신호가 계속 유지되고 있는 경우 신규 진입이 안됩니다. 시스템 켠 시간 이후부터 작동하기 원합니다. 임시로 과거의 진입신호가 뜨지 않게 봉 기간을 짧게 적용하면 되긴 하는데 기간이 너무 짧다보니 오류가 나는 경우가 종종 있습니다. 방법이 있을까요? input : P1(20),P2(60),P3(120),RSIP(14); var : mav1(0),mav2(0),mav3(0),RSIV(0); mav1 = ma(C,P1); mav2 = ma(C,P2); mav3 = ma(C,P3); RSIV = RSI(RSIP); if (mav1 < mav2 and mav2 < mav3 and RSIv <= 30) or RSIV <= 25 Then { Buy(); } SetStopProfittarget(3,PercentStop);