커뮤니티

타 분봉 지표식 참조

프로필 이미지
뽄때
2019-06-18 10:48:52
289
글번호 129530
답변완료
일전에 타 분봉의 ADX지표를 구현하기 힘드시다고 하셨는데, 즉 15분봉으로 매매하면서 90분봉의 ADX지표를 수식에 넣으려고하는 것은 힘들다고 하셨느데, 그러면 챠트에서 보조챠트를 밑에 띄울수가 있던데, 이렇게 보조챠트를 밑에 띄우면 15분봉 시스템식에서 90분봉의 ADX지표를 수식에 넣을 수는 없는지 확인 부탁드립니다. 가능하다면 보조챠트에 있는 ADX지표식을 부탁드립니다
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2019-06-18 13:16:53

안녕하세요 예스스탁입니다. 참조데이타를 이용하신다면 차트에 다른 주기 데이타를 참조데이타로 추가하고 data2(adx(14))와 같이 간단히 지정하시면 됩니다. 참조데이타는 차트 왼쪽 상단의 종목선택버튼 중 오른쪽 클릭해서 기본차트와 같은 종목으로 추가하시고 주기를 원하시는 주기로 지정하시면 됩니다. 참조데이타는 기본차트와 같은 종목을 다른주기로 지정할수 있습니다. 참조데이타는 차트에 추가되는 순서로 data2부터 data99까지 데이타번호가 자동으로 부여되고 수식에서는 데이타번호로 값을 가져와 사용합니다. 다만 기본차트(data1)을 이용하는 수식에 data2를 사용하는 내용을 넣으시면 수식안에 data1을 이용하는 모든 수식의 선언및 값을 data1로 추리해 주셔야 합니다. 62922번 글에 올리신 내용에 data2의 지표를 추가하고 기존 data1에 대한 선언 및 계산식들을 data1로 처리하게 변경했습니다. 이전 질문 글과 아래 수식 비교하셔서 수식 작성 내용 파악하시고 이후 타주기 내용 추가하실 때 참고하시기 바랍니다. input : ntime1(90),P1(20),P2(60),P(20),dv(2),스탑로스(2.5),손절폭(1.5),매수스톡(25),매도스톡(70); input : 매수이격(18),매도이격(18),단기MAP(20),장기MAP(60),금액(100000000); input : sto1(25),sto2(6),sto3(6); input : short(12),long(26),sig(9); input : adxp(14); var : cnt(0,data1),sum2(0,data1),sum3(0,data1); var : tsum1(0,data1),tsum2(0,data1),tmav1(0,data1),tmav2(0,data1); var : BBup(0,data1),BBdn(0,data1),BBMid(0,data1); var : S1(0,data1),D1(0,data1),TM(0,data1),TF(0,data1); Var : Lvalue(0,data1), Hvalue(0,data1); var : SK(0,data1),SD(0,data1),T(0,data1),단기mav(0,data1),장기mav(0,data1); var : EP1(0,data1),EP2(0,data1),EP3(0,data1),DINDEX1(0,data1),PreJISU1(0,data1),PreJISU2(0,data1),JISU1(0,data1),JISU2(0,data1); var : MACDVal(0,data1),MACDSIG(0,data1),PreMACDSIG(0,data1),MACDosc(0,data1); var : adxv(0,data2); Array : C1[100](0,data1),H1[100](0,data1),L1[100](0,data1),FK[100](-1,data1),StoK[100](-1,data1); adxv = data1(adx(adxP)); Ep1 = 2/(short+1); Ep2 = 2/(long+1); Ep3 = 2/(sig+1); # 분봉설정========================== if data1(Bdate != Bdate[1]) Then { S1 = data1(TimeToMinutes(stime)); D1 = data1(sdate); } if D1 > 0 then { if data1(sdate == D1) Then TM = data1(TimeToMinutes(stime))-S1; Else TM = data1(TimeToMinutes(stime))+1440-S1; TF = TM%ntime1; if data1(Bdate != Bdate[1] or (ntime1 != 1 and Bdate == Bdate[1] and TF < TF[1]) or (ntime1 == 1 and Bdate == Bdate[1] and TF > TF[1])) Then { H1[0] = data1(H); L1[0] = data1(L); for cnt = 1 to 99 { C1[cnt] = C1[cnt-1][1]; H1[cnt] = H1[cnt-1][1]; L1[cnt] = L1[cnt-1][1]; FK[cnt] = FK[cnt-1][1]; stok[cnt] = stok[cnt-1][1]; } DINDEX1 = DINDEX1 + 1; PreJISU1 = JISU1[1]; PreJISU2 = JISU2[1]; PreMACDSIG = MACDSIG[1]; } C1[0] = data1(C); if data1(H) > H1[0] Then H1[0] = data1(H); if data1(L) < L1[0] Then L1[0] = data1(L); if C1[P2] > 0 then { tsum1 = 0; tsum2 = 0; for cnt = 0 to P2-1 { if cnt < P1 then tsum1 = tsum1+C1[cnt]; if cnt < P2 then tsum2 = tsum2+C1[cnt]; } # 90분봉의 20일 이평선= tmav1, 60일 이평선= tmav2 tmav1 = tsum1/P1; tmav2 = tsum2/P2; } # MACD 오실레이터 if DINDEX1 <= 1 then { JISU1 = data1(C); JISU2 = data1(C); MACDVal = JiSu1-Jisu2; MACDSIG = MACDVal; MACDosc = MACDval-MACDsig; } else { JISU1 = data1(C) * EP1 + PreJISU1 * (1-EP1); JISU2 = data1(C) * EP2 + PreJISU2 * (1-EP2); MACDVal = JiSu1-Jisu2; MACDSIG = MACDVal * EP3 + PreMACDSIG * (1-EP3); MACDosc = MACDval-MACDsig; } } # 단기 이평선 단기mav = data1(ma(C,단기MAP)); # 장기 이평선 장기mav = data1(ma(C,장기MAP)); # 매수게임============================= # if crossup(MACDSIG,MACDVal) Then # buy("매수",OnClose,def,Floor(금액/C)); # if crossdown(단기mav,장기mav) Then # ExitLong("청산"); # 매도게임============================== if crossdown(MACDSIG,MACDVal) Then sell("매도",OnClose,def,1); if crossup(단기mav,장기mav) Then ExitShort("매도청산"); 즐거운 하루되세요 > 뽄때 님이 쓴 글입니다. > 제목 : 타 분봉 지표식 참조 > 일전에 타 분봉의 ADX지표를 구현하기 힘드시다고 하셨는데, 즉 15분봉으로 매매하면서 90분봉의 ADX지표를 수식에 넣으려고하는 것은 힘들다고 하셨느데, 그러면 챠트에서 보조챠트를 밑에 띄울수가 있던데, 이렇게 보조챠트를 밑에 띄우면 15분봉 시스템식에서 90분봉의 ADX지표를 수식에 넣을 수는 없는지 확인 부탁드립니다. 가능하다면 보조챠트에 있는 ADX지표식을 부탁드립니다