예스스탁
예스스탁 답변
2019-02-20 16:21:21
안녕하세요
예스스탁입니다.
손익은 원단위로 환산해서 체크하게 했습니다.
아래 수식과 주석 참고하셔서 수정보완해 사용하시기 바랍니다.
스크립트 객체화면에서 계좌객체만 Account1로 추가하고 계좌번호 설정하시면 됩니다.
var step;
function Main_OnStart()
{
//5초 간격 타이머
Main.SetTimer(1,5000);
//스팟 시작시 초기값 0
step = 0;
}
function Main_OnTimer(nEventID)
{
//계좌 전종목 손익 합산(원단위 환산)
//보유종목수
var num = Account1.GetTheNumberOfBalances();
//보유종목수 만큼 루프를 돌며 잔고셋팅하고 총손익 합산
sumPL = 0;
for (var i = 0; i < num; i++)
{
Account1.SetBalance(i);
if (Account1.Balance.count > 0 && Account1.Balance.position == 1)
{
sumPL = sumPL - (Account1.Balance.avgUnitCost-Account1.Balance.current)*250000;
}
if (Account1.Balance.count > 0 && Account1.Balance.position == 2)
{
sumPL = sumPL - (Account1.Balance.current-Account1.Balance.avgUnitCost)*250000;
}
}
//손익 총합이 1백만원 이상이면
if (step == 0 && sumPL >= 1000000)
{
//step은 1
step = 1;
//전종목 수량의 50% 시장가청산
for (var i = 0; i < num; i++)
{
Account1.SetBalance(i);
if (Account1.Balance.count > 0 && Account1.Balance.position == 1)
{
Account1.OrderBuy(Account1.Balance.code,Math.floor(Account1.Balance.count*0.5),0,1);
}
if (Account1.Balance.count > 0 && Account1.Balance.position == 2)
{
Account1.OrderSell(Account1.Balance.code,Math.floor(Account1.Balance.count*0.5),0,1);
}
}
}
//부분청산 이후에 수익총합이 1백만원 이상이면
if (step == 1 && sumPL >= 1000000)
{
//step은 2
step = 2;
//전종목 수량의 남은 수량 전량청산
for (var i = 0; i < num; i++)
{
Account1.SetBalance(i);
if (Account1.Balance.count > 0 && Account1.Balance.position == 1)
{
Account1.OrderBuy(Account1.Balance.code,Account1.Balance.count,0,1);
}
if (Account1.Balance.count > 0 && Account1.Balance.position == 2)
{
Account1.OrderSell(Account1.Balance.code,Account1.Balance.count,0,1);
}
}
}
//수익총합이 -1백만원 이상이면
if (sumPL <= -1000000)
{
//step은 -1
step = -1;
//전종목 수량의 남은 수량 전량청산
for (var i = 0; i < num; i++)
{
Account1.SetBalance(i);
if (Account1.Balance.count > 0 && Account1.Balance.position == 1)
{
Account1.OrderBuy(Account1.Balance.code,Account1.Balance.count,0,1);
}
if (Account1.Balance.count > 0 && Account1.Balance.position == 2)
{
Account1.OrderSell(Account1.Balance.code,Account1.Balance.count,0,1);
}
}
}
}
즐거운 하루되세요
> 구다이전설 님이 쓴 글입니다.
> 제목 : 청산식 부탁합니다
>
합성전략 ( 선물, 옵션) - 주로 옵션 양매수//
총 수익 금액이 얼마 ( 원 , 포인트, 프로,) 이상이면
절반( 또는 1/3 ,,등 변수) 을 각각에서 같은 수로 청산하고
또 얼마 ( , 원, 포인트, 프로 ) 이상이면 절반 ( 변수 )
각각에서 같은 수로 청산 하시오
손절은 총 수익금액이 얼마 ( 원, 포인트 , 프로 ) 일때 청산 하시오