커뮤니티

수식작성좀 부탁드립니다.

프로필 이미지
알러뷰
2016-10-21 10:12:53
105
글번호 103192
답변완료
안녕하세요. 연일 수고가 많으십니다. 수식내용을 추가하여 수식작성좀 부탁드립니다. 1. 아래 수식에서 60일선 이동평균선을 추가하여 주가가 60일선을 골든크로스(돌파)하면 진입되어 있는 매도건은 무조건 청산하고 매수진입후 매도신호 출현하면 청산하고, 매수신호는 진입하고 매도신호는 청산만되도록. 2. 반대로 아래수식에서 60일선 이동평균선을 추가하여 주가가 60일선을 데드크로스(이탈)하면 진입되어 있는 매수건은 무조건 청산하고, 매도진입후 매수신호 출현하면 청산하고, 매도신호는 진입하고 매수신호는 청산만되도록. input : P(14),BBP(20),dv(2),MAP(60),X(15),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) and ADXV >= X Then{ if DP > DM and dp < 25 Then buy("매수진입1"); if DP < DM and dm < 25 Then sell("매도진입1"); } if MarketPosition == 1 and IsEntryName("매수진입1") == true Then{ if CrossDown(DP,DM) Then ExitLong(); } if MarketPosition == -1 and IsEntryName("매도진입1") == true Then{ if CrossUp(DP,DM) Then ExitShort(); } if crossup(ADXV,10) and ADXV >= X Then{ if DP > DM Then buy("매수진입4"); if DP < DM Then sell("매도진입4"); } if MarketPosition == 1 and IsEntryName("매수진입4") == true Then{ if CrossDown(DP,DM) Then ExitLong(); } if MarketPosition == -1 and IsEntryName("매도진입4") == true Then{ if CrossUp(DP,DM) Then ExitShort(); } if ADXV >= X Then{ if crossup(MACDV,MACDS) Then buy("매수진입5"); if CrossDown(MACDV,MACDS) Then sell("매도진입5"); }
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2016-10-21 11:04:21

안녕하세요 예스스탁입니다. 매도진입후 60이평 상향돌파를 하면 청산후 매수로 스위칭하고 해당 신호로 스위칭후 다른 반대방향(Sell) 신호가 발생하면 청산만 매수진입후 60이평 하향이탈을 하면 청산후 매도로 스위칭하고 해당 신호로 스위칭후 다른 반대방향(buy) 신호가 발생하면 청산만 하게 작성했습니다. input : P(14),BBP(20),dv(2),MAP(60),X(15),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) and ADXV >= X Then{ if DP > DM and dp < 25 Then{ if MarketPosition == -1 and IsEntryName("bs") == True then ExitShort("sx1"); Else buy("매수진입1"); } if DP < DM and dm < 25 Then{ if MarketPosition == 1 and IsEntryName("bs") == True then ExitLong("bx1"); Else sell("매도진입1"); } } if MarketPosition == 1 and IsEntryName("매수진입1") == true Then{ if CrossDown(DP,DM) Then ExitLong(); } if MarketPosition == -1 and IsEntryName("매도진입1") == true Then{ if CrossUp(DP,DM) Then ExitShort(); } if crossup(ADXV,10) and ADXV >= X Then{ if DP > DM Then{ if MarketPosition == -1 and IsEntryName("bs") == True then ExitShort("sx4"); Else buy("매수진입4"); } if DP < DM Then{ if MarketPosition == 1 and IsEntryName("bs") == True then ExitLong("bx4"); Else sell("매도진입4"); } } if MarketPosition == 1 and IsEntryName("매수진입4") == true Then{ if CrossDown(DP,DM) Then ExitLong(); } if MarketPosition == -1 and IsEntryName("매도진입4") == true Then{ if CrossUp(DP,DM) Then ExitShort(); } if ADXV >= X Then{ if crossup(MACDV,MACDS) Then{ if MarketPosition == -1 and IsEntryName("bs") == True then ExitShort("sx5"); Else buy("매수진입5"); } if CrossDown(MACDV,MACDS) Then{ if MarketPosition == 1 and IsEntryName("bs") == True then ExitLong("bx5"); Else sell("매도진입5"); } } if MarketPosition == -1 and crossup(c,mav) Then{ if IsEntryName("bs") == false then buy("sb"); Else ExitShort("bsx"); } if MarketPosition == 1 and CrossDown(c,mav) Then{ if IsEntryName("sb") == false then sell("bs"); Else ExitLong("sbx"); } 즐거운 하루되세요 > 알러뷰 님이 쓴 글입니다. > 제목 : 수식작성좀 부탁드립니다. > 안녕하세요. 연일 수고가 많으십니다. 수식내용을 추가하여 수식작성좀 부탁드립니다. 1. 아래 수식에서 60일선 이동평균선을 추가하여 주가가 60일선을 골든크로스(돌파)하면 진입되어 있는 매도건은 무조건 청산하고 매수진입후 매도신호 출현하면 청산하고, 매수신호는 진입하고 매도신호는 청산만되도록. 2. 반대로 아래수식에서 60일선 이동평균선을 추가하여 주가가 60일선을 데드크로스(이탈)하면 진입되어 있는 매수건은 무조건 청산하고, 매도진입후 매수신호 출현하면 청산하고, 매도신호는 진입하고 매수신호는 청산만되도록. input : P(14),BBP(20),dv(2),MAP(60),X(15),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) and ADXV >= X Then{ if DP > DM and dp < 25 Then buy("매수진입1"); if DP < DM and dm < 25 Then sell("매도진입1"); } if MarketPosition == 1 and IsEntryName("매수진입1") == true Then{ if CrossDown(DP,DM) Then ExitLong(); } if MarketPosition == -1 and IsEntryName("매도진입1") == true Then{ if CrossUp(DP,DM) Then ExitShort(); } if crossup(ADXV,10) and ADXV >= X Then{ if DP > DM Then buy("매수진입4"); if DP < DM Then sell("매도진입4"); } if MarketPosition == 1 and IsEntryName("매수진입4") == true Then{ if CrossDown(DP,DM) Then ExitLong(); } if MarketPosition == -1 and IsEntryName("매도진입4") == true Then{ if CrossUp(DP,DM) Then ExitShort(); } if ADXV >= X Then{ if crossup(MACDV,MACDS) Then buy("매수진입5"); if CrossDown(MACDV,MACDS) Then sell("매도진입5"); }