커뮤니티

안녕하세요. 시스템트레이딩 코딩 부탁드립니다.

프로필 이미지
최태수
2025-06-14 23:01:23
264
글번호 191725
답변완료

첨부 이미지

안녕하세요 담당자님 고생많으십니다. input : lengthMA_MACD(34), lengthSignal(9); var: src(0), hi(0), lo(0), mi(0); var: ema1(0), ema2(0), ema_zlema(0); var: md(0), sb(0), HISTO(0); // 1) 기준값 src = (High + Low + Close) / 3; // 2) ZLEMA 계산 ema1 = ema(src, lengthMA_MACD); ema2 = ema(ema1, lengthMA_MACD); ema_zlema = ema1 + (ema1 - ema2); // 3) 고가/저가 평균 (Wilder SMMA) hi = IFF(IsNaN(hi[1]), Average(High, lengthMA_MACD), (hi[1] * (lengthMA_MACD - 1) + High) / lengthMA_MACD); lo = IFF(IsNaN(lo[1]), Average(Low, lengthMA_MACD), (lo[1] * (lengthMA_MACD - 1) + Low) / lengthMA_MACD); mi = (hi + lo) / 2; // 4) Kiwoom 스타일 MD 계산 md = IFF(ema_zlema > hi, ema_zlema - hi, IFF(ema_zlema < lo, ema_zlema - lo, 0)); // 5) Signal & Histogram sb = Average(md, lengthSignal); HISTO = md - sb; // 6) 시각화 Plot1(0, "ZeroLine", Gray); Plot2(md, "PaulMACD", Red); Plot3(sb, "Signal", Blue); Plot4(HISTO, "Histogram", IFF(md > sb, Red, Blue)); 이렇게 지표는 만드는데 성공을 해서 시각화 까지 잘 되었는데요 그 다음 시스템트레이딩으로 만드는데 어려움이 있어서요 ㅠ ------------------------------------------------------------------------------------ 제가 원하는 조건은 입력 변수 MA MACD Length: 34 Signal Length: 9 진입 시 차이 임계치: 1.5 지표 계산 방식 src = (High + Low + Close) / 3 ZLEMA = EMA(src,34) + (EMA(src,34) - EMA(EMA(src,34),34)) 고가·저가 SMMA(34)로 hi, lo 구한 뒤 mid = (hi+lo)/2 md = (ZLEMA-mid) 상·하단 밴드 외곽 돌파 시, 아니면 0 sb = SMA(md,9) HISTO = md - sb 매매 로직 진입(Short): md < sb(시그널선)로 하향 교차할 때 그리고 (md - sb) ≥ 1.5 청산(Cover): md > sb로 상향 교차할 때 이렇게입니다. 감사합니다.
시스템
답변 2
프로필 이미지

예스스탁 예스스탁 답변

2025-06-16 10:49:50

안녕하세요 예스스탁입니다. input : lengthMA_MACD(34), lengthSignal(9); input : 진입시차이임계치(1.5); var: src(0), hi(0), lo(0), mi(0); var: ema1(0), ema2(0), ema_zlema(0); var: md(0), sb(0), HISTO(0); // 1) 기준값 src = (High + Low + Close) / 3; // 2) ZLEMA 계산 ema1 = ema(src, lengthMA_MACD); ema2 = ema(ema1, lengthMA_MACD); ema_zlema = ema1 + (ema1 - ema2); // 3) 고가/저가 평균 (Wilder SMMA) hi = IFF(IsNaN(hi[1]), ma(High, lengthMA_MACD), (hi[1] * (lengthMA_MACD - 1) + High) / lengthMA_MACD); lo = IFF(IsNaN(lo[1]), ma(Low, lengthMA_MACD), (lo[1] * (lengthMA_MACD - 1) + Low) / lengthMA_MACD); mi = (hi + lo) / 2; // 4) Kiwoom 스타일 MD 계산 md = IFF(ema_zlema > hi, ema_zlema - hi, IFF(ema_zlema < lo, ema_zlema - lo, 0)); // 5) Signal & Histogram sb = ma(md, lengthSignal); HISTO = md - sb; if CrossDown(HISTO,0) and abs(HISTO) >= 진입시차이임계치 Then Sell("s"); if MarketPosition == -1 and CrossUp(HISTO,0) Then ExitShort("sx"); 즐거운 하루되세요 > 최태수 님이 쓴 글입니다. > 제목 : 안녕하세요. 시스템트레이딩 코딩 부탁드립니다. > 안녕하세요 담당자님 고생많으십니다. input : lengthMA_MACD(34), lengthSignal(9); var: src(0), hi(0), lo(0), mi(0); var: ema1(0), ema2(0), ema_zlema(0); var: md(0), sb(0), HISTO(0); // 1) 기준값 src = (High + Low + Close) / 3; // 2) ZLEMA 계산 ema1 = ema(src, lengthMA_MACD); ema2 = ema(ema1, lengthMA_MACD); ema_zlema = ema1 + (ema1 - ema2); // 3) 고가/저가 평균 (Wilder SMMA) hi = IFF(IsNaN(hi[1]), Average(High, lengthMA_MACD), (hi[1] * (lengthMA_MACD - 1) + High) / lengthMA_MACD); lo = IFF(IsNaN(lo[1]), Average(Low, lengthMA_MACD), (lo[1] * (lengthMA_MACD - 1) + Low) / lengthMA_MACD); mi = (hi + lo) / 2; // 4) Kiwoom 스타일 MD 계산 md = IFF(ema_zlema > hi, ema_zlema - hi, IFF(ema_zlema < lo, ema_zlema - lo, 0)); // 5) Signal & Histogram sb = Average(md, lengthSignal); HISTO = md - sb; // 6) 시각화 Plot1(0, "ZeroLine", Gray); Plot2(md, "PaulMACD", Red); Plot3(sb, "Signal", Blue); Plot4(HISTO, "Histogram", IFF(md > sb, Red, Blue)); 이렇게 지표는 만드는데 성공을 해서 시각화 까지 잘 되었는데요 그 다음 시스템트레이딩으로 만드는데 어려움이 있어서요 ㅠ ------------------------------------------------------------------------------------ 제가 원하는 조건은 입력 변수 MA MACD Length: 34 Signal Length: 9 진입 시 차이 임계치: 1.5 지표 계산 방식 src = (High + Low + Close) / 3 ZLEMA = EMA(src,34) + (EMA(src,34) - EMA(EMA(src,34),34)) 고가·저가 SMMA(34)로 hi, lo 구한 뒤 mid = (hi+lo)/2 md = (ZLEMA-mid) 상·하단 밴드 외곽 돌파 시, 아니면 0 sb = SMA(md,9) HISTO = md - sb 매매 로직 진입(Short): md < sb(시그널선)로 하향 교차할 때 그리고 (md - sb) ≥ 1.5 청산(Cover): md > sb로 상향 교차할 때 이렇게입니다. 감사합니다.
프로필 이미지

최태수

2025-06-16 21:18:34

최태수 님에 의해 삭제된 답변입니다.