커뮤니티
DMI를 사용하려고 하는데 잘 crossup이 안됩니다
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;
}
다음글
이전글