커뮤니티
지표 문의 드립니다.
2013-09-14 00:26:32
140
글번호 67567
ADX에서 DIPLUS값의 DIPLUS값을 출력하는 지표 문의드립니다.
즉 주가의 Diplus값을 다시 Diplus에 넣어서 나오는 값을 출력하는 겁니다.
사용자함수 보고 넣으려해도 어렵습니다.
답변 1
예스스탁 예스스탁 답변
2013-09-16 14:26:54
안녕하세요
예스스탁입니다.
식을 완전히 풀어서 작성하셔야 합니다.
아래식 참고하시기 바랍니다.
Inputs: Length(14) ;
Var : cnt1(0), TRange1(0), MyRange1(0), PlusDM1141(0), PlusDM1(0), MinusDM1(0),DIP1(0);
Var : cnt2(0), TRange2(0), MyRange2(0), PlusDM2142(0), PlusDM2(0), MinusDM2(0),DIP2(0);
var : TH(0),TL(0),TR(0),idx(0);
If index == Length+2 Then {
MyRange1 = Length;
DIP1 = 0;
PlusDM1141 = 0;
TRange1 = 0;
For cnt1 = 0 To MyRange1 - 1 {
If High[cnt1] - High[cnt1+1] < 0 Then
PlusDM1 = 0;
Else
PlusDM1 = High[cnt1] - High[cnt1+1];
If Low[cnt1+1] - Low[cnt1] < 0 Then
MinusDM1 = 0;
Else
MinusDM1 = Low[cnt1+1] - Low[cnt1];
If MinusDM1 >= PlusDM1 Then
PlusDM1 = 0;
TRange1 = TRange1 + TrueRange[cnt1];
PlusDM1141 = PlusDM1141 + PlusDM1;
}
If TRange1 <> 0 Then
DIP1 = 100 * PlusDM1141 / TRange1;
Else
DIP1 = 0 ;
}
Else If index > Length+2 Then {
If High[0] - High[1] < 0 Then
PlusDM1 = 0;
Else
PlusDM1 = High[0] - High[1];
If Low [1] - Low [0] < 0 Then
MinusDM1 = 0;
Else
MinusDM1 = Low[1] - Low[0];
If MinusDM1 >= PlusDM1 Then
PlusDM1 = 0;
If MyRange1 > 0 Then {
TRange1 = TRange1[1] - (TRange1[1] / MyRange1) + TrueRange;
PlusDM1141 = PlusDM1141[1] - (PlusDM1141[1] / MyRange1) + PlusDM1;
}
If TRange1 <> 0 Then
DIP1 = 100 * PlusDM1141 / TRange1;
Else
DIP1 = 0 ;
}
if DIP1 > 0 Then
idx = idx+1;
if idx >= 2 Then{
If DIP1[1] > DIP1 then
TH = DIP1[1];
else
TH = DIP1;
If DIP1[1] < DIP1 then
TL = DIP1[1];
else
TL = DIP1;
TR = TH-TL;
}
If idx == Length+2 Then {
MyRange2 = Length;
DIP2 = 0;
PlusDM2142 = 0;
TRange2 = 0;
For cnt2 = 0 To MyRange2 - 1 {
If DIP1[cnt2] - DIP1[cnt2+1] < 0 Then
PlusDM2 = 0;
Else
PlusDM2 = DIP1[cnt2] - DIP1[cnt2+1];
If DIP1[cnt2+1] - DIP1[cnt2] < 0 Then
MinusDM2 = 0;
Else
MinusDM2 = DIP1[cnt2+1] - DIP1[cnt2];
If MinusDM2 >= PlusDM2 Then
PlusDM2 = 0;
TRange2 = TRange2 + TR[cnt2];
PlusDM2142 = PlusDM2142 + PlusDM2;
}
If TRange2 <> 0 Then
DIP2 = 100 * PlusDM2142 / TRange2;
Else
DIP2 = 0 ;
}
Else If idx > Length+2 Then {
If DIP1[0] - DIP1[1] < 0 Then
PlusDM2 = 0;
Else
PlusDM2 = DIP1[0] - DIP1[1];
If DIP1[1] - DIP1[0] < 0 Then
MinusDM2 = 0;
Else
MinusDM2 = DIP1[1] - DIP1[0];
If MinusDM2 >= PlusDM2 Then
PlusDM2 = 0;
If MyRange2 > 0 Then {
TRange2 = TRange2[1] - (TRange2[1] / MyRange2) + TR;
PlusDM2142 = PlusDM2142[1] - (PlusDM2142[1] / MyRange2) + PlusDM2;
}
If TRange2 <> 0 Then
DIP2 = 100 * PlusDM2142 / TRange2;
Else
DIP2 = 0 ;
}
plot1(DIP2);
즐거운 하루되세요
> 한글나라 님이 쓴 글입니다.
> 제목 : 지표 문의 드립니다.
> ADX에서 DIPLUS값의 DIPLUS값을 출력하는 지표 문의드립니다.
즉 주가의 Diplus값을 다시 Diplus에 넣어서 나오는 값을 출력하는 겁니다.
사용자함수 보고 넣으려해도 어렵습니다.
다음글
이전글