커뮤니티

타주기 macd

프로필 이미지
카카
2017-09-11 20:18:02
154
글번호 112671
답변완료
지난번 보내주신 서식 잘받았습니다. 감사합니다. 더불어 어려우시더라도 타주기 macd도 같이 작성해주시면 감사하겠습니다. 예를들어 15분차트에서 60분,120분,240분,480분, 일봉 등의 타주기의 macd를 겹치고 싶습니다. 번거롭게 해드려 죄송합니다. 항상 감사드립니다.
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2017-09-12 13:57:37

안녕하세요 예스스탁입니다. input : P(20),short(12),long(26),sig(9); var : mav(0),dis(0),SS(0),LL(0),MACDV(0),MACDS(0); mav = ma(c,P); dis = (C-mav)/mav*100;#0기준 이격도 SS = ema(C,short); LL = ema(C,Long); MACDV = (SS-LL)/LL*100; MACDS = ema(MACDV,sig); plot1(dis); plot2(MACDV); plot3(MACDS); input : Atime1(60),Atime2(120),Atime3(240),Atime4(480); var : S1(0),D1(0),TM(0),EP1(0),EP2(0),EP3(0); var : TF1(0),ema11(0),ema12(0),idx1(0),Xema11(0),Xema12(0),XMACDS1(0),MACDV1(0),MACDS1(0); var : TF2(0),ema21(0),ema22(0),idx2(0),Xema21(0),Xema22(0),XMACDS2(0),MACDV2(0),MACDS2(0); var : TF3(0),ema31(0),ema32(0),idx3(0),Xema31(0),Xema32(0),XMACDS3(0),MACDV3(0),MACDS3(0); var : TF4(0),ema41(0),ema42(0),idx4(0),Xema41(0),Xema42(0),XMACDS4(0),MACDV4(0),MACDS4(0); var : Didx(0),ema51(0),ema52(0),idx5(0),Xema51(0),Xema52(0),XMACDS5(0),MACDV5(0),MACDS5(0); Ep1 = 2/(short+1); Ep2 = 2/(long+1); Ep3 = 2/(sig+1); if Bdate != Bdate[1] Then{ S1 = TimeToMinutes(stime); D1 = sdate; Didx = Didx + 1; Xema51 = ema51[1]; Xema52 = ema52[1]; XMACDS5 = MACDS5[1]; } if D1 > 0 then{ if sdate == D1 Then TM = TimeToMinutes(stime)-S1; Else TM = TimeToMinutes(stime)+1440-S1; TF1 = TM%Atime1; TF2 = TM%Atime2; TF3 = TM%Atime3; TF4 = TM%Atime4; if bdate != bdate[1] or (TF1 < TF1[1] and bdate == bdate[1]) Then{ idx1 = idx1 + 1; Xema11 = ema11[1]; Xema12 = ema12[1]; XMACDS1 = MACDS1[1]; } if idx1 <= 1 then { ema11 = C; ema12 = C; MACDV1 = (ema11-ema12)/ema12*100; MACDS1 = MACDV1; } else{ ema11 = C * EP1 + Xema11 * (1-EP1); ema12 = C * EP2 + Xema12 * (1-EP2); MACDV1 = (ema11-ema12)/ema12*100; MACDS1 = MACDV1 * EP3 + XMACDS1 * (1-EP3); } plot4(MACDV1); plot5(MACDS1); if bdate != bdate[1] or (TF2 < TF2[1] and bdate == bdate[1]) Then{ idx2 = idx2 + 1; Xema21 = ema21[1]; Xema22 = ema22[1]; XMACDS2 = MACDS2[1]; } if idx2 <= 1 then { ema21 = C; ema22 = C; MACDV2 = (ema21-ema22)/ema22*100; MACDS2 = ema22; } else{ ema21 = C * EP1 + Xema21 * (1-EP1); ema22 = C * EP2 + Xema22 * (1-EP2); MACDV2 = (ema21-ema22)/ema22*100; MACDS2 = MACDV2 * EP3 + XMACDS2 * (1-EP3); } plot6(MACDV2); plot7(MACDS2); if bdate != bdate[1] or (TF3 < TF3[1] and bdate == bdate[1]) Then{ idx3 = idx3 + 1; Xema31 = ema31[1]; Xema32 = ema32[1]; XMACDS3 = MACDS3[1]; } if idx3 <= 1 then { ema31 = C; ema32 = C; MACDV3 = (ema31-ema32)/ema32*100; MACDS3 = MACDV3; } else{ ema31 = C * EP1 + Xema31 * (1-EP1); ema32 = C * EP2 + Xema32 * (1-EP2); MACDV3 = (ema31-ema32)/ema32*100; MACDS3 = MACDV3 * EP3 + XMACDS3 * (1-EP3); } plot8(MACDV3); plot9(MACDS3); if bdate != bdate[1] or (TF4 < TF4[1] and bdate == bdate[1]) Then{ idx4 = idx4 + 1; Xema41 = ema41[1]; Xema42 = ema42[1]; XMACDS4 = MACDS4[1]; } if idx4 <= 1 then { ema41 = C; ema42 = C; MACDV4 = (ema41-ema42)/ema42*100; MACDV4 = MACDV4; } else{ ema41 = C * EP1 + Xema41 * (1-EP1); ema42 = C * EP2 + Xema42 * (1-EP2); MACDV4 = (ema41-ema42)/ema42*100; MACDS4 = MACDV4 * EP3 + XMACDS4 * (1-EP3); } plot10(MACDV4); plot11(MACDS4); } if Didx <= 1 then { ema51 = C; ema52 = C; MACDV5 = (ema51-ema52)/ema52*100; MACDS5 = MACDV5; } else{ ema51 = C * EP1 + Xema51 * (1-EP1); ema52 = C * EP2 + Xema52 * (1-EP2); MACDV5 = (ema51-ema52)/ema52*100; MACDS5 = MACDV5 * EP3 + XMACDS5 * (1-EP3); } plot12(MACDV5); plot13(MACDS5); PlotBaseLine1(0); 즐거운 하루되세요 > 카카 님이 쓴 글입니다. > 제목 : 타주기 macd > 지난번 보내주신 서식 잘받았습니다. 감사합니다. 더불어 어려우시더라도 타주기 macd도 같이 작성해주시면 감사하겠습니다. 예를들어 15분차트에서 60분,120분,240분,480분, 일봉 등의 타주기의 macd를 겹치고 싶습니다. 번거롭게 해드려 죄송합니다. 항상 감사드립니다.