커뮤니티
문의드립니다.
2012-08-14 21:18:07
240
글번호 53778
var1 = bids - asks
호가잔량으로 adx 지표 부탁드립니다.
DIplus와 DIminus도 같이 나오게 부탁드립니다.
답변 1
예스스탁 예스스탁 답변
2012-08-16 08:40:42
안녕하세요
예스스탁입니다.
Inputs: Length(10);
var : TH(0),TL(0),TR(0);
Var : Counter(0), TRange(0), MyRange(Length), PlusDM14(0), PlusDM(0), MinusDM(0),DPlus(0);
Var : MinusDM14(0), Dminus(0),DMIv(0), ADXCounter(0), ADXCummDMI(0), ADXReturn(0),Return(0),ADXv(0);
var1 = bids-asks;
If var1[1] > var1 then
TH = var1[1];
else
TH = var1;
If var1[1] < var1 then
TL = var1[1];
else
TL = var1;
TR = TH - TL;
If CurrentBar == 1 Then {
MyRange = Length;
DPlus = 0;
PlusDM14 = 0;
MinusDM14 = 0;
TRange = 0;
For Counter = 0 To MyRange - 1 {
If var1[Counter] - var1[Counter+1] < 0 Then
PlusDM = 0;
Else
PlusDM = var1[Counter] - var1[Counter+1];
If var1[Counter+1] - var1[Counter] < 0 Then
MinusDM = 0;
Else
MinusDM = var1[Counter+1] - var1[Counter];
If MinusDM >= PlusDM Then
PlusDM = 0;
If PlusDM >= MinusDM Then
MinusDM = 0;
TRange = TRange + TR[Counter];
PlusDM14 = PlusDM14 + PlusDM;
MinusDM14 = MinusDM14 + MinusDM;
}
If TRange <> 0 Then
DPlus = 100 * PlusDM14 / TRange;
Else
DPlus = 0 ;
If TRange <> 0 Then
DMinus = 100 * MinusDM14 / TRange;
Else
DMinus = 0;
}
##dp
Else
If CurrentBar > 1 Then {
If var1[0] - var1[1] < 0 Then
PlusDM = 0;
Else
PlusDM = var1[0] - var1[1];
If var1[1] - var1[0] < 0 Then
MinusDM = 0;
Else
MinusDM = var1[1] - var1[0];
If MinusDM >= PlusDM Then
PlusDM = 0;
If PlusDM >= MinusDM Then
MinusDM = 0 ;
If MyRange > 0 Then Begin
TRange = TRange[1] - (TRange[1] / MyRange) + TR;
PlusDM14 = PlusDM14[1] - (PlusDM14[1] / MyRange) + PlusDM;
MinusDM14 = MinusDM14[1] - (MinusDM14[1] / MyRange) + MinusDM;
End;
If TRange <> 0 Then
DPlus = 100 * PlusDM14 / TRange;
Else
DPlus = 0 ;
If TRange <> 0 Then
DMinus = 100 * MinusDM14 / TRange;
Else
DMinus = 0;
}
If DPlus + DMinus == 0 Then
DMIv = 0;
Else
DMIv = 100 * AbsValue(DPlus - DMinus) / (DPlus + DMinus);
Return = 0;
If CurrentBar >= 1 AND Length > 0 Then Begin
If CurrentBar < Length Then begin
ADXCummDMI = 0;
for Counter = 0 To CurrentBar - 1 Begin
ADXCummDMI = ADxCummDMI + DMIV[Counter];
End;
Return = ADXCummDMI / CurrentBar;
End
Else
Return = (ADXv[1] * (Length - 1) + DMIv) / Length;
End;
ADXv = Return;
plot1(ADXv);
plot2(Dplus);
plot3(Dminus);
즐거운 하루되세요
> 동해바다01 님이 쓴 글입니다.
> 제목 : 문의드립니다.
> var1 = bids - asks
호가잔량으로 adx 지표 부탁드립니다.
DIplus와 DIminus도 같이 나오게 부탁드립니다.
다음글