커뮤니티

문의드립니다.

프로필 이미지
카르마다
2020-01-24 03:20:42
253
글번호 135404
답변완료
안녕하세요. 수고많으십니다. 1. 파라볼릭이 양이면 2점 2. macd, signal 골드면 1점 3. obv, signal 골드면 1점 4. heiken ashi이 상승이면 1점 5. 시가위에 봉이 종가상 올라타면 1점 6. 당일 고가, 저가의 평균가선 위에 봉이 종가상 올라타면 1점 총 점수는 7점 만점입니다. 양봉이고 7점중에 5점 이상이면(5점, 6점, 7점) 투자금의 50% 매수 양봉이고 7점중에 6점 이상이면(6점, 7점) 나머지 투자금의 50%도 매수 (만일 4점 이하에서 바로 6점 이상이 된다면 바로 100% 매수) 음봉이고 4점 이하면(1점, 2점, 3점, 4점) 전체 매수량의 50% 매도 음봉이고 3점 이하면(1점, 2점, 3점) 전체 매수량의 100% 매도 (만일 5점 이상에서 바로 3점이하가 된다면 바로 100% 매도) 그외 원하는 추가조건은 1. [당일청산] 3시에 전량 청산 2. [트레일링 스탑] 평단기준 5% 이상 수익후 3%이상 밀리면 전량 청산 3. [손절] 평단기준 8%에 도달하면 무조건 전량 청산 마지막으로 투자금 대비 절반만 매수했는데 절반 매도 조건이 만족된다면 전량 청산이 아닌 절반에서 절반만 매도하는 것을 가능하다면 원합니다. 또한 절반 매수후 그기서 절반을 매도했는데 다시 절반 매수조건이 만족하면 남은 투자금에서 절반을 추가로 매수하는 것을 가능하다면 원합니다. 그리고 점수나 조건을 수정하면서 테스트해볼 수 있게 간단한 주석도 좀 부탁드립니다. 좀 복잡한 내용하고 많은 내용이라 죄송합니다만 잘 부탁드리겠습니다. 그리고 노고에 미리 감사드립니다.
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2020-01-28 13:54:31

안녕하세요 예스스탁입니다. 피라미딩을 다른진입신호만 허용으로 설정하고 적용하시면 됩니다. input : af(0.02),maxaf(0.2); Input : short(12), long(26), signal(9); input : OBVsig(10); input : 투자금(10000000); var : sarv(0),MACDV(0) , MACDS(0),OBVv(0),OBVs(0); vars: xClose(0),xOpen(0),xHigh(0),xLow(0),HH(0); Sarv = Sar(af,maxaf); OBVv = OBV; OBVs = ma(OBVv,OBVsig); MACDV = MACD(short, long); MACDS = ema(MACDV,signal); if index == 0 then { xOpen = open; xClose = (O+H+L+C)/4; xHigh = MaxList( high, xOpen, xClose); xLow = MinList( low, xOpen,xClose); } else { xClose = (O+H+L+C)/4; xOpen = (xOpen [1] + xClose [1])/2 ; xHigh = MaxList(High, xOpen, xClose) ; xLow = MinList(Low, xOpen, xClose) ; } #1. 종가가 파라볼릭보다 크면 2점 아니면 0 var1 = iff(C > Sarv,2,0); #2. macd, signal 골드면 1점 아니면 0 var2 = iff(MACDv > MACDs,1,0); #3. obv, signal 골드면 1점 아니면 0 var3 = iff(OBVv > OBVs,1,0); #4. heiken ashi 종가가 상승이면 1점 아니면 0 var4 = iff(xClose > xClose[1],1,0); #5. 종가가 시초가보다 크면 1점 아니면 0 var5 = iff(C > DayOpen,1,0); #6. 종가가 당일 고가, 저가의 평균가선 보다 크면 1점 아니면 0 var6 = iff(C > (DayHigh+daylow)/2,1,0); #점수 합산 var7 = var1+var2+var3+var4+var5+var6; #무포지션 if MarketPosition == 0 then { #양봉이고 4점이하에서 5점이되면 50% 매수 if C > O and var7 == 5 and var7[1] <= 4 Then buy("b1",OnClose,def,Floor((투자금*0.5)/C)); #양봉이고 4점이하에서 6점이되면 100% 매수 if C > O and var7 >= 6 and var7[1] <= 4 Then buy("b",OnClose,def,Floor(투자금/C)); } #매수 후 if MarketPosition == 1 then { #양봉이고 5점이하에서 6점이되면 50% 매수 if MaxEntries == 1 and IsEntryName("b1") == true and C > O and var7 >= 6 and var7[1] <= 5 Then buy("b2",OnClose,def,Floor((투자금*0.5)/C)); #현재수량이 진입이후 최대수량과 같을때(매도가 한번도 없는 상황) if CurrentContracts == MaxContracts then { #음봉이고 5점 이상에서 4점이 되면 보유수량 50% 청산 if C < O and var7 == 4 and var7[1] >= 5 Then ExitLong("bx1",OnClose,def,"",Floor(CurrentContracts*0.5),1); #음봉이고 5점 이상에서 3점이하가 되면 보유수량 100% 청산 if C < O and var7 <= 3 and var7[1] >= 5 Then ExitLong("bx"); } #현재수량이 진입이후 최대수량보자 작을때(매도가 한번이상 있는 상황) if CurrentContracts <= MaxContracts then { #음봉이고 4점 이상에서 3점이하가 되면 보유수량 전량 청산 if C < O and var7 <= 3 and var7[1] >= 4 Then ExitLong("bx2"); } #최근 진입이후 최고가 계산 if CurrentContracts > CurrentContracts[1] Then hh = h; if h > hh Then hh = h; #진입이후 5%이상 상승후에 최고가 대비 3% 하락하면 if hh >= AvgEntryPrice*1.05 Then ExitLong("btr",AtStop,hh*0.97); #8% 손실이면 전량청산 ExitLong("bl",AtStop,AvgEntryPrice*0.92); } #3시 청산 SetStopEndofday(150000); 즐거운 하루되세요 > 카르마다 님이 쓴 글입니다. > 제목 : 문의드립니다. > 안녕하세요. 수고많으십니다. 1. 파라볼릭이 양이면 2점 2. macd, signal 골드면 1점 3. obv, signal 골드면 1점 4. heiken ashi이 상승이면 1점 5. 시가위에 봉이 종가상 올라타면 1점 6. 당일 고가, 저가의 평균가선 위에 봉이 종가상 올라타면 1점 총 점수는 7점 만점입니다. 양봉이고 7점중에 5점 이상이면(5점, 6점, 7점) 투자금의 50% 매수 양봉이고 7점중에 6점 이상이면(6점, 7점) 나머지 투자금의 50%도 매수 (만일 4점 이하에서 바로 6점 이상이 된다면 바로 100% 매수) 음봉이고 4점 이하면(1점, 2점, 3점, 4점) 전체 매수량의 50% 매도 음봉이고 3점 이하면(1점, 2점, 3점) 전체 매수량의 100% 매도 (만일 5점 이상에서 바로 3점이하가 된다면 바로 100% 매도) 그외 원하는 추가조건은 1. [당일청산] 3시에 전량 청산 2. [트레일링 스탑] 평단기준 5% 이상 수익후 3%이상 밀리면 전량 청산 3. [손절] 평단기준 8%에 도달하면 무조건 전량 청산 마지막으로 투자금 대비 절반만 매수했는데 절반 매도 조건이 만족된다면 전량 청산이 아닌 절반에서 절반만 매도하는 것을 가능하다면 원합니다. 또한 절반 매수후 그기서 절반을 매도했는데 다시 절반 매수조건이 만족하면 남은 투자금에서 절반을 추가로 매수하는 것을 가능하다면 원합니다. 그리고 점수나 조건을 수정하면서 테스트해볼 수 있게 간단한 주석도 좀 부탁드립니다. 좀 복잡한 내용하고 많은 내용이라 죄송합니다만 잘 부탁드리겠습니다. 그리고 노고에 미리 감사드립니다.