커뮤니티

DMI를 사용하려고 하는데 잘 crossup이 안됩니다

프로필 이미지
testtt
2012-02-07 17:07:28
439
글번호 47480
답변완료
DMI를 사용해서 PDI가 MDI를 상향 돌파할때 MDI가 PDI를 하향 돌파할때 를 찾아내려고 하는데요 crossup과 crossdown을 쓰는데 잘 안잡힙니다. crossup이 안잡혀서 이를 풀어서(yes language 도움말 참조) if문에 적용도 해보았는데 역시나 안되네요 하지만 리딩스타에서 DMI지표를 적용시키면 상향돌파와 하향돌파하는 구간이 있거든요..답변 부탁드립니다. 아래는 코드입니다. Input : Period(14); value1 = DIPlus(Period); value2 = DIMinus(Period); //if CrossUp(plusDI, minusDI) Then if (value1 > value2) and (value1[1] <= value2[1]) Then { Alert("adx"); ADX_sig = 1; // plusDI가 minusDI를 상향돌파하면 ADX_sig 매수 신호 } Else { ADX_sig = 0; } if (value1 < value2) and (value1[1] >= value2[1]) Then { Alert("adx"); ADX_sig = -1; // plusDI가 minusDI를 하향돌파하면 ADX_sig 매도 신호 } Else { ADX_sig = 0; }
검색
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2012-02-07 18:30:46

안녕하세요 예스스탁입니다. 작성하신 식이 골든크로스일때 1, 데드크로스 이면 -1, 골드나 데드가 아니면 0을 리턴하기 위한 식 이시면 아래와 같이 작성하셔야 하며, crossup이나 crossdown 함수를 이용하셔도 똑같습니다. Input : Period(14); var : ADX_sig(0); value1 = DIPlus(Period); value2 = DIMinus(Period); //if CrossUp(plusDI, minusDI) Then if (value1 > value2) and (value1[1] <= value2[1]) Then { Alert("adx"); ADX_sig = 1; // plusDI가 minusDI를 상향돌파하면 ADX_sig 매수 신호 } Else if (value1 < value2) and (value1[1] >= value2[1]) Then { Alert("adx"); ADX_sig = -1; // plusDI가 minusDI를 하향돌파하면 ADX_sig 매도 신호 } Else { ADX_sig = 0; } plot1(ADX_sig); 즐거운 하루되세요 > testtt 님이 쓴 글입니다. > 제목 : DMI를 사용하려고 하는데 잘 crossup이 안됩니다 > DMI를 사용해서 PDI가 MDI를 상향 돌파할때 MDI가 PDI를 하향 돌파할때 를 찾아내려고 하는데요 crossup과 crossdown을 쓰는데 잘 안잡힙니다. crossup이 안잡혀서 이를 풀어서(yes language 도움말 참조) if문에 적용도 해보았는데 역시나 안되네요 하지만 리딩스타에서 DMI지표를 적용시키면 상향돌파와 하향돌파하는 구간이 있거든요..답변 부탁드립니다. 아래는 코드입니다. Input : Period(14); value1 = DIPlus(Period); value2 = DIMinus(Period); //if CrossUp(plusDI, minusDI) Then if (value1 > value2) and (value1[1] <= value2[1]) Then { Alert("adx"); ADX_sig = 1; // plusDI가 minusDI를 상향돌파하면 ADX_sig 매수 신호 } Else { ADX_sig = 0; } if (value1 < value2) and (value1[1] >= value2[1]) Then { Alert("adx"); ADX_sig = -1; // plusDI가 minusDI를 하향돌파하면 ADX_sig 매도 신호 } Else { ADX_sig = 0; }