커뮤니티

문의드립니다.

프로필 이미지
파파
2012-04-26 20:52:57
450
글번호 50545
답변완료
전에 요청드렸던 내용을 방법을 바꿔서 해보려는데 잘 안되네요 ...뭐가 틀린건지 부탁드립니다. 아래 내용은 제가 만든 사용자 함수입니다. 배수를 입력받아서 낮은 주기 차트에서 높은 주기 TRIX를 보기 위해서입니다. 지표에서는 간단하게 이 함수를 불러서 사용하고자 합니다. /******************************************************** Input : Period(NumericSimple); Var : value1(0), value2(0), value3(0); value1 = ema(C, Period); value2 = ema(value1, Period); value3 = ema(value2, Period); TRIX = (value3 - value3[1]) / value3[1] * 100; *********************************************************/ Input : Period(NumericSimple),배수(NumericSimple); Var : 배수종가(0), Value1(0), Value2(0), Value3(0); var1 = index % 배수; If Var1 == 0 Then 배수종가 = C; Else 배수종가 = 배수종가[1]; Value1 = Ema(배수종가, Period); Value2 = Ema(Value1, Period); Value3 = Ema(Value2, Period); TRIX배수 = (value3 - value3[1]) / value3[1] * 100; 아래는 지표식입니다...................................... Input : Period(5), sigPeriod(3),배수(3); Plot1(TRIX배수(Period,배수),"TRIX"); Plot2(ema(TRIX배수(Period,배수),sigPeriod),"TRIX시그널"); PlotBaseLine1(0,"기준선");
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2012-04-27 10:10:17

안녕하세요 예스스탁입니다. 작성하신 내용으로는 타주기값이 계산되지 않습니다. Trix와 Trix시그널 함수 각가 따로 함수로 만들어 사용하셔야 합니다. 1. 사용자함수명 : Trix배수 Input : Period(NumericSimple),배수(NumericSimple); Var : Ep1(0), JISU1(0), DINDEX1(0), PreJISU1(0); Var : Ep2(0), JISU2(0), PreJISU2(0),preTrixsig(0); Var : Ep3(0), JISU3(0), PreJISU3(0),Trixsig(0),TRIXv(0); Ep1 = 2/(Period+1); var1 = dayindex%배수; if index > 배수 and( dayindex == 0 or (var1 < var1[1] and stime > stime[1])) then { DINDEX1= DINDEX1 + 1; PreJISU1 = JISU1[1]; PreJISU2 = JISU2[1]; PreJISU3 = JISU3[1]; PreTrixsig = Trixsig[1]; } if DINDEX1 < 1 then JISU1 = c; else JISU1 = c * EP1 + PreJISU1 * (1-EP1); if DINDEX1 < 2 then JISU2 = JISU1 ; else JISU2 = JISU1 * EP1 + PreJISU2 * (1-EP1); if DINDEX1 < 3 then JISU3 = JISU2 ; else JISU3 = JISU2 * EP1 + PreJISU3 * (1-EP1); if DINDEX1 > 3 then TRIXv = (JISU3 - PreJISU3) / PreJISU3 * 100; Trix배수 = TRIXv; 2, 사용자함수명 : Trix배수시그널 Input : Period(NumericSimple), sigPeriod(NumericSimple),배수(NumericSimple); Var : Ep1(0), JISU1(0), DINDEX1(0), PreJISU1(0); Var : Ep2(0), JISU2(0), PreJISU2(0),preTrixsig(0); Var : Ep3(0), JISU3(0), PreJISU3(0),Trixsig(0),TRIXv(0); Ep1 = 2/(Period+1); Ep2 = 2/(sigPeriod+1); var1 = dayindex%배수; if index > 배수 and( dayindex == 0 or (var1 < var1[1] and stime > stime[1])) then { DINDEX1= DINDEX1 + 1; PreJISU1 = JISU1[1]; PreJISU2 = JISU2[1]; PreJISU3 = JISU3[1]; PreTrixsig = Trixsig[1]; } if DINDEX1 < 1 then JISU1 = c; else JISU1 = c * EP1 + PreJISU1 * (1-EP1); if DINDEX1 < 2 then JISU2 = JISU1 ; else JISU2 = JISU1 * EP1 + PreJISU2 * (1-EP1); if DINDEX1 < 3 then JISU3 = JISU2 ; else JISU3 = JISU2 * EP1 + PreJISU3 * (1-EP1); if DINDEX1 > 3 then TRIXv = (JISU3 - PreJISU3) / PreJISU3 * 100; if DINDEX1 < 4 then Trixsig = TRIXv ; else Trixsig = TRIXv * EP2 + PreTrixsig * (1-EP2); Trix배수시그널 = trixsig; 아래와 같이 지표식등에서 사용하시면 됩니다. Input : Period(5), sigPeriod(3),배수(3); Plot1(TRIX배수(Period,배수),"TRIX"); Plot2(TRIX배수시그널(Period,sigPeriod,배수),"TRIX시그널"); PlotBaseLine1(0,"기준선"); 즐거운 하루되세요 > 파파 님이 쓴 글입니다. > 제목 : 문의드립니다. > 전에 요청드렸던 내용을 방법을 바꿔서 해보려는데 잘 안되네요 ...뭐가 틀린건지 부탁드립니다. 아래 내용은 제가 만든 사용자 함수입니다. 배수를 입력받아서 낮은 주기 차트에서 높은 주기 TRIX를 보기 위해서입니다. 지표에서는 간단하게 이 함수를 불러서 사용하고자 합니다. /******************************************************** Input : Period(NumericSimple); Var : value1(0), value2(0), value3(0); value1 = ema(C, Period); value2 = ema(value1, Period); value3 = ema(value2, Period); TRIX = (value3 - value3[1]) / value3[1] * 100; *********************************************************/ Input : Period(NumericSimple),배수(NumericSimple); Var : 배수종가(0), Value1(0), Value2(0), Value3(0); var1 = index % 배수; If Var1 == 0 Then 배수종가 = C; Else 배수종가 = 배수종가[1]; Value1 = Ema(배수종가, Period); Value2 = Ema(Value1, Period); Value3 = Ema(Value2, Period); TRIX배수 = (value3 - value3[1]) / value3[1] * 100; 아래는 지표식입니다...................................... Input : Period(5), sigPeriod(3),배수(3); Plot1(TRIX배수(Period,배수),"TRIX"); Plot2(ema(TRIX배수(Period,배수),sigPeriod),"TRIX시그널"); PlotBaseLine1(0,"기준선");