진입과 청산은 손으로 직접하고
손절만 시스템 항상 자동으로 되도록 설정하고 싶습니다.
======================================================================
계좌잔고를 실시간으로 체크하여
어떠한 종목을 매매를 하든
총 평가잔액이 포지션 진입전 잔액에서 -1% 가 되면
전체청산 손절주문을 항싱 가동하도록 하는 코드를 만들고 싶습니다.
답변 1
예스스탁
예스스탁 답변
2016-01-15 17:09:13
안녕하세요
예스스탁입니다.
스팟의 수식답변은 식작성이 가이드입니다.
아래 내용 참고하셔서 수정보완해 사용하시기 바랍니다.
수식내 게시판 금칙어가 있어
영문 업데이트가 Up*date로 중간에 *이 있으므로 제거하시기 바랍니다.
function Main_OnStart()
{
Main.MessageList("스팟 시작");
//타이머 셋팅
Main.SetTimer(1, 5000);
//스팟시작시 잔고가 있으면 true
if (Account1.GetTheNumberOfBalances() >= 1)
Exit = true;
else// 아니면 false
Exit = false;
}
function Main_OnTimer(nEventID)
{
var num = Account1.GetTheNumberOfBalances();
//Exit은 true이고 계좌에 1종목이상 있음
if (Exit == true && num >= 1)
{
var sum1 = 0;
var sum2 = 0;
var PL = 0;
for (var i = 0; i < num; i++)
{
Account1.SetBalance(i);
if (Account1.Balance.count > 0 && Account1.Balance.position == 2)
{
sum1 = sum1 + Account1.Balance.avgUnitCost * Account1.Balance.count;
sum2 = sum2 + Account1.Balance.current * Account1.Balance.count;
PL = PL + (sum2-sum1);
}
if (Account1.Balance.count > 0 && Account1.Balance.position == 1)
{
sum1 = sum1 + Account1.Balance.avgUnitCost * Account1.Balance.count;
sum2 = sum2 + Account1.Balance.current * Account1.Balance.count;
PL = PL + (sum1-sum2);
}
}
//전체종목의 손익이 -이고 평단가기준 총평가금액의 10% 이상이면 전체종목 청산
//Exit은 false로
if (PL < 0 && Math.abs(PL) >= sum1*0.10)
{
Exit = false;
for (var i = 0; i < num; i++)
{
Account1.SetBalance(i);
if (Account1.Balance.count > 0 && Account1.Balance.position == 2)
{
Account1.OrderSell(Account1.Balance.code,Account1.Balance.count,0,1);
}
if (Account1.Balance.count > 0 && Account1.Balance.position == 1)
{
Account1.OrderBuy(Account1.Balance.code,Account1.Balance.count,0,1);
}
}
}
}
}
function Main_OnUp*dateAccount(sAccntNum, sItemCode, lUp*dateID)//*제거
{
//잔고에 새로운 종목이 추가되면 true로 변경하고 타이머 셋팅
if (Exit == false && sAccntNum == Account1.number && lUp*dateID == 30001)//*제거
{
Exit = true;
}
}
즐거운 하루되세요
> 리나이 님이 쓴 글입니다.
> 제목 : 코딩문의입니다
> 진입과 청산은 손으로 직접하고
손절만 시스템 항상 자동으로 되도록 설정하고 싶습니다.
======================================================================
계좌잔고를 실시간으로 체크하여
어떠한 종목을 매매를 하든
총 평가잔액이 포지션 진입전 잔액에서 -1% 가 되면
전체청산 손절주문을 항싱 가동하도록 하는 코드를 만들고 싶습니다.