커뮤니티

수식 부탁합니다.~

프로필 이미지
타잔94
2017-01-21 02:18:51
169
글번호 106162
답변완료

첨부 이미지

안녕하세요.. 이렇게 간단히 수식을 사용하고 있는데 손절과 청산부분을 어떻게 추가해야 막막해서 그림과 함께 올립니다. 기본 수식은 이렇습니다 -------------------------- input : Period2(20),Period3(60); Variables: p1Avg(0), p2Avg(0), p3Avg(0); p2Avg = MA(C, Period2); p3Avg = MA(C, Period3); # 매수/매도청산 If (p2Avg > p2Avg[1] AND p3Avg > p3Avg[1] ) Then Buy ("매수"); # 매도/매수청산 If (p2Avg < p2Avg[2] AND p3Avg < p3Avg[1] ) Then Sell ("매도"); 여기에서 손절과 청산을 넣고 싶은데요.. 그림에서 보면 MACD가 크로스 나는 첫번째(1) 시점의 캔들의 고점을 첫번에 매수 신호가 깨지 않으면(또는 일정 수치 이상) 손절은 안되고 거꾸로 고점을 아래로 깨면 손절.. 두번째(2) MACD에선 데드크로스가 살짝 났는데 그 때의 캔들의 저점을 깨지 않으면 홀딩하고 마지막 3번 캔들의 저점을 깨면 청산하고 싶습니다.. 매도신호를 보면 4번 캔들이 MACD 데드 크로스 상태인데 저점을 깨고 올라와서 바로 손절을 합니다.(예 4번 캔들 저점 위로 1틱 위로 올라가면 손절) 그리고.. 마지막 하나.. 더... 손절하거나 청산 후에 다시 재진입 신호가 안 나왔으면 합니다. 차트에 보이는 것 처럼 2개의 신호만 있으면 합니다. 그 안에서 손절, 청산이 있으면 합니다.
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2017-01-23 14:12:31

안녕하세요 예스스탁입니다. input : Period2(20),Period3(60); input : Short(12),Long(26),sig(9); Var : p1Avg(0), p2Avg(0), p3Avg(0); var : MACDV(0),MACDS(0),HH(0),LL(0); p2Avg = MA(C, Period2); p3Avg = MA(C, Period3); MACDV = MACD(short,long); MACDS = ema(MACDv,sig); # 매수/매도청산 If (p2Avg > p2Avg[1] AND p3Avg > p3Avg[1] ) Then{ if (MarketPosition == 0 and MarketPosition(1) != 1) or MarketPosition == -1 Then Buy ("매수"); } # 매도/매수청산 If (p2Avg < p2Avg[2] AND p3Avg < p3Avg[1] ) Then{ if (MarketPosition == 0 and MarketPosition(1) != -1) or MarketPosition == 1 Then Sell ("매도"); } if crossup(MACDV,MACDS) Then HH = H; if CrossDown(MACDV,MACDS) Then LL = L; if MarketPosition == 1 Then{ if MACDV > MACDS and C < HH Then exitlong(); if MACDV < MACDS and C < LL Then exitlong(); } if MarketPosition == -1 Then{ if MACDV < MACDS and C > LL Then ExitShort(); if MACDV > MACDS and C > HH Then ExitShort(); } 즐거운 하루되세요 > 타잔94 님이 쓴 글입니다. > 제목 : 수식 부탁합니다.~ > 안녕하세요.. 이렇게 간단히 수식을 사용하고 있는데 손절과 청산부분을 어떻게 추가해야 막막해서 그림과 함께 올립니다. 기본 수식은 이렇습니다 -------------------------- input : Period2(20),Period3(60); Variables: p1Avg(0), p2Avg(0), p3Avg(0); p2Avg = MA(C, Period2); p3Avg = MA(C, Period3); # 매수/매도청산 If (p2Avg > p2Avg[1] AND p3Avg > p3Avg[1] ) Then Buy ("매수"); # 매도/매수청산 If (p2Avg < p2Avg[2] AND p3Avg < p3Avg[1] ) Then Sell ("매도"); 여기에서 손절과 청산을 넣고 싶은데요.. 그림에서 보면 MACD가 크로스 나는 첫번째(1) 시점의 캔들의 고점을 첫번에 매수 신호가 깨지 않으면(또는 일정 수치 이상) 손절은 안되고 거꾸로 고점을 아래로 깨면 손절.. 두번째(2) MACD에선 데드크로스가 살짝 났는데 그 때의 캔들의 저점을 깨지 않으면 홀딩하고 마지막 3번 캔들의 저점을 깨면 청산하고 싶습니다.. 매도신호를 보면 4번 캔들이 MACD 데드 크로스 상태인데 저점을 깨고 올라와서 바로 손절을 합니다.(예 4번 캔들 저점 위로 1틱 위로 올라가면 손절) 그리고.. 마지막 하나.. 더... 손절하거나 청산 후에 다시 재진입 신호가 안 나왔으면 합니다. 차트에 보이는 것 처럼 2개의 신호만 있으면 합니다. 그 안에서 손절, 청산이 있으면 합니다.