커뮤니티

문의 드리겠습니다.

프로필 이미지
웹피
2014-02-27 23:23:24
246
글번호 72994
답변완료
안녕하세요. 관리자님 아래는 얼마전 문의드린 내용인데 아래와 같이 변경하려합니다. 그 부분을 수정해 주시면 감사하겠습니다. ================================================================================== 추천종목=입력창 직접입력 추천일자=입력창 직접입력 기준가=입력창 직접입력=price0 총투자금액=totalmoney 종목당매매금액=totalmoney/5=money1,money2,money3,money4,money5 (총투자금액을 5분할하여 5종목을 분산매매한다) 분할매수금액=(totalmoney/5)/5=money11,money12,……..money15, money21,money22…….,money55 (5종목의 각 종목은 다시 5등분으로 나누어 5번에 걸쳐서 분할매수한다.) -----------------------------------변경할 부분----------------------------------- 분할매수시간=buytime=매일 12:00 와 14:49분 분할매수조건=매일 12시 와 14:49분에 현재가를 확인했을때 2가지 필수조건 즉, 현재가가 기준가 보다 작고 동시에 일봉차트상 현재 봉이 음봉 이면 분할매수를 1번한다.(1종목당 총 5번의 분할매수를 하는데 하루에 12시, 14:49분 두번을 조건확인해서 조건에 해당하면 1번 분할매수를 하고 둘중에 한가지라도 조건에 해당되지 않으면 분할매수 없이 통과하여 5번을 분할매수 채우거나 5번을 채우기전에라도 이익실현 또는 손절 되었을때 분할매수는 끝나게 된다.) 손절=-15% (평균단가대비가 아니고 기준가 대비 -15% 시 손절임) 매매주의신호=warning=입력창 직접선택창 (수익률 -0.1% 이상이면 즉시 매도처리하고 -0.1% 미만~-15% 사이일때는 그대로 홀딩 보유하되 이렇게 보유중인 것은 warning을 1에서 다시 원래의 0 값으로 변경할때까지 분할매수를 중지하고 기준가 대비 손절가 -15%에 도달했을 때에만 손절한다. warning을 다시 0으로 입력한 날부터 분할매수를 포함한 모든 것이 다시 정상적으로 동작한다.) ----------------------------------변경할 부분--------------------------------------- 목표수익률=8% [매매방법] 추천종목의 차트상에서 시스템트레이딩이 처음 시작되면 추천종목,추천일자,총투자금액,매매주의신호를 입력 또는 선택하는 창이 나타나고 이후부터는 버튼을 누르면 창이 뜬다. 분할매수조건이 되었을때 조건을 만족하면 분할매수금액으로 매수 한다. 계속 동일한 방법으로 분할매수조건을 체크하여 조건을 만족하면 분할매수금액으로 매수 한다. 이렇게 1개 종목당 5회의 분할매수를 하게 되며 분할매수가 완료되면 목표수익률에 도달할때까지 홀딩 보유한다. 중간에 주가가 하락하여 -15%에 도달하면 손절처리 한다. 그리고 5회의 분할매수를 하는 도중에라도(아직 분할매수가 완료 안되었어도) 목표수익률에 도달하면 그대로 이익실현하고 매매가 끝나게 되며 손절도 마찬가지로 -15%에 도달하면 손절처리하고 매매가 끝난다. 매매 시작시 매매주의신호를 체크하여 매매주의상태가 되는날은 warning 을 선택하여 확인 클릭하면 시스템은 매매주의신호 방침에 따라 매도 또는 손실상태에서는 홀딩 처리한다. 예제> 총투자금액=1000만원 이면 종목당매매금액=200만원 씩 5종목, 분할매수금액=각 종목당 40만원씩 5회가 된다. 기준가=10000원 , 추천일자=2014/02/24 일때 02/25 12시에 현재가를 확인하니 9700원으로 기준가 10000원 보다 현재가가 작고 일봉차트를 보니 음봉 상태이어서 1번째 40만원 분량을 분할매수하였다. 같은날 14:49분에 다시 확인해보니 현재가 12000원으로 기준가 보다 커서 분할매수 없이 통과하였다. 02/26 12시에 현재가를 확인하니 11000원으로 기준가 10000원 보다 커서 분할매수 없이 통과하였고 14:49분에 다시 확인해보니 현재가 9300원으로 기준가 보다 작고 일봉차트를 보니 음봉이어서 2번째로 40만원 분량을 분할매수하였다. 02/25 에 첫 분할매수를 시작한 이래 매일 시스템이 하루종일 체크하고 있지만 목표수익률에는 아직 도달하지 못하였다. 02/27 오전 국제시장도 국내도 시장이 불안하여 매매주의신호(warning)를 선택하여 방어준비를 지시하자 아직 목표수익률 8%에는 도달하지 못하였지만 현재 수익률 2%로 즉시 매도처리하였다. ==================================================================================== 변경부분은 위와 같습니다. 가르침 부탁드립니다. 항상 감사드립니다. ------------------------질 문----------------------------------------------------- 그리고 전에 주신 식에서 질문이 있습니다. 1) 예를들어 금일 -3% 수익으로 1회 분할매수했는데 다음날 -6%가 아니고 또 다시 -3% 수익이라면 또 추가로 1회 분할매수를 하게되나요? 그렇게 되면 분할매수의 의미가 없는 중복된 매수라서 안되거든요. -3%에서 분할매수 했다면 다음 분할매수는 -6%가 될때까지는 분할매수가 없어야 하거든요. 2) 한가지 더 질문드리겠습니다. 고객센타분께서 매일 새벽에 한번씩 서버를 껏다가 켠다고 하시던데요, 그렇게되면 저도 시스템트레이딩을 계속 연속으로 가동 못하고 매일 아침에 다시 가동시켜야 하게되는데 그렇게해도 프로그램이 전날 실행했던것을 잘못 반복하거나 혼동하지는 않는지요? -------------------------질 문--------------------------------------------------- 바쁘신데 죄송합니다. ================================================================================== 전에 올려주신 수식은 아래와 같습니다. 시스템 적용하실때 피라미딩을 [다른진입신호]만 허용으로 설정하고 적용하시면 됩니다. input : 추천일자(20140224),기준가(10000),총투자금액(10000000); input : Per(3),loss(15),Profit(8),Warning(0); var : 투입금액(0),Evol(0); 투입금액 = 총투자금액*0.2; if CodeCategoryEx == 11 and BasePrice < 50000 Then Evol = int(int((투입금액*0.20)/C)/10)*10; Else Evol = int((투입금액*0.20)/C); if sdate >= 추천일자 Then{ #기준가에서 Per% 하락할때마다 진입(총 5회까지) if MarketPosition == 0 and CurrentEntries == 0 Then buy("b1",atlimit,기준가*(1-(Per*1)/100),Evol); if MarketPosition >= 0 and CurrentEntries == 1 Then buy("b2",atlimit,기준가*(1-(Per*2)/100),Evol); if MarketPosition >= 0 and CurrentEntries == 2 Then buy("b3",atlimit,기준가*(1-(Per*3)/100),Evol); if MarketPosition >= 0 and CurrentEntries == 3 Then buy("b4",atlimit,기준가*(1-(Per*4)/100),Evol); if MarketPosition >= 0 and CurrentEntries == 4 Then buy("b5",atlimit,기준가*(1-(13.5)/100),Evol); #평균단가 대비 loss%손실나면 전량청산 #평균단가 대비 Profit% 수익나면 전량청산 if MarketPosition == 1 Then{ ExitLong("loss",AtStop,AvgEntryPrice*(1-loss/100)); ExitLong("Profit",Atlimit,AvgEntryPrice*(1+Profit/100)); } #Warning이 1이면 적용 후 당일 첫봉에 -0.1% 이상이면 청산 if CurrentDate == sdate and Warning == 1 and dayindex == 0 and C >= AvgEntryPrice*0.999 Then ExitLong(); } =================================================================================
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2014-02-28 10:12:31

안녕하세요 예스스탁입니다. input : 추천일자(20140224),기준가(10000),총투자금액(10000000),BuyTime1(120000),BuyTime2(144900); input : Per(3),loss(15),Profit(8),Warning(0); var : 투입금액(0),Evol(0); 투입금액 = 총투자금액*0.2; if CodeCategoryEx == 11 and BasePrice < 50000 Then Evol = int(int((투입금액*0.20)/C)/10)*10; Else Evol = int((투입금액*0.20)/C); if sdate >= 추천일자 Then{ #기준가에서 Per% 하락할때마다 진입(총 5회까지) if MarketPosition == 0 and CurrentEntries == 0 and (stime == buyTime1 or Stime == Buytime2) And C < 기준가 and C < DayOpen Then buy("b1",OnClose,def,Evol); if MarketPosition == 1 and CurrentEntries == 1 and (stime == buyTime1 or Stime == Buytime2) And C < 기준가 and C < DayOpen Then buy("b2",OnClose,def,Evol); if MarketPosition == 1 and CurrentEntries == 2 and (stime == buyTime1 or Stime == Buytime2) And C < 기준가 and C < DayOpen Then buy("b3",OnClose,def,Evol); if MarketPosition == 1 and CurrentEntries == 3 and (stime == buyTime1 or Stime == Buytime2) And C < 기준가 and C < DayOpen Then buy("b4",OnClose,def,Evol); if MarketPosition == 1 and CurrentEntries == 4 and (stime == buyTime1 or Stime == Buytime2) And C < 기준가 and C < DayOpen Then buy("b5",OnClose,def,Evol); #평균단가 대비 loss%손실나면 전량청산 #평균단가 대비 Profit% 수익나면 전량청산 if MarketPosition == 1 Then{ ExitLong("loss",AtStop,기준가*(1-loss/100)); ExitLong("Profit",Atlimit,AvgEntryPrice*(1+Profit/100)); } #Warning이 1이면 적용 후 당일 첫봉에 -0.1% 이상이면 청산 if CurrentDate == sdate and Warning == 1 and dayindex == 0 and C >= AvgEntryPrice*0.999 Then ExitLong(); } 변경하시는 내용중에 매매주의신호=warning=입력창 직접선택창 (수익률 -0.1% 이상이면 즉시 매도처리하고 -0.1% 미만~-15% 사이일때는 그대로 홀딩 보유하되 이렇게 ₩ 보유중인 것은 warning을 1에서 다시 원래의 0 값으로 변경할때까지 분할매수를 중지하고 기준가 대비 손절가 -15%에 도달했을 때에만 손절한다. warning을 다시 0으로 입력한 날부터 분할매수를 포함한 모든 것이 다시 정상적으로 동작한다.) 위 내용은 구현할수 없습니다. 특정값을 임의로 수식에 넣으시려면 외부변수로 처리해야 하는데 외부변수는 값을 지정하면 차트 전체 봉에 적용이 됩니다. 즉 외부변수를 변경하신 이력을 남길수가 없습니다. 그래서 Warning을 1로 지정하실때는 항상 당일의 첫봉에 신호가 발생하게 한것입니다. 다시 0으로 변경한것은 수식에서 인지가 가능하지 않아 문의하신 부분처럼 구동되게 작성할수 없습니다. 즐거운 하루되세요 > 웹피 님이 쓴 글입니다. > 제목 : 문의 드리겠습니다. > 안녕하세요. 관리자님 아래는 얼마전 문의드린 내용인데 아래와 같이 변경하려합니다. 그 부분을 수정해 주시면 감사하겠습니다. ================================================================================== 추천종목=입력창 직접입력 추천일자=입력창 직접입력 기준가=입력창 직접입력=price0 총투자금액=totalmoney 종목당매매금액=totalmoney/5=money1,money2,money3,money4,money5 (총투자금액을 5분할하여 5종목을 분산매매한다) 분할매수금액=(totalmoney/5)/5=money11,money12,……..money15, money21,money22…….,money55 (5종목의 각 종목은 다시 5등분으로 나누어 5번에 걸쳐서 분할매수한다.) -----------------------------------변경할 부분----------------------------------- 분할매수시간=buytime=매일 12:00 와 14:49분 분할매수조건=매일 12시 와 14:49분에 현재가를 확인했을때 2가지 필수조건 즉, 현재가가 기준가 보다 작고 동시에 일봉차트상 현재 봉이 음봉 이면 분할매수를 1번한다.(1종목당 총 5번의 분할매수를 하는데 하루에 12시, 14:49분 두번을 조건확인해서 조건에 해당하면 1번 분할매수를 하고 둘중에 한가지라도 조건에 해당되지 않으면 분할매수 없이 통과하여 5번을 분할매수 채우거나 5번을 채우기전에라도 이익실현 또는 손절 되었을때 분할매수는 끝나게 된다.) 손절=-15% (평균단가대비가 아니고 기준가 대비 -15% 시 손절임) 매매주의신호=warning=입력창 직접선택창 (수익률 -0.1% 이상이면 즉시 매도처리하고 -0.1% 미만~-15% 사이일때는 그대로 홀딩 보유하되 이렇게 보유중인 것은 warning을 1에서 다시 원래의 0 값으로 변경할때까지 분할매수를 중지하고 기준가 대비 손절가 -15%에 도달했을 때에만 손절한다. warning을 다시 0으로 입력한 날부터 분할매수를 포함한 모든 것이 다시 정상적으로 동작한다.) ----------------------------------변경할 부분--------------------------------------- 목표수익률=8% [매매방법] 추천종목의 차트상에서 시스템트레이딩이 처음 시작되면 추천종목,추천일자,총투자금액,매매주의신호를 입력 또는 선택하는 창이 나타나고 이후부터는 버튼을 누르면 창이 뜬다. 분할매수조건이 되었을때 조건을 만족하면 분할매수금액으로 매수 한다. 계속 동일한 방법으로 분할매수조건을 체크하여 조건을 만족하면 분할매수금액으로 매수 한다. 이렇게 1개 종목당 5회의 분할매수를 하게 되며 분할매수가 완료되면 목표수익률에 도달할때까지 홀딩 보유한다. 중간에 주가가 하락하여 -15%에 도달하면 손절처리 한다. 그리고 5회의 분할매수를 하는 도중에라도(아직 분할매수가 완료 안되었어도) 목표수익률에 도달하면 그대로 이익실현하고 매매가 끝나게 되며 손절도 마찬가지로 -15%에 도달하면 손절처리하고 매매가 끝난다. 매매 시작시 매매주의신호를 체크하여 매매주의상태가 되는날은 warning 을 선택하여 확인 클릭하면 시스템은 매매주의신호 방침에 따라 매도 또는 손실상태에서는 홀딩 처리한다. 예제> 총투자금액=1000만원 이면 종목당매매금액=200만원 씩 5종목, 분할매수금액=각 종목당 40만원씩 5회가 된다. 기준가=10000원 , 추천일자=2014/02/24 일때 02/25 12시에 현재가를 확인하니 9700원으로 기준가 10000원 보다 현재가가 작고 일봉차트를 보니 음봉 상태이어서 1번째 40만원 분량을 분할매수하였다. 같은날 14:49분에 다시 확인해보니 현재가 12000원으로 기준가 보다 커서 분할매수 없이 통과하였다. 02/26 12시에 현재가를 확인하니 11000원으로 기준가 10000원 보다 커서 분할매수 없이 통과하였고 14:49분에 다시 확인해보니 현재가 9300원으로 기준가 보다 작고 일봉차트를 보니 음봉이어서 2번째로 40만원 분량을 분할매수하였다. 02/25 에 첫 분할매수를 시작한 이래 매일 시스템이 하루종일 체크하고 있지만 목표수익률에는 아직 도달하지 못하였다. 02/27 오전 국제시장도 국내도 시장이 불안하여 매매주의신호(warning)를 선택하여 방어준비를 지시하자 아직 목표수익률 8%에는 도달하지 못하였지만 현재 수익률 2%로 즉시 매도처리하였다. ==================================================================================== 변경부분은 위와 같습니다. 가르침 부탁드립니다. 항상 감사드립니다. ------------------------질 문----------------------------------------------------- 그리고 전에 주신 식에서 질문이 있습니다. 1) 예를들어 금일 -3% 수익으로 1회 분할매수했는데 다음날 -6%가 아니고 또 다시 -3% 수익이라면 또 추가로 1회 분할매수를 하게되나요? 그렇게 되면 분할매수의 의미가 없는 중복된 매수라서 안되거든요. -3%에서 분할매수 했다면 다음 분할매수는 -6%가 될때까지는 분할매수가 없어야 하거든요. 2) 한가지 더 질문드리겠습니다. 고객센타분께서 매일 새벽에 한번씩 서버를 껏다가 켠다고 하시던데요, 그렇게되면 저도 시스템트레이딩을 계속 연속으로 가동 못하고 매일 아침에 다시 가동시켜야 하게되는데 그렇게해도 프로그램이 전날 실행했던것을 잘못 반복하거나 혼동하지는 않는지요? -------------------------질 문--------------------------------------------------- 바쁘신데 죄송합니다. ================================================================================== 전에 올려주신 수식은 아래와 같습니다. 시스템 적용하실때 피라미딩을 [다른진입신호]만 허용으로 설정하고 적용하시면 됩니다. input : 추천일자(20140224),기준가(10000),총투자금액(10000000); input : Per(3),loss(15),Profit(8),Warning(0); var : 투입금액(0),Evol(0); 투입금액 = 총투자금액*0.2; if CodeCategoryEx == 11 and BasePrice < 50000 Then Evol = int(int((투입금액*0.20)/C)/10)*10; Else Evol = int((투입금액*0.20)/C); if sdate >= 추천일자 Then{ #기준가에서 Per% 하락할때마다 진입(총 5회까지) if MarketPosition == 0 and CurrentEntries == 0 Then buy("b1",atlimit,기준가*(1-(Per*1)/100),Evol); if MarketPosition >= 0 and CurrentEntries == 1 Then buy("b2",atlimit,기준가*(1-(Per*2)/100),Evol); if MarketPosition >= 0 and CurrentEntries == 2 Then buy("b3",atlimit,기준가*(1-(Per*3)/100),Evol); if MarketPosition >= 0 and CurrentEntries == 3 Then buy("b4",atlimit,기준가*(1-(Per*4)/100),Evol); if MarketPosition >= 0 and CurrentEntries == 4 Then buy("b5",atlimit,기준가*(1-(13.5)/100),Evol); #평균단가 대비 loss%손실나면 전량청산 #평균단가 대비 Profit% 수익나면 전량청산 if MarketPosition == 1 Then{ ExitLong("loss",AtStop,AvgEntryPrice*(1-loss/100)); ExitLong("Profit",Atlimit,AvgEntryPrice*(1+Profit/100)); } #Warning이 1이면 적용 후 당일 첫봉에 -0.1% 이상이면 청산 if CurrentDate == sdate and Warning == 1 and dayindex == 0 and C >= AvgEntryPrice*0.999 Then ExitLong(); } =================================================================================