커뮤니티

갭보정

프로필 이미지
********
2009-09-16 09:48:35
507
글번호 24772
답변완료
갭보정하여 참조종목으로 사용할 수 있도록 수정부탁합니다. Input : shortPeriod(12), longPeriod(26), Period(9); Var : MACDv(0), MACDs(0),upC(0),dnC(0),upMACD(0),dnMACD(0); var : upC1(0),dnC1(0),upMACD1(0),DnMACD1(0); MACDv = MACD(shortPeriod, longPeriod); MACDs = ema(MACDv,Period); if crossup(MACDv,MACDs) Then{ upC = C; upMACD = MACDv; upC1 = upC[1]; upMACD1 = upMACD[1]; } if CrossDown(MACDv,MACDs) Then{ dnC = C; DnMACD = MACDv; dnC1 = dnC[1]; DnMACD1 = DnMACD[1]; } if crossup(MACDv,MACDS) and upC < UPC1 and upMACD > upMACD1 Then buy(); if CrossDown(MACDv,MACDS) and upC > UPC1 and dnMACD < dnMACD1 Then Sell();
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2009-09-16 09:58:18

안녕하세요 예스스탁입니다. 1. 갭보정 Input : shortPeriod(12), longPeriod(26), Period(9); Var : MACDv(0), MACDs(0),upC(0),dnC(0),upMACD(0),dnMACD(0); var : upC1(0),dnC1(0),upMACD1(0),DnMACD1(0),gap(0),sumgap(0),GC(0); if date!=date[1] then { gap = Open-Close[1]; sumGap = sumGap+gap; } GC = C - sumGap; // 갭보정 종가 MACDv = ema(GC,shortPeriod)-ema(GC,longPeriod); MACDs = ema(MACDv,Period); if crossup(MACDv,MACDs) Then{ upC = gC; upMACD = MACDv; upC1 = upC[1]; upMACD1 = upMACD[1]; } if CrossDown(MACDv,MACDs) Then{ dnC = gC; DnMACD = MACDv; dnC1 = dnC[1]; DnMACD1 = DnMACD[1]; } if crossup(MACDv,MACDS) and upC < UPC1 and upMACD > upMACD1 Then buy(); if CrossDown(MACDv,MACDS) and upC > UPC1 and dnMACD < dnMACD1 Then Sell(); 2. 참조종목이용+갭보정 Input : shortPeriod(12), longPeriod(26), Period(9); Var : MACDv(0,data2), MACDs(0,data2),upC(0,data2),dnC(0,data2),upMACD(0,data2),dnMACD(0,data2); var : upC1(0,data2),dnC1(0,data2),upMACD1(0,data2),DnMACD1(0,data2),gap(0,data2),sumgap(0,data2),GC(0,data2); if data2(date)!=data2(date[1]) then { gap = data2(Open)-data2(Close[1]); sumGap = sumGap+gap; } GC = data2(C) - sumGap; // 갭보정 종가 MACDv = ema(GC,shortPeriod)-ema(GC,longPeriod); MACDs = ema(MACDv,Period); if crossup(MACDv,MACDs) Then{ upC = gC; upMACD = MACDv; upC1 = upC[1]; upMACD1 = upMACD[1]; } if CrossDown(MACDv,MACDs) Then{ dnC = gC; DnMACD = MACDv; dnC1 = dnC[1]; DnMACD1 = DnMACD[1]; } if crossup(MACDv,MACDS) and upC < UPC1 and upMACD > upMACD1 Then buy(); if CrossDown(MACDv,MACDS) and upC > UPC1 and dnMACD < dnMACD1 Then Sell(); 즐거운 하루되세요 > HI_coco 님이 쓴 글입니다. > 제목 : 갭보정 > 갭보정하여 참조종목으로 사용할 수 있도록 수정부탁합니다. Input : shortPeriod(12), longPeriod(26), Period(9); Var : MACDv(0), MACDs(0),upC(0),dnC(0),upMACD(0),dnMACD(0); var : upC1(0),dnC1(0),upMACD1(0),DnMACD1(0); MACDv = MACD(shortPeriod, longPeriod); MACDs = ema(MACDv,Period); if crossup(MACDv,MACDs) Then{ upC = C; upMACD = MACDv; upC1 = upC[1]; upMACD1 = upMACD[1]; } if CrossDown(MACDv,MACDs) Then{ dnC = C; DnMACD = MACDv; dnC1 = dnC[1]; DnMACD1 = DnMACD[1]; } if crossup(MACDv,MACDS) and upC < UPC1 and upMACD > upMACD1 Then buy(); if CrossDown(MACDv,MACDS) and upC > UPC1 and dnMACD < dnMACD1 Then Sell();