커뮤니티

부탁드리겠습니다.

프로필 이미지
엠제이
2012-06-08 14:48:40
291
글번호 51808
답변완료
해당 식을 1분봉에서 5분봉 데이터로 참조하고 싶습니다. 아래는 5분봉식이며, data2 사용없이 1분봉에서 사용할 수 있게 부탁드리겠습니다. var1 = DIPLUS(14); var2 = DIMINUS(14); var3 = ADX(14); var4 = ema(C,9); var5 = ema(C,26); if var1 > var2 and var1 > var1[1] and var2 < var2[1] and var3 > var3[1] and var3 > 20 and crossup(var4, var5) then Buy();
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2012-06-08 15:10:46

안녕하세요 예스스탁입니다. input : TT(5),Length(14),Period1(9),Period2(26); var : TL(0),TH(0),cnt(0),Dcnt(0),preTRange(0),prePlusDM14(0),DMinus(0),MinusDM14(0),TRange1(0),preMinusDM14(0); Var : Counter(0), TRange(0), MyRange(Length), PlusDM14(0), PlusDM(0), MinusDM(0),Dplus(0),preADX(0),ADXv(0); Var : Ep2(0), JISU2(0), PreJISU2(0),Ep1(0),JISU1(0), DINDEX1(0), PreJISU1(0),Predminus(0),Predplus(0); Array : HH[61](0),LL[61](0),CC[61](0),TR[61](0),DMIv[61](0); value1 = TimeToMinutes(stime)%TT; if dayindex == 0 or (value1 < value1[1] and stime > stime[1]) Then{ Dcnt = Dcnt+1; HH[0] = H; LL[0] = L; CC[0] = C; preTRange = TRange[1]; prePlusDM14 = PlusDM14[1]; preMinusDM14 = MinusDM14[1]; preADX = ADXv[1]; for cnt = 1 to 60{ HH[cnt] = HH[cnt-1][1]; LL[cnt] = LL[cnt-1][1]; CC[cnt] = CC[cnt-1][1]; TR[cnt] = TR[cnt-1][1]; DMIv[cnt] = DMIv[cnt-1][1]; } Predminus = Dminus[1]; Predplus = Dplus[1]; } if H > HH[0] Then HH[0] = H; if L < LL[0] Then LL[0] = L; CC[0] = C; if CC[1] > 0 Then{ If CC[1] > HH[0] then TH = CC[1]; else TH = HH[0]; If CC[1] < LL[0] then TL = CC[1]; else TL = LL[0]; TR[0] = TH-TL; } If Dcnt == Length+1 Then { MyRange = Length; DPlus = 0; PlusDM14 = 0; TRange = 0; DMinus = 0; MinusDM14 = 0; TRange1 = 0; For Counter = 0 To MyRange - 1 { If HH[Counter] - HH[Counter+1] < 0 Then PlusDM = 0 ; Else PlusDM = HH[Counter] - HH[Counter+1]; If LL[Counter+1] - LL[Counter] < 0 Then MinusDM = 0; Else MinusDM = LL[Counter+1] - LL[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; } Else If Dcnt > Length+1 Then { If HH[0] - HH[1] < 0 Then PlusDM = 0; Else PlusDM = HH[0] - HH[1]; If LL[1] - LL[0] < 0 Then MinusDM = 0; Else MinusDM = LL[1] - LL[0]; If MinusDM >= PlusDM Then PlusDM = 0; If PlusDM >= MinusDM Then MinusDM = 0 ; If MyRange > 0 Then { TRange = preTRange - (preTRange / MyRange) + TR[0]; PlusDM14 = prePlusDM14 - (prePlusDM14 / MyRange) + PlusDM; MinusDM14 = preMinusDM14 - (preMinusDM14 / MyRange) + MinusDM; } 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] = 0; Else DMIv[0] = 100 * Abs(DPlus - DMinus) / (DPlus + DMinus); Variables: CummDMI(0), Return(0); Return = 0; If dcnt >= Length AND Length > 0 Then Begin If CurrentBar < Length+1 Then begin CummDMI = 0; for Counter = 0 To CurrentBar - 1 Begin CummDMI = CummDMI + DMIV[Counter]; End; Return = CummDMI / CurrentBar; End Else Return = (preADX[1] * (Length - 1) + DMIv[0]) / Length; End; ADXv = Return; Ep1 = 2/(Period1+1); Ep2 = 2/(Period2+1); if dayindex() == 0 or value1 <= value1[1] Then{ DINDEX1 = DINDEX1 + 1; PreJISU1 = JISU1[1]; PreJISU2 = JISU2[1]; } if DINDEX1 <= 1 then { JISU1 = C; JISU2 = C; } else{ JISU1 = C * EP1 + PreJISU1 * (1-EP1); JISU2 = C * EP2 + PreJISU2 * (1-EP2); } if DPlus > Dminus and DPlus > preDPlus and Dminus < preDminus and ADXv > preADX and ADXv > 20 and crossup(JISU1, JISU2) then Buy(); 즐거운 하루되세요 > 엠제이 님이 쓴 글입니다. > 제목 : 부탁드리겠습니다. > 해당 식을 1분봉에서 5분봉 데이터로 참조하고 싶습니다. 아래는 5분봉식이며, data2 사용없이 1분봉에서 사용할 수 있게 부탁드리겠습니다. var1 = DIPLUS(14); var2 = DIMINUS(14); var3 = ADX(14); var4 = ema(C,9); var5 = ema(C,26); if var1 > var2 and var1 > var1[1] and var2 < var2[1] and var3 > var3[1] and var3 > 20 and crossup(var4, var5) then Buy();