커뮤니티

예스스팟 Q&A

답변완료

일일손실제한 다음 식을 사용해도 되나요?

항상 감사드립니다. 여러개의 스팟식을 사용해서 포트폴리오 매매를 하고 있습니다. 아래 조건으로 스팟식을 만들고자 합니다. 금일 매매중에 총 100만원 손실 보고 있을시 모든 포지션 청산하고 + 금일은 추가 매매금지 var i1; var X; var dayloss = 1000000; //스팟 시작시 function Main_OnStart() { //i1에 예수금/예탁총액 저장 i1 = ACC.GetBalanceETCinfo(0); X = 0; Main.SetTimer(1, 5000);//5초 타이머 셋팅 } function Main_OnTimer(nEventID) { // 현재 정산금이 스팟시작시값보다 ""dayloss"" 이상 감소했으면 if (nEventID == 1 && ACC.GetBalanceETCinfo(100) <= i1-dayloss) { //타이머 중지 Main.KillTimer(1); var Bnum = ACC.GetTheNumberOfBalances(); for(var i = 0; i < Bnum; i++) { ACC.SetBalance(i); //콜이나 풋이면 if (ACC.Balance.code.substring(0,1) == "2" || ACC.Balance.code.substring(0,1) == "3") { // 포지션 청산 if (ACC.Balance.position == 1) ACC.OrderBuy(ACC.Balance.code,ACC.Balance.count,0,1); if (ACC.Balance.position == 2) ACC.OrderSell(ACC.Balance.code,ACC.Balance.count,0,1); } } X = 1; } } 1. 위의 식에 오류는 없나요? 2. 812글 답변에 보면 //현재 예수금/예탁총액이 스팟시작시값보다 20% 이상 감소했으면 if (nEventID == 1 && Account1.GetBalanceETCinfo(0) <= i1*0.8) { 이라는 부분이 나옵니다.GetBalanceETCinfo(0) 값은 "예수금"인데 , 0 대신 100 "정산금" 값이 실시간 값 아닌지요? 3. 다른 스팟 주문식에 && X ==0 을 넣으라고 하셨는데 , 이 때 그 주문식에도 var X; 라고 정의를 해야 하나요? 4. 만일 3개의 스팟식을 운영한다고 할 때 저 조건식을 3개의 스팟식에 모두 넣어야 하는지요? 5. 아니면 하나의 스팟식에서 변수를 정의하면 동시에 실행하는 다른 스팟식에도 두루 사용할 수 있는지도 궁금합니다. ======= 전화통화로 해결되었습니다. 감사드립니다^^
프로필 이미지
피니트
2017-03-03
2484
글번호 224131

피니트 님에 의해서 삭제되었습니다.

프로필 이미지
피니트
2017-03-01
0
글번호 224130

chunsk 님에 의해서 삭제되었습니다.

프로필 이미지
chunsk
2017-02-22
1
글번호 224125
답변완료

시스템적용후 강제청산시 에라

1.시스템은 수동진입 시스템청산 으로 되어있습니다. 그런데, 수동진입후, 불가피하게 수동청산을 하게되는경우가 있는데, 다시 수동 재 진입하게 되면, "TypeError :cannot read property 'code'of undefined 메시지가 출력되며,멈추게 됩니다. 처리를 어떻게 해야할까요? function Main_OnUp*dateMarket(sItemCode, lUp*dateID) { for (var i=1 ; i <= Nth ; i++) //편입된 종목수 만큼만 수행 { if (ItemObject[i].code == sItemCode && lUp*dateID == 20001) 2. 수동주문에 대해 OCO 주문발생 하는 방법 아래처럼, 주문취소식을 넣었으나, 수동주문한 것에 대한 취소가 되지 않습니다. 강제 취소할 수 있는 방법은 없는지요? 예) 272.0 매수진입, 로스컷 0.20 , 손주문 272.30 예약 로스컷 발생전 손주문한 272.30 주문 취소. if (ItemObject[i].current <= Account1.Balance.avgUnitCost - ItemObject[i].GetTickSize()*LosscutTick)//손절 { //매수청산하려는데 매수익걸 매도주문 미체결 있으면 취소 Account1.SetUnfill(SellNum); if (Account1.Unfill.count > 0) { Account1.OrderCancel(SellNum); } BuyAvg = Account1.Balance.avgUnitCost; BxID = Account1.OrderSell(Account1.Balance.code,Account1.Balance.count, ItemObject[i].Bid(1), 2); T = 1; Main.MessageLog("매수손절");
프로필 이미지
심심00
2017-02-21
2603
글번호 224124

심심00 님에 의해서 삭제되었습니다.

프로필 이미지
심심00
2017-02-21
1
글번호 224123

신혜아빠 님에 의해서 삭제되었습니다.

프로필 이미지
신혜아빠
2017-02-14
0
글번호 224122
답변완료

시스템 락도 걸수있나요?

예를들어서 팀뷰어같은걸로 제컴퓨터를 볼때 수식은 못보게 락 걸수있는 프로그램이 있나요??
프로필 이미지
천용인
2017-02-13
2633
글번호 224117
답변완료

파워종목검색에서 수식을 10개까지밖에 못 지정하는데, 추가할 수 있나요?

제목처럼. 현재 15개 정도의 수식을 넣어서 종목 검색을 하고 싶습니다. 가능한 방법이 있는지요?
프로필 이미지
파워풀맨
2017-02-09
2671
글번호 224115
답변완료

수식부탁드립니다.

항상 감사를 드리며, 덕분에 많은 발전을 하고 있습니다. 질문은 두가지입니다. 1. 기존 시스템로직에서 특정한 주문만 스팟으로 조건만족시 주문낼 수 있는지 궁금합니다. 아래 그림의 기본수식에서 매수와 매도는 일봉기준으로 봉 완성시 즉 다음날 시초가에 주문나가게 그냥 두고 일부매도 주문만 장중에 조건을 만족하면 즉시 전체 비중의 30% 매도주문이 나가게끔 설정하고 싶습니다. 아니면 기존 시스템로직에 일부매도 주문을 빼고 스팟으로만 일부매도 주문명령을 내려도 됩니다. 2. 시스템로직에서 트레일링스탑이나 스탑로스같은 명령은 그 주문건 전체가 매도가 되는데, 각각 주문건에 대한 주문이 나가는 것이 아니라 전체 주문건에 대한 평균값으로 트레일링스탑탑이나 스탑로스를 걸 수 있는지 궁금합니다. 예를 들어 매수가 5건이 발생된 상황에서 개별주문건에 대한 조건값이 아니라 전체 평균값에 대한 수익 5% 달성시 트레이링스탑주문이 가동되고 1% 하락시 전체비중의 30%에 해당하는 수량을 주문할 수 있는 명령을 알고 싶습니다.
프로필 이미지
탄탄시스템
2017-02-07
2669
글번호 224114
답변완료

SendInterests 와 GetItemCountOfInterest 가 오작동합니다.

Main.SendInterests(name, codesToAdd, true); - 이 끝에 인자를 false로 바꿔서 종목 코드들을 대체하려고 하면 예스트레이더가 멈춥니다. 다시 켜서 해당 관심종목에 들어가보면 대체가 아니라 추가되어 있습니다. - 또한, 기존에 있는 관심종목에 true 로 추가하는 코드를 사용해도 두세번 이상 하다보면 트레이더가 멈춥니다. Main.GetItemCountOfInterest(name); - SendInterests 를 실행해서 새로 만들어진 관심종목을 읽을 때 예스트레이더가 멈추는 현상이 발생합니다.
프로필 이미지
카즈머스
2017-02-07
2685
글번호 224113