커뮤니티

분할매도에 문제가 있습니다.

프로필 이미지
peanut
2015-10-12 09:45:57
122
글번호 91117
답변완료
설정한 비중(ratio)에 따라서 매매량을 결정하고, 매매량에 따라서 매수,매도를 하는 시스템 식입니다. 문제는 매수는 분할이 되는데 매도는 일괄매도가 됩니다. 시스템 설정에 문제가 있는건지? 아래에 있는 프로그램에 문제가 있는건가요? 매도도 매매량에 따라서 분할로 매도가 되도록 수정해 주세요~ # 최고최저설정 input : 최대값(100000),최소값(50000); // 최대, 최소 설정 input : 기준가치(10000000); // 기준가치 설정 : 1000만원 var : ratio(0); // 비중 변수 설정 Var : 매매금액(0); // 1회 매매금액 설정 Var : 매매량(0); // 1회 매매 주식 수 설정 ratio = (최대값 - c)/(최대값-최소값); 매매금액 = (ratio[1] - ratio)*기준가치; 매매량 = int(매매금액/c); If MarketPosition==0 Then { If 매매량<0 Then Buy("first매수",OnClose,DEF,abs(매매량)); } Else If 매매량<0 Then buy("매수",OnClose,DEF,abs(매매량)); Else sell("매도",OnClose,DEF,abs(매매량));
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2015-10-12 19:27:49

안녕하세요 예스스탁입니다. sell은 매도포지션 진입함수입니다. 매수포지션 상태에서 발동하면 매수된 수량을 전량청산하고 매도진입을 하는데 주식은 매도진입이 없으므로 전량청산만 합니다. 주식 분할매도를 하실경우에는 매수청산함수인 exitlong함수를 이용하셔야 합니다. # 최고최저설정 input : 최대값(100000),최소값(50000); // 최대, 최소 설정 input : 기준가치(10000000); // 기준가치 설정 : 1000만원 var : ratio(0); // 비중 변수 설정 Var : 매매금액(0); // 1회 매매금액 설정 Var : 매매량(0); // 1회 매매 주식 수 설정 ratio = (최대값 - c)/(최대값-최소값); 매매금액 = (ratio[1] - ratio)*기준가치; 매매량 = int(매매금액/c); If MarketPosition==0 Then { If 매매량<0 Then Buy("first매수",OnClose,DEF,abs(매매량)); } Else If 매매량<0 Then buy("매수",OnClose,DEF,abs(매매량)); Else exitlong("매도",OnClose,DEF,"",abs(매매량),2); 즐거운 하루되세요 > peanut 님이 쓴 글입니다. > 제목 : 분할매도에 문제가 있습니다. > 설정한 비중(ratio)에 따라서 매매량을 결정하고, 매매량에 따라서 매수,매도를 하는 시스템 식입니다. 문제는 매수는 분할이 되는데 매도는 일괄매도가 됩니다. 시스템 설정에 문제가 있는건지? 아래에 있는 프로그램에 문제가 있는건가요? 매도도 매매량에 따라서 분할로 매도가 되도록 수정해 주세요~ # 최고최저설정 input : 최대값(100000),최소값(50000); // 최대, 최소 설정 input : 기준가치(10000000); // 기준가치 설정 : 1000만원 var : ratio(0); // 비중 변수 설정 Var : 매매금액(0); // 1회 매매금액 설정 Var : 매매량(0); // 1회 매매 주식 수 설정 ratio = (최대값 - c)/(최대값-최소값); 매매금액 = (ratio[1] - ratio)*기준가치; 매매량 = int(매매금액/c); If MarketPosition==0 Then { If 매매량<0 Then Buy("first매수",OnClose,DEF,abs(매매량)); } Else If 매매량<0 Then buy("매수",OnClose,DEF,abs(매매량)); Else sell("매도",OnClose,DEF,abs(매매량));