커뮤니티

안녕하세요

프로필 이미지
회원
2014-01-06 15:31:43
129
글번호 71096
답변완료
안녕하세요 무리하게 수식부탁해서 염치가 없지요 이후로는 절대 자중하겟습니다 간단한걸로요 (챠트 한개.분챠트용) 가) cci과매수:1)현재분챠트과매수.2)2배수챠트과매수.3)4배수챠트과매수 위의3개항만족시:매수 반대:매도 나)MACD"0선"위 macd osillater 양오실매수:1)현재분챠트양오실.2)2배수챠트양오실. 3)4배 수챠트양오실 위의3개항만족시:매수 반대:매도 아래식은 어제 올려준 식입니다 input : N(30),AA(60),BB(40); var1 = highest(h,N); var2 = lowest(l,N); var3 = var1-var2; if crossup(c,var2+var3*(AA/100)) Then buy(); if CrossDown(c,var2+var3*(BB/100)) Then sell(); 감사합니다
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2014-01-06 16:20:30

안녕하세요 예스스탁입니다. 타주기의 값을 계산하는 부분은 실제와 값의 차이가 발생할수 있습니다. 이용에 참고하시기 바랍니다. 1. input : P(9); var : TM(0),cnt(0); Var : MD1(0), Avgvalue1(0),CCIv1(0),TF1(0),sum1(0),mav1(0); Var : MD2(0), Avgvalue2(0),CCIv2(0),TF2(0),sum2(0),mav2(0); Array : C1[100](0),L1[100](0),H1[100](0); Array : C2[100](0),L2[100](0),H2[100](0); if date != date[1] Then TM = TimeToMinutes(stime); TF1 = (TimeToMinutes(stime)-TM)%(BarInterval*2); TF2 = (TimeToMinutes(stime)-TM)%(BarInterval*4); if dayindex() == 0 or (TF1 < TF1[1] and stime > stime[1]) Then{ H1[0] = H; L1[0] = L; C1[1] = C[1]; for cnt = 1 to 99{ H1[cnt] = H1[cnt-1][1]; L1[cnt] = L1[cnt-1][1]; C1[cnt] = C1[cnt-1][1]; } } C1[0] = C; if H > H1[0] Then H1[0] = H; if L < L1[0] Then L1[0] = L; sum1 = 0; for cnt = 0 to P-1{ sum1 = sum1+(C1[cnt]+H1[cnt]+L1[cnt]); } mav1 = sum1/P; If H1[P] > 0 Then Begin Avgvalue1 = mav1; MD1 = 0; For cnt = 0 To P - 1 Begin MD1 = MD1 + Abs(H1[cnt] + L1[cnt] + C1[cnt] - Avgvalue1); End; MD1 = MD1 / P; If MD1 == 0 Then CCIv1 = 0; Else CCIv1 = (H1[0] + L1[0] + C1[0] - Avgvalue1) / (0.015 * MD1); End Else CCIv1 = 0; if dayindex() == 0 or (TF2 < TF2[1] and stime > stime[1]) Then{ H2[0] = H; L2[0] = L; C2[1] = C[1]; for cnt = 1 to 99{ H2[cnt] = H2[cnt-1][1]; L2[cnt] = L2[cnt-1][1]; C2[cnt] = C2[cnt-1][1]; } } C2[0] = C; if H > H2[0] Then H2[0] = H; if L < L2[0] Then L2[0] = L; sum2 = 0; for cnt = 0 to P-1{ sum2 = sum2+(C2[cnt]+H2[cnt]+L2[cnt]); } mav2 = sum2/P; If H2[P] > 0 Then Begin Avgvalue2 = mav2; MD2 = 0; For cnt = 0 To P - 1 Begin MD2 = MD2 + Abs(H2[cnt] + L2[cnt] + C2[cnt] - Avgvalue2); End; MD2 = MD2 / P; If MD1 == 0 Then CCIv2 = 0; Else CCIv2 = (H2[0] + L2[0] + C2[0] - Avgvalue2) / (0.015 * MD2); End Else CCIv2 = 0; var1 = CCI(P); if var1 >= 100 and CCIv1 >= 100 and CCIV2 >= 100 Then buy(); if var1 <= -100 and CCIv1 <= -100 and CCIv2 <= -100 Then sell(); 2. Input : Period1(12),Period2(26),Period3(9); var : TM(0),Ep1(0),Ep2(0), Ep3(0); var : DINDEX1(0), JISU1(0), JISU2(0); var : PreJISU1(0),PreJISU2(0), PreMACDSIG(0),TF1(0); var : MACDVal(0),MACDSig(0),MACDOsc(0),PreMACDOsc(0); var : TDINDEX1(0), TJISU1(0), TJISU2(0); var : TPreJISU1(0),TPreJISU2(0), TPreMACDSIG(0),TF2(0); var : TMACDVal(0),TMACDSig(0),TMACDOsc(0),TPreMACDOsc(0); Ep1 = 2/(Period1+1); Ep2 = 2/(Period2+1); Ep3 = 2/(Period3+1); if date != date[1] Then TM = TimeToMinutes(stime); TF1 = (TimeToMinutes(stime)-TM)%(BarInterval*2); if dayindex() == 0 or (TF1 < TF1[1] and stime > stime[1]) Then{ DINDEX1 = DINDEX1 + 1; PreJISU1 = JISU1[1]; PreJISU2 = JISU2[1]; if Dindex1 >= 2 Then{ PreMACDSIG = MACDSIG[1]; PreMACDOsc = MACDOsc[1]; } } if DINDEX1 <= 1 then { JISU1 = C; JISU2 = C; MACDVal = JiSu1-Jisu2; } else{ JISU1 = C * EP1 + PreJISU1 * (1-EP1); JISU2 = C * EP2 + PreJISU2 * (1-EP2); MACDVal = JiSu1-Jisu2; } if DINDEX1 <= 2 then { MACDSIG = MACDVal; MACDOsc = MACDVal-MACDsig; } else{ MACDSIG = MACDVal * EP3 + PreMACDSIG * (1-EP3); MACDOsc = MACDVal-MACDsig; } Ep1 = 2/(Period1+1); Ep2 = 2/(Period2+1); Ep3 = 2/(Period3+1); if date != date[1] Then TM = TimeToMinutes(stime); TF2 = (TimeToMinutes(stime)-TM)%(BarInterval*4); if dayindex() == 0 or (TF2 < TF2[1] and stime > stime[1]) Then{ TDINDEX1 = TDINDEX1 + 1; TPreJISU1 = TJISU1[1]; TPreJISU2 = TJISU2[1]; if TDindex1 >= 2 Then{ TPreMACDSIG = TMACDSIG[1]; TPreMACDOsc = TMACDOsc[1]; } } if TDINDEX1 <= 1 then { TJISU1 = C; TJISU2 = C; TMACDVal = TJiSu1-TJisu2; } else{ TJISU1 = C * EP1 + TPreJISU1 * (1-EP1); TJISU2 = C * EP2 + TPreJISU2 * (1-EP2); TMACDVal = TJiSu1-TJisu2; } if TDINDEX1 <= 2 then { TMACDSIG = TMACDVal; TMACDOsc = TMACDVal-TMACDsig; } else{ TMACDSIG = TMACDVal * EP3 + TPreMACDSIG * (1-EP3); TMACDOsc = TMACDVal-TMACDsig; } var1 = MACD_OSC(Period1,period2,Period3); var2 = MACD(Period1,Period2); if var1 > 0 and var2 > 0 and MACDOsc > 0 and MACDVal > 0 and TMACDOsc > 0 and TMACDVal > 0 Then buy(); if var1 < 0 and var2 < 0 and MACDOsc < 0 and MACDVal < 0 and TMACDOsc < 0 and TMACDVal < 0 Then sell(); 3. input : N(30),AA(60),BB(40); var : TM(0),TF1(0),TF2(0),cnt(0),HH1(0),LL1(0),HH2(0),LL2(0); var : Diff1(0),Diff2(0); Array : L1[100](0),H1[100](0); Array : L2[100](0),H2[100](0); if date != date[1] Then TM = TimeToMinutes(stime); TF1 = (TimeToMinutes(stime)-TM)%(BarInterval*2); TF2 = (TimeToMinutes(stime)-TM)%(BarInterval*4); if dayindex() == 0 or (TF1 < TF1[1] and stime > stime[1]) Then{ H1[0] = H; L1[0] = L; for cnt = 1 to 99{ H1[cnt] = H1[cnt-1][1]; L1[cnt] = L1[cnt-1][1]; } } if H > H1[0] Then H1[0] = H; if L < L1[0] Then L1[0] = L; if dayindex() == 0 or (TF2 < TF2[1] and stime > stime[1]) Then{ H2[0] = H; L2[0] = L; for cnt = 1 to 99{ H2[cnt] = H2[cnt-1][1]; L2[cnt] = L2[cnt-1][1]; } } if H > H2[0] Then H2[0] = H; if L < L2[0] Then L2[0] = L; if H1[N-1] > 0 and L1[N-1] > 0 Then{ HH1 = H1[0]; LL1 = L1[0]; for cnt = 0 to N-1{ if H1[cnt] > HH1 Then HH1 = H1[cnt]; if L1[cnt] < LL1 Then LL1 = L1[cnt]; } Diff1 = HH1-LL1; } if H2[N-1] > 0 and L2[N-1] > 0 Then{ HH2 = H2[0]; LL2 = L2[0]; for cnt = 0 to N-1{ if H2[cnt] > HH2 Then HH2 = H2[cnt]; if L2[cnt] < LL2 Then LL2 = L2[cnt]; } Diff2 = HH2-LL2; } var1 = highest(h,N); var2 = lowest(l,N); var3 = var1-var2; if crossup(c,var2+var3*(AA/100)) and crossup(c,LL1+Diff1*(AA/100)) and crossup(c,LL2+Diff2*(AA/100)) Then buy(); if CrossDown(c,var2+var3*(BB/100)) and CrossDown(c,LL1+Diff1*(BB/100)) and CrossDown(c,LL2+Diff2*(BB/100)) Then sell(); 즐거운 하루되세요 > jbouu123 님이 쓴 글입니다. > 제목 : 안녕하세요 > 안녕하세요 무리하게 수식부탁해서 염치가 없지요 이후로는 절대 자중하겟습니다 간단한걸로요 (챠트 한개.분챠트용) 가) cci과매수:1)현재분챠트과매수.2)2배수챠트과매수.3)4배수챠트과매수 위의3개항만족시:매수 반대:매도 나)MACD"0선"위 macd osillater 양오실매수:1)현재분챠트양오실.2)2배수챠트양오실. 3)4배 수챠트양오실 위의3개항만족시:매수 반대:매도 아래식은 어제 올려준 식입니다 input : N(30),AA(60),BB(40); var1 = highest(h,N); var2 = lowest(l,N); var3 = var1-var2; if crossup(c,var2+var3*(AA/100)) Then buy(); if CrossDown(c,var2+var3*(BB/100)) Then sell(); 감사합니다