커뮤니티

문의 올립니다.

프로필 이미지
즐겁게
2014-06-05 15:13:17
1319
글번호 223010
답변완료
안녕하세요. 922 문의글에 올려 주신 답변 대단히 감사합니다. 그와 관련하여 부분적으로 보완 질의 드리고자 합니다. 상황: 1. 차트와 지표들을 눈으로 관찰하면서, 일정 조건에 손으로 시장가 주문을 클릭해서 진입하고, 2. 또 계속 지표들을 눈으로 관찰하면서 손으로 시장가 주문 클릭으로 청산하고 나오는 방식으로 매매하는데, 3. 혹시라도 손으로 청산을 제대로 못하는 경우를 대비해서 안전방책으로 넉넉한 스탑 거리를 두고 Spot을 이용한 자동 청산 예약주문을 해 둠. 4. 원하는 대로 손으로 제대로 시장가 주문 클릭으로 청산하고 나온 경우, 이제 필요 없어진, Spot으로 주문한 자동 청산 예약 미체결 주문은, Spot으로 자동 최소되게 함. (스팟 식으로 부탁드리고 싶은 부분은 위의 3번, 4번 내용입니다.)) 예를 들어서, 아래와 같은 상황을 위한 Spot식을 알려 주시면 대단히 감사하겠습니다. A. 손으로 시장가 주문 클릭해서 100포인트로 매수진입함. ((이 것은 스팟 소스 필요 없음)) B. 이렇게 손으로 진입된 잔고가 발생하면, Spot에서 자동으로 이를 감지해서, 그 밑에 좀 넉넉한 안전 장치로서, 20틱 아래인 99.80포인트((1틱 = 0.01포인트))에 sell stop 주문이 자동으로 나가도록 Spot을 작동시킴. C. 눈으로 다른 지표들 보면서 관찰하다가 진입가격의 5틱 아래인 99.95포인트에서 바로 손으로 시장가 주문 클릭해서 손절 청산 했다고 가정. ((이 C 부분은 스팟 소스 필요 없음)) 이제 Spot이 99.80포인트에 sell stop 주문한 것은 필요가 없어진 상황임. D. 그래서 이 99.80포인트에 sell stop되도록 한 미체결 주문이, Spot으로 취소되게 함. 즉, Spot으로 아래의 내용 가동시킴: 가. (손으로든, 또는 예스 랭귀지 시스템식으로든 간에) 매수진입된 롱포지션이 있는 경우, 스팟이 그 잔고를 감지해서, Spot으로, 초기스탑으로써, 그 매수평균단가의 20틱 아래에 셀 스탑 주문이 나가서 유지되게 하고, ((요체: 잔고가 생기면 스팟이 스탑 주문 내보냄)) ((여기에, 추가해서, 25틱 이익 발생 후 최고가 10틱 아래에 추적스탑하는 것을 추가해 주셔도 감사하겠습니다.)) 나. (손이나 시스템 식 자동거래로 매수진입된) 롱포지션이 (손거래나 시스템 식 자동거래로) 청산되어서, 사라지고 없어 지면 ((즉, 잔고가 있다가 없어 진 것이 확인된 후에)), 그와 동시에 즉시, (스팟으로 셀 스탑 주문이 된) 미체결 주문을 취소해 버림. ((요체: 잔고가 없어 지면 즉시 미체결 스탑주문 취소)) 이런 내용의 스팟식을 알려 주시면 대단히 감사하겠습니다. 그러면 알려 주신 내용을 바탕으로 해서, 매수나 매도 진입 후 여러 가격 변동 상황에 대한 (익절, 손절, 추적스탑 등의) 청산소스들을 제가 만들어 보도록 하겠습니다. 감사합니다.
답변 2
프로필 이미지

예스스탁 예스스탁 답변

2014-06-16 19:20:33

안녕하세요 예스스탁입니다. 아래 내용 참고하시기 바랍니다. 스크립트 객체화면에 Account1로 계좌객체 추가하시면 됩니다. 기본 개념은 계좌에 새로운 종목이 편입되면 --> 해당 종목에 대해 종목객체를 만들고 --> 실시간 시세를 받을때 마다 현재가와 잔고평균단가를 비교--> 20틱 손실나면 주문 후 --> 해당종목의 종목객체 삭제해 감시대상에서 제거 또는 편입되어 생성된 종목이 잔고에서 없어지면(청산되면) 해당 종목에 대한 종목을 삭제해서 감시대상에서 제거 수식내 게시판 금칙어가 있습니다. 영문 업데이트가 OnUp*date로 되어 있으므로 * 제거하시기 바랍니다. var Nth = 0; var ItemCode = new Array(100); var ItemObject = new Array(100); function Main_OnStart() { Nth = 0; } //계좌의 종목편입 function Main_OnUp*dateAccount(sAccntNum, sItemCode, lUp*dateID)//*제거 { //Account1 계좌에 종목이 편입 if (Account1.number == sAccntNum && lUp*dateID == 30001)//*제거 { //해당종목 잔고 셋팅 Nth = Nth+1;//스팟 실행 후 편입된 종목수 ItemCode[Nth] = sItemCode; //종목코드 저장 Main.ReqMarketData(ItemCode[Nth], 0,0);//종목객체 생성요청 } //Account1 계좌에 종목이 청산되 없어짐 if (Account1.number == sAccntNum && lUp*dateID == 30002)//*제거 { //이전에 생성한 종목객체가 필요없으므로 종목객체를 삭제 for (var i = 1; i <= Nth; i++) { if (sItemCode == ItemObject[i].code) { Main.RemoveMarketData(ItemObject[i]); } } } } //요청받은 종목객체 생성완료 function Main_OnRcvMarketData(MarketData) { if (MarketData.code == ItemCode[Nth]) { ItemObject[Nth] = MarketData; } } //종목객체 시세 업데이트 function Main_OnUp*dateMarket(sItemCode, lUp*dateID)//*제거 { if (Nth >= 1) { //편입된 종목수 만&#53380;만 수행 for (var i = 1; i <= Nth; i++) { if (ItemObject[i].code == sItemCode && lUp*dateID == 20001)//*제거 { //잔고셋팅 Account1.SetBalanceItem(ItemObject[i].code,0); //매수잔고 if (Account1.Balance.position == 2 && Account1.Balance.count > 0) { // 현재가가 평균단가 대비 20틱이상 하락하면 시장가로 매도주문 if (ItemObject[i].current <= Account1.Balance.avgUnitCost-ItemObject[i].GetTickSize()*20) { Account1.OrderSell(Account1.Balance.code,Account1.Balance.count, 0,1); //주문 후 해당 종목객체 삭제 Main.RemoveMarketData(ItemObject[i]); } } //매도잔고 if (Account1.Balance.position == 1 && Account1.Balance.count > 0) { // 현재가가 평균단가 대비 20틱이상 상승하면 시장가로 매수주문 if (ItemObject[i].current >= Account1.Balance.avgUnitCost+ItemObject[i].GetTickSize()*20) { Account1.OrderBuy(Account1.Balance.code,Account1.Balance.count, 0,1); //주문 후 해당 종목객체 삭제 Main.RemoveMarketData(ItemObject[i]); } } } } } } 즐거운 하루되세요 > 즐겁게 님이 쓴 글입니다. > 제목 : 문의 올립니다. > 안녕하세요. 922 문의글에 올려 주신 답변 대단히 감사합니다. 그와 관련하여 부분적으로 보완 질의 드리고자 합니다. 상황: 1. 차트와 지표들을 눈으로 관찰하면서, 일정 조건에 손으로 시장가 주문을 클릭해서 진입하고, 2. 또 계속 지표들을 눈으로 관찰하면서 손으로 시장가 주문 클릭으로 청산하고 나오는 방식으로 매매하는데, 3. 혹시라도 손으로 청산을 제대로 못하는 경우를 대비해서 안전방책으로 넉넉한 스탑 거리를 두고 Spot을 이용한 자동 청산 예약주문을 해 둠. 4. 원하는 대로 손으로 제대로 시장가 주문 클릭으로 청산하고 나온 경우, 이제 필요 없어진, Spot으로 주문한 자동 청산 예약 미체결 주문은, Spot으로 자동 최소되게 함. (스팟 식으로 부탁드리고 싶은 부분은 위의 3번, 4번 내용입니다.)) 예를 들어서, 아래와 같은 상황을 위한 Spot식을 알려 주시면 대단히 감사하겠습니다. A. 손으로 시장가 주문 클릭해서 100포인트로 매수진입함. ((이 것은 스팟 소스 필요 없음)) B. 이렇게 손으로 진입된 잔고가 발생하면, Spot에서 자동으로 이를 감지해서, 그 밑에 좀 넉넉한 안전 장치로서, 20틱 아래인 99.80포인트((1틱 = 0.01포인트))에 sell stop 주문이 자동으로 나가도록 Spot을 작동시킴. C. 눈으로 다른 지표들 보면서 관찰하다가 진입가격의 5틱 아래인 99.95포인트에서 바로 손으로 시장가 주문 클릭해서 손절 청산 했다고 가정. ((이 C 부분은 스팟 소스 필요 없음)) 이제 Spot이 99.80포인트에 sell stop 주문한 것은 필요가 없어진 상황임. D. 그래서 이 99.80포인트에 sell stop되도록 한 미체결 주문이, Spot으로 취소되게 함. 즉, Spot으로 아래의 내용 가동시킴: 가. (손으로든, 또는 예스 랭귀지 시스템식으로든 간에) 매수진입된 롱포지션이 있는 경우, 스팟이 그 잔고를 감지해서, Spot으로, 초기스탑으로써, 그 매수평균단가의 20틱 아래에 셀 스탑 주문이 나가서 유지되게 하고, ((요체: 잔고가 생기면 스팟이 스탑 주문 내보냄)) ((여기에, 추가해서, 25틱 이익 발생 후 최고가 10틱 아래에 추적스탑하는 것을 추가해 주셔도 감사하겠습니다.)) 나. (손이나 시스템 식 자동거래로 매수진입된) 롱포지션이 (손거래나 시스템 식 자동거래로) 청산되어서, 사라지고 없어 지면 ((즉, 잔고가 있다가 없어 진 것이 확인된 후에)), 그와 동시에 즉시, (스팟으로 셀 스탑 주문이 된) 미체결 주문을 취소해 버림. ((요체: 잔고가 없어 지면 즉시 미체결 스탑주문 취소)) 이런 내용의 스팟식을 알려 주시면 대단히 감사하겠습니다. 그러면 알려 주신 내용을 바탕으로 해서, 매수나 매도 진입 후 여러 가격 변동 상황에 대한 (익절, 손절, 추적스탑 등의) 청산소스들을 제가 만들어 보도록 하겠습니다. 감사합니다.
프로필 이미지

즐겁게

2014-06-17 14:12:13

> 예스스탁 님이 쓴 글입니다. > 제목 : Re : 문의 올립니다. > 안녕하세요 예스스탁입니다. 아래 내용 참고하시기 바랍니다. 스크립트 객체화면에 Account1로 계좌객체 추가하시면 됩니다. 기본 개념은 계좌에 새로운 종목이 편입되면 --> 해당 종목에 대해 종목객체를 만들고 --> 실시간 시세를 받을때 마다 현재가와 잔고평균단가를 비교--> 20틱 손실나면 주문 후 --> 해당종목의 종목객체 삭제해 감시대상에서 제거 또는 편입되어 생성된 종목이 잔고에서 없어지면(청산되면) 해당 종목에 대한 종목을 삭제해서 감시대상에서 제거 수식내 게시판 금칙어가 있습니다. 영문 업데이트가 OnUp*date로 되어 있으므로 * 제거하시기 바랍니다. var Nth = 0; var ItemCode = new Array(100); var ItemObject = new Array(100); function Main_OnStart() { Nth = 0; } //계좌의 종목편입 function Main_OnUp*dateAccount(sAccntNum, sItemCode, lUp*dateID)//*제거 { //Account1 계좌에 종목이 편입 if (Account1.number == sAccntNum && lUp*dateID == 30001)//*제거 { //해당종목 잔고 셋팅 Nth = Nth+1;//스팟 실행 후 편입된 종목수 ItemCode[Nth] = sItemCode; //종목코드 저장 Main.ReqMarketData(ItemCode[Nth], 0,0);//종목객체 생성요청 } //Account1 계좌에 종목이 청산되 없어짐 if (Account1.number == sAccntNum && lUp*dateID == 30002)//*제거 { //이전에 생성한 종목객체가 필요없으므로 종목객체를 삭제 for (var i = 1; i <= Nth; i++) { if (sItemCode == ItemObject[i].code) { Main.RemoveMarketData(ItemObject[i]); } } } } //요청받은 종목객체 생성완료 function Main_OnRcvMarketData(MarketData) { if (MarketData.code == ItemCode[Nth]) { ItemObject[Nth] = MarketData; } } //종목객체 시세 업데이트 function Main_OnUp*dateMarket(sItemCode, lUp*dateID)//*제거 { if (Nth >= 1) { //편입된 종목수 만&#53380;만 수행 for (var i = 1; i <= Nth; i++) { if (ItemObject[i].code == sItemCode && lUp*dateID == 20001)//*제거 { //잔고셋팅 Account1.SetBalanceItem(ItemObject[i].code,0); //매수잔고 if (Account1.Balance.position == 2 && Account1.Balance.count > 0) { // 현재가가 평균단가 대비 20틱이상 하락하면 시장가로 매도주문 if (ItemObject[i].current <= Account1.Balance.avgUnitCost-ItemObject[i].GetTickSize()*20) { Account1.OrderSell(Account1.Balance.code,Account1.Balance.count, 0,1); //주문 후 해당 종목객체 삭제 Main.RemoveMarketData(ItemObject[i]); } } //매도잔고 if (Account1.Balance.position == 1 && Account1.Balance.count > 0) { // 현재가가 평균단가 대비 20틱이상 상승하면 시장가로 매수주문 if (ItemObject[i].current >= Account1.Balance.avgUnitCost+ItemObject[i].GetTickSize()*20) { Account1.OrderBuy(Account1.Balance.code,Account1.Balance.count, 0,1); //주문 후 해당 종목객체 삭제 Main.RemoveMarketData(ItemObject[i]); } } } } } } 즐거운 하루되세요 > 즐겁게 님이 쓴 글입니다. > 제목 : 문의 올립니다. > 안녕하세요. 922 문의글에 올려 주신 답변 대단히 감사합니다. 그와 관련하여 부분적으로 보완 질의 드리고자 합니다. 상황: 1. 차트와 지표들을 눈으로 관찰하면서, 일정 조건에 손으로 시장가 주문을 클릭해서 진입하고, 2. 또 계속 지표들을 눈으로 관찰하면서 손으로 시장가 주문 클릭으로 청산하고 나오는 방식으로 매매하는데, 3. 혹시라도 손으로 청산을 제대로 못하는 경우를 대비해서 안전방책으로 넉넉한 스탑 거리를 두고 Spot을 이용한 자동 청산 예약주문을 해 둠. 4. 원하는 대로 손으로 제대로 시장가 주문 클릭으로 청산하고 나온 경우, 이제 필요 없어진, Spot으로 주문한 자동 청산 예약 미체결 주문은, Spot으로 자동 최소되게 함. (스팟 식으로 부탁드리고 싶은 부분은 위의 3번, 4번 내용입니다.)) 예를 들어서, 아래와 같은 상황을 위한 Spot식을 알려 주시면 대단히 감사하겠습니다. A. 손으로 시장가 주문 클릭해서 100포인트로 매수진입함. ((이 것은 스팟 소스 필요 없음)) B. 이렇게 손으로 진입된 잔고가 발생하면, Spot에서 자동으로 이를 감지해서, 그 밑에 좀 넉넉한 안전 장치로서, 20틱 아래인 99.80포인트((1틱 = 0.01포인트))에 sell stop 주문이 자동으로 나가도록 Spot을 작동시킴. C. 눈으로 다른 지표들 보면서 관찰하다가 진입가격의 5틱 아래인 99.95포인트에서 바로 손으로 시장가 주문 클릭해서 손절 청산 했다고 가정. ((이 C 부분은 스팟 소스 필요 없음)) 이제 Spot이 99.80포인트에 sell stop 주문한 것은 필요가 없어진 상황임. D. 그래서 이 99.80포인트에 sell stop되도록 한 미체결 주문이, Spot으로 취소되게 함. 즉, Spot으로 아래의 내용 가동시킴: 가. (손으로든, 또는 예스 랭귀지 시스템식으로든 간에) 매수진입된 롱포지션이 있는 경우, 스팟이 그 잔고를 감지해서, Spot으로, 초기스탑으로써, 그 매수평균단가의 20틱 아래에 셀 스탑 주문이 나가서 유지되게 하고, ((요체: 잔고가 생기면 스팟이 스탑 주문 내보냄)) ((여기에, 추가해서, 25틱 이익 발생 후 최고가 10틱 아래에 추적스탑하는 것을 추가해 주셔도 감사하겠습니다.)) 나. (손이나 시스템 식 자동거래로 매수진입된) 롱포지션이 (손거래나 시스템 식 자동거래로) 청산되어서, 사라지고 없어 지면 ((즉, 잔고가 있다가 없어 진 것이 확인된 후에)), 그와 동시에 즉시, (스팟으로 셀 스탑 주문이 된) 미체결 주문을 취소해 버림. ((요체: 잔고가 없어 지면 즉시 미체결 스탑주문 취소)) 이런 내용의 스팟식을 알려 주시면 대단히 감사하겠습니다. 그러면 알려 주신 내용을 바탕으로 해서, 매수나 매도 진입 후 여러 가격 변동 상황에 대한 (익절, 손절, 추적스탑 등의) 청산소스들을 제가 만들어 보도록 하겠습니다. 감사합니다.