커뮤니티
지표식 좀 도와주세요.
2013-04-21 05:50:20
228
글번호 62292
관리자님 항상 감사합니다.
1. Q/A 에서 사용자함수 gap_dmi를 다운받아 설치 했는데 선이 하나 밖에 없네요.
제가 필요한 것은 갭보정된 di플러스와 di마이너스를 같이 그려보고 싶습니다.
일반 지표식에서는 di+와 di- 그리고 (adx또는 dmi)가 같이 그려지는데(선이 3개임)
제가 사용자함수를 잘 이용할 줄 모르는 것 같기도하고 너무 답답하네요.
시스템식 작성하기 전에 꼭 확인할 사항이 있는데...
갭보정된 di+와 di-를 같이(3선) 보는 방법좀 알려 주세요.
2. 일봉상 N개의 고가-저가의 평균을 당일분봉의 시가위에 수평으로 나타내는식.
즉 당일 시초가를 기준으로 N일봉상 평균고가는 위에 평균저가는 아래에
그려지게 하는 식을 부탁 드립니다. N일 동안의 평균 변동폭을 그려보고 싶네요.
항상 감사합니다.
답변 1
예스스탁 예스스탁 답변
2013-04-22 15:09:16
안녕하세요
예스스탁입니다.
1. 아래는 갭봊정 ADx,Di+,Di-,DMI 4개선이 그려지는 지표식입니다.
Inputs: Length(10);
var : sumGap(0), gap(0), GO(0), GH(0), GL(0), GC(0),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),GADX(0);
if date!=date[1] then { // 날짜가 변경되는 봉에서(분봉에서 첫번째 봉)
gap = Open-Close[1]; // 일간갭
sumGap = sumGap+gap; // 일간갭 누적
}
GO = O - sumGap;// 갭보정 시가
GH = H - sumGap;// 갭보정 고가
GL = L - sumGap;// 갭보정 저가
GC = C - sumGap; // 갭보정 종가
If GC[1] > GH then
TH = GC[1];
else
TH = GH;
If GC[1] < GL then
TL = GC[1];
else
TL = GL;
TR = TH - TL;
If CurrentBar == 1 Then {
MyRange = Length;
DPlus = 0;
PlusDM14 = 0;
MinusDM14 = 0;
TRange = 0;
For Counter = 0 To MyRange - 1 {
If GH[Counter] - GH[Counter+1] < 0 Then
PlusDM = 0;
Else
PlusDM = GH[Counter] - GH[Counter+1];
If GL[Counter+1] - GL[Counter] < 0 Then
MinusDM = 0;
Else
MinusDM = GL[Counter+1] - GL[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 GH[0] - GH[1] < 0 Then
PlusDM = 0;
Else
PlusDM = GH[0] - GH[1];
If GL[1] - GL[0] < 0 Then
MinusDM = 0;
Else
MinusDM = GL[1] - GL[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 = (GADX[1] * (Length - 1) + DMIv) / Length;
End;
GADX = Return;
plot1(GADX);
plot2(Dplus);
plot3(Dminus);
plot4(Dmiv);
2.
input : N(0);
var : sum1(0),sum2(0),Hma(0),Lma(0),cnt(0);
sum1 = 0;
sum2 = 0;
for cnt = 1 to N{
sum1 = sum1+dayhigh(cnt);
sum2 = sum2+DayLow(cnt);
}
Hma = sum1/N;
Lma = sum2/N;
plot1(Hma,"직전N일간고가평균");
plot2(Lma,"직전N일간저가평균");
즐거운 하루되세요
> 희망벌 님이 쓴 글입니다.
> 제목 : 지표식 좀 도와주세요.
> 관리자님 항상 감사합니다.
1. Q/A 에서 사용자함수 gap_dmi를 다운받아 설치 했는데 선이 하나 밖에 없네요.
제가 필요한 것은 갭보정된 di플러스와 di마이너스를 같이 그려보고 싶습니다.
일반 지표식에서는 di+와 di- 그리고 (adx또는 dmi)가 같이 그려지는데(선이 3개임)
제가 사용자함수를 잘 이용할 줄 모르는 것 같기도하고 너무 답답하네요.
시스템식 작성하기 전에 꼭 확인할 사항이 있는데...
갭보정된 di+와 di-를 같이(3선) 보는 방법좀 알려 주세요.
2. 일봉상 N개의 고가-저가의 평균을 당일분봉의 시가위에 수평으로 나타내는식.
즉 당일 시초가를 기준으로 N일봉상 평균고가는 위에 평균저가는 아래에
그려지게 하는 식을 부탁 드립니다. N일 동안의 평균 변동폭을 그려보고 싶네요.
항상 감사합니다.
다음글
이전글