커뮤니티

수식작성예제의 DMI를 이용한 교차매매식이 실행이 안됩니다.

프로필 이미지
harpring
2006-03-04 20:52:04
1759
글번호 9524
답변완료
Yestrader3에서 다음 식이 실행이 안되네요. input : Period(14); var : 당일고가(0), 당일저가(0); if date != date[1] then { 당일고가 = H; 당일저가 = L; } if H > 당일고가 Then //고가 갱신(고가가 저장된 고가값보다 클때) 당일고가 = H; if L < 당일저가 Then //저가 갱신(저가가 저장된 저가값보다 작을때) 당일저가 = L; if accumN(iff(crossup(DIPlus(Period), DIMinus(Period)), 1, 0), dayindex()+1) >= 1 and //문장1 crossup(C, 당일고가[1]) then //문장2 buy(); if accumN(iff(crossdown(DIPlus(Period), DIMinus(Period)), 1, 0), dayindex()+1) >= 1 and //문장3 crossdown(C, 당일저가[1]) then //문장4 sell();
시스템
답변 3
프로필 이미지

예스스탁 예스스탁 답변

2006-03-06 08:52:46

안녕하세요 예스스탁입니다. 올리신 식을 연결선물에 적용해 본 결과 정상적으로 실행되고 있습니다. 다만 첨부파일에서 당일고가와 당일저가에 이전값참조가 되지 않아 신호가 발생하지 않았습니다. 당일고가[1],당일저가[1]로 수정하시기 바랍니다. 즐거운 하루되세요 > harpring 님이 쓴 글입니다. > 제목 : 수식작성예제의 DMI를 이용한 교차매매식이 실행이 안됩니다. > Yestrader3에서 다음 식이 실행이 안되네요. input : Period(14); var : 당일고가(0), 당일저가(0); if date != date[1] then { 당일고가 = H; 당일저가 = L; } if H > 당일고가 Then //고가 갱신(고가가 저장된 고가값보다 클때) 당일고가 = H; if L < 당일저가 Then //저가 갱신(저가가 저장된 저가값보다 작을때) 당일저가 = L; if accumN(iff(crossup(DIPlus(Period), DIMinus(Period)), 1, 0), dayindex()+1) >= 1 and //문장1 crossup(C, 당일고가[1]) then //문장2 buy(); if accumN(iff(crossdown(DIPlus(Period), DIMinus(Period)), 1, 0), dayindex()+1) >= 1 and //문장3 crossdown(C, 당일저가[1]) then //문장4 sell();
프로필 이미지

harpring

2006-03-06 12:09:22

제가 왕초보라서 어디를 어떻게 바꾸라시는건지 잘 모르겟습니다. 수식을 써 주셧으면 감사하겟습니다.
프로필 이미지

예스스탁 예스스탁 답변

2006-03-06 16:55:58

안녕하세요 예스스탁입니다. 처음 올리신 글에 올린 식은 이상이 없는 식입니다. 다만 첨부된 파일을 예스랭귀지 편집기에서 열어보시면 원래 아래 문장과 같이 되어야 하는데 if accumN(iff(crossup(DIPlus(Period), DIMinus(Period)), 1, 0), dayindex()+1) >= 1 and //문장1 crossup(C, 당일고가[1]) then //문장2 buy(); if accumN(iff(crossdown(DIPlus(Period), DIMinus(Period)), 1, 0), dayindex()+1) >= 1 and //문장3 crossdown(C, 당일저가[1]) then //문장4 sell(); 아래와 같이 잘못 작성되 있습니다. if accumN(iff(crossup(DIPlus(Period), DIMinus(Period)), 1, 0), dayindex()+1) >= 1 and //문장1 crossup(C, 당일고가) then //문장2 buy(); if accumN(iff(crossdown(DIPlus(Period), DIMinus(Period)), 1, 0), dayindex()+1) >= 1 and //문장3 crossdown(C, 당일저가) then //문장4 sell(); 즉 crossup(C, 당일고가) --> crossup(C, 당일고가[1]) crossdown(C, 당일저가) --> crossdown(C, 당일저가[1]) 와 같이 바꿔주시기 바랍니다. 즐거운 하루되세요 > harpring 님이 쓴 글입니다. > 제목 : Re : Re : 수식작성예제의 DMI를 이용한 교차매매식이 실행이 안됩니다. > 제가 왕초보라서 어디를 어떻게 바꾸라시는건지 잘 모르겟습니다. 수식을 써 주셧으면 감사하겟습니다.