커뮤니티

시스템 프로그램 작성 문의드립니다.

프로필 이미지
으그흐흐
2016-08-04 15:39:54
102
글번호 100713
답변완료
안녕하세요. 항상 친절한 답변 감사드립니다. "10일선 dead" 에서 매수 및 "20일선 dead" 에서 추가 매수하고, 마지막 매수시점 7일이내 5% 수익 시 매도, 8일 이후 조건없이 전량 매도하는 프로그램을 짜고 있는데요... "20일선 dead" 에서 추가매수하는 부분이 잘 안되고 있습니다. 도움말 보면 피라미딩(진입누적)을 설정해야 한다고 하는 것 같은데요... 어느 부분을 봐야 할 지 잘 모르겠네요... 아래는 짜놓은 프로그램입니다. 감사합니다. ----------------------------------------------------------------------- var : Dayx(0); var : buyday(0), buyprice(0), CDCav10dday(0); if date != date[1] Then Dayx = Dayx+1; if MarketPosition == 0 and CrossDown(C, Ema(c,10)) Then { Buy("10일선 dead"); buyday = dayx; buyprice = C; ExitLong("매도5%", AtLimit, buyprice*1.05); } if MarketPosition == 1 and CrossDown(C, Ema(c,20)) Then { Buy("20일선 dead 추매"); buyday = dayx; buyprice = (buyprice+C)/2; ExitLong("추매 매도5%", AtLimit, buyprice*1.05); } if MarketPosition == 1 and buyday+6 >= dayx Then { ExitLong("7일이내 5%", AtLimit, buyprice*1.05); } if MarketPosition == 1 and buyday+7 == dayx Then { ExitLong("8일 포기"); }
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2016-08-04 17:21:16

안녕하세요 예스스탁입니다. 작성하신 수식내에서는 따로 수정할 내용은 없습니다. 시스템은 기본적으로 추가로 진입을 못하게 되어 있습니다. 추가로 진입하는 내용을 작성하시면 시스템을 적용할때 시스템트레이딩 설정창의 피라미딩 탭에서 피라미딩을 [모든진입신호 허용]이나 [다른진입신호만허용] 중 하나를 택해서 선택후 적용하셔야 합니다. 기본설정은 항상 [허용안함]입니다. 작성하신 식의 경우 Buy("10일선 dead");로 최초 진입후 Buy("20일선 dead 추매");로 한번만 추가로 매수하는 식이므로 피라미딩을 [다른진입신호만허용]으로 설정하시면 됩니다. [다른진입신호만허용]은 수식내 Buy와 같은 진입함수가 여러개 일때 청산전에 한번씩만 진입한다는 설정입니다. Buy("10일선 dead"); ---> Buy("20일선 dead 추매"); --> 청산 [모든진입신호허용]으로 설정하시면 각 Buy별로 조건만족할때마다 횟수에 제한없이 진입합니다. Buy("10일선 dead");의 경우에는 무포지션(MarketPosition == 0)이라는 조건이 있으므로 추가로 나오지 않지만 Buy("20일선 dead 추매");가 여러번 진입할수도 있습니다. Buy("10일선 dead"); ---> Buy("20일선 dead 추매"); --> Buy("20일선 dead 추매"); --> ...--> 청산 참고로 피라미딩탭 하단의 진입설정은 최대 누적되는횟수와 수량에 제한을 주는 옵션입니다. 즐거운 하루되세요 > 으그흐흐 님이 쓴 글입니다. > 제목 : 시스템 프로그램 작성 문의드립니다. > 안녕하세요. 항상 친절한 답변 감사드립니다. "10일선 dead" 에서 매수 및 "20일선 dead" 에서 추가 매수하고, 마지막 매수시점 7일이내 5% 수익 시 매도, 8일 이후 조건없이 전량 매도하는 프로그램을 짜고 있는데요... "20일선 dead" 에서 추가매수하는 부분이 잘 안되고 있습니다. 도움말 보면 피라미딩(진입누적)을 설정해야 한다고 하는 것 같은데요... 어느 부분을 봐야 할 지 잘 모르겠네요... 아래는 짜놓은 프로그램입니다. 감사합니다. ----------------------------------------------------------------------- var : Dayx(0); var : buyday(0), buyprice(0), CDCav10dday(0); if date != date[1] Then Dayx = Dayx+1; if MarketPosition == 0 and CrossDown(C, Ema(c,10)) Then { Buy("10일선 dead"); buyday = dayx; buyprice = C; ExitLong("매도5%", AtLimit, buyprice*1.05); } if MarketPosition == 1 and CrossDown(C, Ema(c,20)) Then { Buy("20일선 dead 추매"); buyday = dayx; buyprice = (buyprice+C)/2; ExitLong("추매 매도5%", AtLimit, buyprice*1.05); } if MarketPosition == 1 and buyday+6 >= dayx Then { ExitLong("7일이내 5%", AtLimit, buyprice*1.05); } if MarketPosition == 1 and buyday+7 == dayx Then { ExitLong("8일 포기"); }