커뮤니티

수식문의

프로필 이미지
softtoug
2016-10-19 14:38:22
140
글번호 103086
답변완료

첨부 이미지

안녕하세요 하기 보내주신 답변은 잘 받았습니다. 다시 한 번 감사드립니다. 몇가지 궁금한 것이 있어서 메일 드립니다. 하기 확인 부탁드립니다. 1. 0 ~ 0.1(또는 -0.1)사이에서도 작동을 합니다.왜 이런지요? 첨부 파일 확인 부탁드립니다. 2. b2,b3,s2,s3 가 중복신호가 많이 발생됩니다. 어떤 신호든 최초 한 신호가 발생하고 3개 봉이내에서 다른신호가 발생할 경우 무시할 수 있는지요? 검토 부탁드립니다. 3. 10:56 조금 시나서 MACD 선과 MACD signal 선 교체가 이루어지고 조건이 충족하는데 매수 진입이 되지 않고 있다가, 다른 신호 매도 진입이 들어갑니다.... 왜 이런건가요? 확인 부탁드립니다. 4. 10월 14일 07:59 전에 MACD 선과 MACD signal 선 교체가 이루어지고 조전이 충족되는데.. 매도 진입이 되지 않고 있다가, 다른 신호 매수 진입이 들어갑니다... 확인 부탁드립니다. -------------------------------------- 안녕하세요 예스스탁입니다. 문의하신 내용은 MACD가 MACD시그널을 상향돌파할때 매수하는데 MACD와 MACD시그널이 모두 -0.1위에 있을때라는 내용입니다. - 0 과 0.1(또는-0.1) 사이에서의 MACD 선과 MACD signal 선의 교체는 무시합니다. 그런데 추가로 적으신 내용에는 0~-0.1사이에는 신호가 나오지 않게 되어 있습니다. 해당식 MACD와 MACD시그널이 단순 특정값이상이나 이하로 지정하시면 되므로 아래식에서 조건식 원하시는 부등호 방향으로 조정하시기 바랍니다. 1. input : P(14),BBP(20),dv(2),MAP(60); input : short(12),long(26),sig(9); var : ADXV(0),DP(0),DM(0),T(0),BBup(0),BBdn(0),mav(0); var : MACDV(0),MACDS(0); ADXV = ADX(P); DP = Diplus(P); DM = DiMinus(P); BBup = BollBandUp(BBP,dv); BBdn = BollBandDown(BBP,dv); mav = ma(C,MAP); MACDV = MACD(short,long); MACDS = ema(MACDV,sig); if crossup(ADXV,20) Then{ if DP > DM and dp < 25 Then buy("b1"); if DP < DM and dm < 25 Then sell("s1"); } if MarketPosition == 1 and IsEntryName("b1") == true Then{ if CrossDown(DP,DM) Then ExitLong(); } if MarketPosition == -1 and IsEntryName("s1") == true Then{ if CrossUp(DP,DM) Then ExitShort(); } if CrossUp(BBdn,mav) and countif(crossdown(BBdn,mav),10) < 1 and DP < 40 Then buy("b2"); if CrossDown(BBup,mav) and countif(CrossUp(BBup,mav),10) < 1 and DM <40 Then sell("s2"); if MarketPosition == 1 and IsEntryName("b2") == true Then{ if CrossDown(DP,DM) Then sell("rs1"); if CrossDown(C,mav) Then sell("rs2"); } if MarketPosition == -1 and IsEntryName("s2") == true Then{ if crossup(DP,DM) Then Buy("rb1"); if Crossup(C,mav) Then buy("rb2"); } if crossup(MACDV,MACDS) and MACDV >= -0.1 and MACDS >= -0.1 Then buy("b3"); if CrossDown(MACDV,MACDS) and MACDV <= -0.1 and MACDS <= -0.1 Then Sell("s3");
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2016-10-19 15:30:33

> softtoug 님이 쓴 글입니다. > 제목 : 수식문의 > 안녕하세요 하기 보내주신 답변은 잘 받았습니다. 다시 한 번 감사드립니다. 몇가지 궁금한 것이 있어서 메일 드립니다. 하기 확인 부탁드립니다. 1. 0 ~ 0.1(또는 -0.1)사이에서도 작동을 합니다.왜 이런지요? 첨부 파일 확인 부탁드립니다. 2. b2,b3,s2,s3 가 중복신호가 많이 발생됩니다. 어떤 신호든 최초 한 신호가 발생하고 3개 봉이내에서 다른신호가 발생할 경우 무시할 수 있는지요? 검토 부탁드립니다. 3. 10:56 조금 시나서 MACD 선과 MACD signal 선 교체가 이루어지고 조건이 충족하는데 매수 진입이 되지 않고 있다가, 다른 신호 매도 진입이 들어갑니다.... 왜 이런건가요? 확인 부탁드립니다. 4. 10월 14일 07:59 전에 MACD 선과 MACD signal 선 교체가 이루어지고 조전이 충족되는데.. 매도 진입이 되지 않고 있다가, 다른 신호 매수 진입이 들어갑니다... 확인 부탁드립니다. -------------------------------------- 안녕하세요 예스스탁입니다. 문의하신 내용은 MACD가 MACD시그널을 상향돌파할때 매수하는데 MACD와 MACD시그널이 모두 -0.1위에 있을때라는 내용입니다. - 0 과 0.1(또는-0.1) 사이에서의 MACD 선과 MACD signal 선의 교체는 무시합니다. 그런데 추가로 적으신 내용에는 0~-0.1사이에는 신호가 나오지 않게 되어 있습니다. 해당식 MACD와 MACD시그널이 단순 특정값이상이나 이하로 지정하시면 되므로 아래식에서 조건식 원하시는 부등호 방향으로 조정하시기 바랍니다. 1. input : P(14),BBP(20),dv(2),MAP(60); input : short(12),long(26),sig(9); var : ADXV(0),DP(0),DM(0),T(0),BBup(0),BBdn(0),mav(0); var : MACDV(0),MACDS(0); ADXV = ADX(P); DP = Diplus(P); DM = DiMinus(P); BBup = BollBandUp(BBP,dv); BBdn = BollBandDown(BBP,dv); mav = ma(C,MAP); MACDV = MACD(short,long); MACDS = ema(MACDV,sig); if crossup(ADXV,20) Then{ if DP > DM and dp < 25 Then buy("b1"); if DP < DM and dm < 25 Then sell("s1"); } if MarketPosition == 1 and IsEntryName("b1") == true Then{ if CrossDown(DP,DM) Then ExitLong(); } if MarketPosition == -1 and IsEntryName("s1") == true Then{ if CrossUp(DP,DM) Then ExitShort(); } if CrossUp(BBdn,mav) and countif(crossdown(BBdn,mav),10) < 1 and DP < 40 Then buy("b2"); if CrossDown(BBup,mav) and countif(CrossUp(BBup,mav),10) < 1 and DM <40 Then sell("s2"); if MarketPosition == 1 and IsEntryName("b2") == true Then{ if CrossDown(DP,DM) Then sell("rs1"); if CrossDown(C,mav) Then sell("rs2"); } if MarketPosition == -1 and IsEntryName("s2") == true Then{ if crossup(DP,DM) Then Buy("rb1"); if Crossup(C,mav) Then buy("rb2"); } if crossup(MACDV,MACDS) and MACDV >= -0.1 and MACDS >= -0.1 Then buy("b3"); if CrossDown(MACDV,MACDS) and MACDV <= -0.1 and MACDS <= -0.1 Then Sell("s3");