커뮤니티

예스스팟 Q&A

답변완료

예스스팟 질문드립니다

var 매수금 = 50000 var OrderList = []; var MKList = []; var req; function Main_OnRcvMarketData(MarketData) { if (MarketData.code == OrderList[req]) { MKList.push(MarketData); Account1.OrderBuy(MarketData.code,1,0,1); //Account1.OrderBuy(MarketData.code,Math.floor(매수금/MarketData.Ask(1)),0,1); // Account1.OrderBuy(MarketData.code,Math.floor(매수금/MarketData.Ask(1)),MarketData.Ask(1),0); 1. 5만원이내에서 1주를 매도1호가 매수하려면 어떻게 수정하면 될까요? 2. 오전 10시 잔고 시장가로 자동 매도 모두 청산 수식은 어떻게 될까요? 감사합니다
프로필 이미지
당근인생
2024-12-23
356
글번호 226172
답변완료

종목객체

종목객체인 marketdata를 나스닥 최근월물로 지정하고싶은데 어떻게 작성해야 하나요? 자금은 클릭후 월물을 선택하여 사용중인데 코드로 작성하여 최근월물로 자동으로 바뀌게 하고 싶습니다.
프로필 이미지
eiger
2024-12-21
327
글번호 226171
답변완료

월평균 나스닥기준 200P 수익나온다면

이게 가능성있는건가요
프로필 이미지
오아시스3
2024-12-15
352
글번호 226167

노영철 님에 의해서 삭제되었습니다.

프로필 이미지
노영철
2024-12-06
0
글번호 226163
답변완료

검토바랍니다.

검토 후 수정 보완 부탁드립니다.
프로필 이미지
비밀통로
2024-12-18
381
글번호 226162
답변완료

보완 부탁드립니다...^^

아래와 같이 보완 부탁드립니다. 1) 매수 수량을 수시로 변경해서 사용 할 수 있도록 조건을 추가 해주세요. // Account1.OrderBuy(MarketData.code,1,0,1); // n주를 시장가 주문 - n주 부분에 수량을 임의로 바꾸어 쓸 수 있도록 2) 매수 후 손절 기준에 오면 자동 매도할 수 있도록 조건을 추가 해주세요. - 매수가 기준 -5%( 수치를 변경해서 사용할 수 있도록 해주세요) 3) 매수 후 익절 기준에 오면 자동 매도할 수 있도록 조건을 추가 해주세요. - 매수가 기준 +5%( 수치를 변경해서 사용할 수 있도록 해주세요)
프로필 이미지
비밀통로
2024-12-18
420
글번호 226161

오아시스3 님에 의해서 삭제되었습니다.

프로필 이미지
오아시스3
2024-11-22
18
글번호 226156
답변완료

문의

요청내용은 2가지 입니다. 1. 아래 수식은 "084500 부터" 시세감시와 계산을 통해 진입합니다. 이 수식을 "차트에서 sell 신호가 나오면" 그때부터 시세감시와 계산을 하는 수식으로 변경하고 싶습니다. 084500 작동 내용은 삭제하여 주십시요. 2. 오후 3시 15분에 손절 또는 익절이 안된 상태로 미결제 콜풋 한쌍이 남아있을 때 청산하는 수식 추가해 주십시요. 항상 고맙습니다. ********************************************************************************* var ID1,ID2,num1,num2; var Entry,CallCode,PutCode; var Xvol1,Xvol2; function Main_OnStart() { Main.MessageList("Start"); Main.SetTimer(1, 5000); Entry = 0; } function Main_OnTimer(nEventID) { var d = new Date(); var HHMMSS = d.getHours()*10000+d.getMinutes()*100+d.getSeconds(); if (HHMMSS >= 84500) { var sum = Option1.GetCurrent(0,0)+Option1.GetCurrent(1, 0); var diff = Math.abs(Option1.GetCurrent(0,0)-Option1.GetCurrent(1, 0)); if (Entry == 0 && sum <= 20 && diff <= 0.10) { Entry = sum; CallCode = Option1.GetATMCallRecent(0); PutCode = Option1.GetATMPutRecent(0); ID1 = Account1.OrderBuy(CallCode, 1, Option1.GetAsk(CallCode, 5), 0); ID2 = Account1.OrderBuy(PutCode, 1, Option1.GetAsk(PutCode, 5), 0); Xvo11 = 1; Xvo12 = 1; } if (Entry > 0 && (Option1.GetCurrent(CallCode)+Option1.GetCurrent(PutCode) >= Entry+1) || (Option1.GetCurrent(CallCode)+Option1.GetCurrent(PutCode) <= Entry-1)) { if (Xvol1 > 0) { Account1.SetUnfill(num1); if (Account1.Unfill.count > 0) { Xvol1 = Xvol1-Account1.Unfill.count; Account1.OrderCancel(num1); } } if (Xvol2 > 0) { Account1.SetUnfill(num2); if (Account1.Unfill.count > 0) { Xvol2 = Xvol2-Account1.Unfill.count; Account1.OrderCancel(num2); } } if (Xvol1 > 0) { Account1.OrderSell(CallCode, Xvol1, Option1.GetBid(CallCode, 5), 0); } if (Xvol2 > 0) { Account1.OrderSell(PutCode, Xvol2, Option1.GetBid(PutCode, 5), 0); } //Entry = 0; Main.KillTimer(1); } } } function Main_OnOrderResponse(OrderResponse) { if (OrderResponse.orderID == ID1) { num1 = OrderResponse.orderNum; } if (OrderResponse.orderID == ID2) { num2 = OrderResponse.orderNum; } }
프로필 이미지
좌오비우오비
2024-11-19
403
글번호 226155
답변완료

yesspot으로 pair trading을 작성했는데 중복주문이 동시에 여러번 들어갑니다.

MarketData1과 MarketData2 간에 호가차이가 8bp 이하면 entry해서 15bp 이상에서 exit하는 로직입니다. 그런데entry, exit시에 중복으로 3~5건 계약이 중복되고 주문시간이 같아서 Main.SetTimer(1,10000); 를 추가했지만 그래도 중복으로 들어갑니다. 검토 부탁드립니다.ㅠ.ㅜ var A1orderOfUnfills; //A1 미체결 주문 var A2orderOfUnfills; //A2 미체결 주문 var obsevationSpreadForBuy; var obsevationSpreadForSell; var obsevationSpreadForStopLoss; var buySpread = 0.08; var sellSpread = 0.15; function Main_OnU*pdateMarket(sItemCode, lU*pdateID) { obsevationSpreadForBuy = MarketData2.Bid(1) - MarketData1.Ask(1); obsevationSpreadForSell = MarketData2.Ask(1) - MarketData1.Bid(1); obsevationSpreadForStopLoss = MarketData2.Ask(1) - MarketData1.Bid(1); // spread 0 이하인지 Account1.SetBalanceItem(MarketData1.code, 0); //nPosition 0: 구분없음, 1:매도, 2:매수 Account2.SetBalanceItem(MarketData2.code, 0); A1orderOfUnfills = Account1.GetTheNumberOfUnfills(); A2orderOfUnfills = Account2.GetTheNumberOfUnfills() if(Account1.Balance.count == 0 && Account2.Balance.count == 0 && A1orderOfUnfills == 0 && A2orderOfUnfills == 0) { if (obsevationSpreadForBuy <= buySpread) { Main.MessageLog("매수 신호 구간"); Main.MessageLog("MarketData1 Ask/"+ MarketData1.Ask(1)); Main.MessageLog("MarketData2 Bid/"+ MarketData2.Bid(2)); //MarketData1 2계약 매수1호가로 매도 Account1.OrderSell(Main.GetOrderCode(MarketData1.code), 1, MarketData1.Ask(1),2); //MarketData2 1계약 매도1호가로 매수 Account2.OrderBuy(Main.GetOrderCode(MarketData2.code), 1, MarketData2.Bid(1),2); Main.SetTimer(1,10000);//10초 지연. 미체결 주문 확인해도 중복 체결돼서 추가함 ---------------------------------------> 그래도 계속 중복 주문이 들어감 } } else if(Account1.Balance.count == 1 && Account2.Balance.count == 1 && A1orderOfUnfills == 0 && A2orderOfUnfills == 0) { //MarketData1(10년물) 매도1호가와 MarketData2(2년물) 매수1호가 간에 금리차이가 buySpread 이상이면 매수 if (obsevationSpreadForSell > sellSpread) { Main.MessageLog("obsevationSpreadForSell/" + obsevationSpreadForSell); Main.MessageLog("sellSpread/" + sellSpread); Main.MessageLog("청산 신호 구간"); Main.MessageLog("MarketData1 Ask/"+ MarketData1.Ask(1)); Main.MessageLog("MarketData2 Bid/"+ MarketData2.Bid(2)); //MarketData1 2계약 매도1호가로 매수 Account1.OrderBuy(Main.GetOrderCode(MarketData1.code), 1, MarketData1.Bid(1),2); //MarketData2 1계약 매수1호가로 매도 Account2.OrderSell(Main.GetOrderCode(MarketData2.code), 1, MarketData2.Ask(1),2); Main.SetTimer(1,10000);//10초 지연. 미체결 주문 확인해도 중복 체결돼서 추가함 ---------------------------------------> 그래도 계속 중복 주문이 들어감 } } }
프로필 이미지
typeb
2024-11-14
393
글번호 226154

오아시스3 님에 의해서 삭제되었습니다.

프로필 이미지
오아시스3
2024-11-15
12
글번호 226153