커뮤니티

지표식 좀 도와주세요.

프로필 이미지
희망벌
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. 아래는 갭&#48394;정 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일 동안의 평균 변동폭을 그려보고 싶네요. 항상 감사합니다.