커뮤니티
수식좀 봐주세요.
2016-11-15 22:38:58
114
글번호 104030
아래와 같이 현재 잔고의 0번째 종목의 수량과 평균단가를 가져와서
현재 보유수량이 0이면
-> 현재가로 1주 매입
현재 보유수량이 0보다 크면
-> 평균단가 대비 2% 상승시 전량매도
-> 평균단가 대비 10% 하락시 보유수량+1 만큼 추가매수
하려고 합니다. 오늘 아침 실행 전 평균단가 807원이었고 보유수량 7개였습니다. 오늘 자동매매 걸어놓고 회사다녀와서 보니 주가는 평균단가대비 10% 이상 올라 1000원을 넘었습니다. 따라서 보유한 수량 전량 매수 이후에 1주 매입이 이루어져야하는데 거래내역을 보니 1주 매수, 1주매도, 1주매수, 1주매도가 전부네요. 아래 수식 확인부탁드립니다.
Input : 하락율(0.9), 상승율(1.03);
var : symbol(""),acc(""),AvgPrice(0),Qty(0);
acc = GetAccount(0); //계좌번호
symbol = GetPositionSymbol(0,acc); //종목코드
AvgPrice = GetPositionAveragePrice(symbol,acc);//평균단가
Qty = GetPositionQuantity(symbol,acc); //보유수량
MessageLog("종목명 %s 평균단가 %.2f 수량 %.f",symbol,AvgPrice,Qty);
if Qty == 0 Then
{
buy("b",OnClose,def,1);
}
if Qty > 0 Then
{
if C >= AvgPrice*상승율 then
{ExitLong("bx",atlimit,AvgPrice*상승율);
}
if C <= AvgPrice*하락율 then
{
buy("bb",atlimit,AvgPrice*하락율,Qty+1);
}
}
답변 3
예스스탁 예스스탁 답변
2016-11-16 13:32:35
> 김종인 님이 쓴 글입니다.
> 제목 : 수식좀 봐주세요.
> 아래와 같이 현재 잔고의 0번째 종목의 수량과 평균단가를 가져와서
현재 보유수량이 0이면
-> 현재가로 1주 매입
현재 보유수량이 0보다 크면
-> 평균단가 대비 2% 상승시 전량매도
-> 평균단가 대비 10% 하락시 보유수량+1 만큼 추가매수
하려고 합니다. 오늘 아침 실행 전 평균단가 807원이었고 보유수량 7개였습니다. 오늘 자동매매 걸어놓고 회사다녀와서 보니 주가는 평균단가대비 10% 이상 올라 1000원을 넘었습니다. 따라서 보유한 수량 전량 매수 이후에 1주 매입이 이루어져야하는데 거래내역을 보니 1주 매수, 1주매도, 1주매수, 1주매도가 전부네요. 아래 수식 확인부탁드립니다.
Input : 하락율(0.9), 상승율(1.03);
var : symbol(""),acc(""),AvgPrice(0),Qty(0);
acc = GetAccount(0); //계좌번호
symbol = GetPositionSymbol(0,acc); //종목코드
AvgPrice = GetPositionAveragePrice(symbol,acc);//평균단가
Qty = GetPositionQuantity(symbol,acc); //보유수량
MessageLog("종목명 %s 평균단가 %.2f 수량 %.f",symbol,AvgPrice,Qty);
if Qty == 0 Then
{
buy("b",OnClose,def,1);
}
if Qty > 0 Then
{
if C >= AvgPrice*상승율 then
{ExitLong("bx",atlimit,AvgPrice*상승율);
}
if C <= AvgPrice*하락율 then
{
buy("bb",atlimit,AvgPrice*하락율,Qty+1);
}
}
김종인
2016-11-17 21:27:03
친절하게 전화로까지 설명해주셔서 감사합니다. 제가 사용하려는 전략은 스팟에서 구현해야하는군요. 어제 오늘 예스스팟 이용법을 공부했는데.... 이제 어떻게 이용하는지는 대략 알겠습니다만 수식작성이 또 어렵네요... 아래와 같이 예스 스팟에서 사용 가능한 수식 부탁드립니다.
(1) 차트 객체에서 매수(buy) 신호 발생시
-> 차트 객체 종목의 보유 수량이 0인 경우 시장가로 1개 매수
-> 차트 객체 종목의 보유 수량이 1 이상인 경우
-> 차트 객체 종목의 평균단가가 현재가 대비 10% 이상 하락한 경우
현재 보유수량+1개만큼 시장가로 추가매수
(2) 차트 객체에서 청산(Existlong) 신호 발생시
-> 차트 객체 종목의 평균단가가 현재가 대비 3% 이상 상승시 현재가로 전량매도
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 전화주시기 바랍니다.(02-3453-1060)
>
> 김종인 님이 쓴 글입니다.
> 제목 : 수식좀 봐주세요.
> 아래와 같이 현재 잔고의 0번째 종목의 수량과 평균단가를 가져와서
현재 보유수량이 0이면
-> 현재가로 1주 매입
현재 보유수량이 0보다 크면
-> 평균단가 대비 2% 상승시 전량매도
-> 평균단가 대비 10% 하락시 보유수량+1 만큼 추가매수
하려고 합니다. 오늘 아침 실행 전 평균단가 807원이었고 보유수량 7개였습니다. 오늘 자동매매 걸어놓고 회사다녀와서 보니 주가는 평균단가대비 10% 이상 올라 1000원을 넘었습니다. 따라서 보유한 수량 전량 매수 이후에 1주 매입이 이루어져야하는데 거래내역을 보니 1주 매수, 1주매도, 1주매수, 1주매도가 전부네요. 아래 수식 확인부탁드립니다.
Input : 하락율(0.9), 상승율(1.03);
var : symbol(""),acc(""),AvgPrice(0),Qty(0);
acc = GetAccount(0); //계좌번호
symbol = GetPositionSymbol(0,acc); //종목코드
AvgPrice = GetPositionAveragePrice(symbol,acc);//평균단가
Qty = GetPositionQuantity(symbol,acc); //보유수량
MessageLog("종목명 %s 평균단가 %.2f 수량 %.f",symbol,AvgPrice,Qty);
if Qty == 0 Then
{
buy("b",OnClose,def,1);
}
if Qty > 0 Then
{
if C >= AvgPrice*상승율 then
{ExitLong("bx",atlimit,AvgPrice*상승율);
}
if C <= AvgPrice*하락율 then
{
buy("bb",atlimit,AvgPrice*하락율,Qty+1);
}
}
예스스탁 예스스탁 답변
2016-11-18 15:38:35
안녕하세요
예스스탁입니다.
아래 내용 참고하시기 바랍니다.
스크립트 객체설정
차트객체 추가 --> 객체명 Chart1, 신호적용된 차트와 동일아이디 지정
계좌객체 추가 --> 객체명 Account1, 주문낼 계좌번호 지정
function Chart1_OnRiseSignal(Signal)
{
//buy발생
if (Signal.signalKind == 1)
{
//신호종목 잔고 셋팅
Account1.SetBalance(Main.GetOrderCode(Signal.code),0);
//보유수량이 없으면
if (Account1.Balance.count == 0)
{
//1주 시장가로 매수
Account1.OrderBuy(Main.GetOrderCode(Signal.code), 1, 0,1);
}
//보유수량이 있다면
if (Account1.Balance.count > 0)
{
//보유수량+1주 시장가로 매수
Account1.OrderBuy(Main.GetOrderCode(Signal.code), Account1.Balance.count +1, 0,1);
}
}
//exitlong발생
if (Signal.signalKind == 1)
{
//신호종목 잔고 셋팅
Account1.SetBalance(Main.GetOrderCode(Signal.code),0);
//수량이 0이상이고 현재가가 평단가 +3% 이상이면
if (Account1.Balance.count > 0 && Account1.Balance.current > Account1.Balance.avgUnitCost*1.03)
{
//전량 현재가로 매도
Account1.OrderSell(Main.GetOrderCode(Signal.code), Account1.Balance.count, Account1.Balance.current,0)
}
}
}
즐거운 하루되세요
> 김종인 님이 쓴 글입니다.
> 제목 : Re : Re : 스팟 수식으로 부탁드려요
>
친절하게 전화로까지 설명해주셔서 감사합니다. 제가 사용하려는 전략은 스팟에서 구현해야하는군요. 어제 오늘 예스스팟 이용법을 공부했는데.... 이제 어떻게 이용하는지는 대략 알겠습니다만 수식작성이 또 어렵네요... 아래와 같이 예스 스팟에서 사용 가능한 수식 부탁드립니다.
(1) 차트 객체에서 매수(buy) 신호 발생시
-> 차트 객체 종목의 보유 수량이 0인 경우 시장가로 1개 매수
-> 차트 객체 종목의 보유 수량이 1 이상인 경우
-> 차트 객체 종목의 평균단가가 현재가 대비 10% 이상 하락한 경우
현재 보유수량+1개만큼 시장가로 추가매수
(2) 차트 객체에서 청산(Existlong) 신호 발생시
-> 차트 객체 종목의 평균단가가 현재가 대비 3% 이상 상승시 현재가로 전량매도
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 전화주시기 바랍니다.(02-3453-1060)
>
> 김종인 님이 쓴 글입니다.
> 제목 : 수식좀 봐주세요.
> 아래와 같이 현재 잔고의 0번째 종목의 수량과 평균단가를 가져와서
현재 보유수량이 0이면
-> 현재가로 1주 매입
현재 보유수량이 0보다 크면
-> 평균단가 대비 2% 상승시 전량매도
-> 평균단가 대비 10% 하락시 보유수량+1 만큼 추가매수
하려고 합니다. 오늘 아침 실행 전 평균단가 807원이었고 보유수량 7개였습니다. 오늘 자동매매 걸어놓고 회사다녀와서 보니 주가는 평균단가대비 10% 이상 올라 1000원을 넘었습니다. 따라서 보유한 수량 전량 매수 이후에 1주 매입이 이루어져야하는데 거래내역을 보니 1주 매수, 1주매도, 1주매수, 1주매도가 전부네요. 아래 수식 확인부탁드립니다.
Input : 하락율(0.9), 상승율(1.03);
var : symbol(""),acc(""),AvgPrice(0),Qty(0);
acc = GetAccount(0); //계좌번호
symbol = GetPositionSymbol(0,acc); //종목코드
AvgPrice = GetPositionAveragePrice(symbol,acc);//평균단가
Qty = GetPositionQuantity(symbol,acc); //보유수량
MessageLog("종목명 %s 평균단가 %.2f 수량 %.f",symbol,AvgPrice,Qty);
if Qty == 0 Then
{
buy("b",OnClose,def,1);
}
if Qty > 0 Then
{
if C >= AvgPrice*상승율 then
{ExitLong("bx",atlimit,AvgPrice*상승율);
}
if C <= AvgPrice*하락율 then
{
buy("bb",atlimit,AvgPrice*하락율,Qty+1);
}
}
다음글