지표식 문의드립니다.
diplus와 diminus를 풀어쓴 식이 필요합니다.
답변 1
예스스탁
예스스탁 답변
2020-03-30 09:31:37
안녕하세요
예스스탁입니다.
Input : Length(14) ;
Var : Counter(0), TRange(0), MyRange(Length), PlusDM14(0), PlusDM(0), MinusDM(0),DIPlusv(0);
Var : MinusDM14(0),DIMinusv(0),v1(0),v2(0);
If CurrentBar == 1 Then Begin
MyRange = Length;
DIPlusv = 0;
PlusDM14 = 0;
DIMinusv = 0;
MinusDM14 = 0;
TRange = 0;
For Counter = 0 To MyRange - 1 Begin
If High[Counter] - High[Counter+1] < 0 Then
PlusDM = 0;
Else
PlusDM = High[Counter] - High[Counter+1];
If Low[Counter+1] - Low[Counter] < 0 Then
MinusDM = 0;
Else
MinusDM = Low[Counter+1] - Low[Counter];
v1 = PlusDM;
v2 = MinusDM;
If v2 >= v1 Then
PlusDM = 0;
If v1 >= v2 Then
MinusDM = 0;
TRange = TRange + TrueRange[Counter];
PlusDM14 = PlusDM14 + PlusDM;
MinusDM14 = MinusDM14 + MinusDM;
End;
If TRange <> 0 Then
DIPlusv = 100 * PlusDM14 / TRange;
Else
DIPlusv = 0 ;
If TRange <> 0 Then
DIMinusv = 100 * MinusDM14 / TRange;
Else
DIMinusv = 0;
End
Else
If CurrentBar > 1 Then Begin
If High[0] - High[1] < 0 Then
PlusDM = 0;
Else
PlusDM = High[0] - High[1];
If Low [1] - Low [0] < 0 Then
MinusDM = 0;
Else
MinusDM = Low[1] - Low[0];
v1 = PlusDM;
v2 = MinusDM;
If v2 >= v1 Then
PlusDM = 0;
If v1 >= v2 Then
MinusDM = 0;
If MyRange > 0 Then Begin
TRange = TRange[1] - (TRange[1] / MyRange) + TrueRange;
PlusDM14 = PlusDM14[1] - (PlusDM14[1] / MyRange) + PlusDM;
MinusDM14 = MinusDM14[1] - (MinusDM14[1] / MyRange) + MinusDM;
End;
If TRange <> 0 Then
DIPlusv = 100 * PlusDM14 / TRange;
Else
DIPlusv = 0 ;
If TRange <> 0 Then
DIMinusv = 100 * MinusDM14 / TRange;
Else
DIMinusv = 0;
End ;
plot1(DIPlusv);
plot2(DIMinusv);
즐거운 하루되세요
> 한글나라 님이 쓴 글입니다.
> 제목 : 지표식 문의
> 지표식 문의드립니다.
diplus와 diminus를 풀어쓴 식이 필요합니다.