커뮤니티

예스스팟 Q&A

답변완료

데이타베이스 객체 SendQuery 메쏘드

안녕하세요 SendQuery(sQuery, sTabTitle) 데이타베이스 객체의 위.. 메쏘드를 써서 인서트 query를 실행해 보려고 하는데요 TypeError: Object [object Object] has no method 'SendQuery' 라는 에러메시지가 뜨네요. 어떻게 하면 좋을까요?
프로필 이미지
러브게임
2013-05-04
1894
글번호 222350
답변완료

계좌에서 옵션 종목별 평균 단가 구하기

수고 많으십니다. 옵션 매매 수식을 만드는 중인데요. 257.5 콜 옵션을 하나 매도 하고 255 콜 옵션을 하나 매도 했을 때 257.5는 1포인트 올랐을 때 손절하고 255는 0.5포인트 올랐을 때 손절하려고 합니다. 내 계좌의 옵션 종목별 평균단가를 구하려고 하는데요. 어떤 함수를 이용해야 하나요?
프로필 이미지
유기농옵션
2013-05-02
1850
글번호 222348
답변완료

스팟 주문 수량

챠트에서 선물 신호를 받아서 거래를 하는데.. 챠트에서 나오는 신호 수량대로 체결하게 하는 방법이 있나오.. 스팟에서 정하는 수량 말고 챠트에서 나오는 거래수량 대로 거래할수 있는 방법 좀 알려주세요.. 수식이 따로 있다면 그것도 부탁드립니다.
프로필 이미지
nadogaja
2013-04-29
1784
글번호 222339
답변완료

예스스팟에서

안녕하세요. 예스스팟에서 여러개의 차트를 연결하여 처리할 수 있는데요. 각 차트의 옵션종목을 가격의 등락에 따라 옵션종목코드를 예스스팟에서 변경할 수 있는지요? 예) 예스스팟에서 등가종목인 252를 매매하다가 가격이 올라서 257일 되었을 경우 현재는 차트에서 종목을 수동으로 변경해야 하는데 예스스팟에서 등가격종목이 변하면 해당 차트의 종목코드를 변경하고 매매할 수 있는지요?
프로필 이미지
richon
2013-04-26
1749
글번호 222338
답변완료

기능 문의

안녕하세요. 다음과 같은 기능이 가능한지 문의 드립니다. A, B 두개의 관심그룹을 비교해서 서로 다른 종목이 존재 할 경우, 1. 사운드를 울림 2. 관심 그룹 A의 종목을 모두 삭제하고 B로 대체. 그룹 B 종목 삭제. 감사합니다.
프로필 이미지
hugnkiss
2013-04-25
1838
글번호 222337
답변완료

수정 문의

선물신호연계(옵션 매수. 옵션 매도)식입니다만, 가격설정을 1.0~2.0 사이로 했더니 가끔 두 종목이 겹치네요. * 수정 문의 부탁드릴 것은, 그런 오류 없게끔 이식을 (2.0)에 제일 가까운 종목 한 개종목만 매매하도록 수정 부탁드립니다 (매수. 매도식 두개다 수정 부탁드립니다) * 추가로 질문인데, 1. 이렇게 가격이 겹칠 때 두 종목중 한 종목만 체결되는 것인지요? 2. 또 손절식이setstop이나 setstopprofit같은 함수식 조건이라도 오류없이 청산이 되는지요? 감사합니다 1. 옵션매수 var Start; var UNum; var LNum; var CallCode; var CallPrice; var PutCode; var PutPrice; var CC; var PP; var CallOrderCode; var PutOrderCode; function Main_OnStart() { Start = 0; } function Chart1_OnRiseSignal(Signal) { UNum = Option.uppersATM; LNum = Option.lowersATM; CallCode = new Array(UNum+LNum+1); PutCode = new Array(UNum+LNum+1); CallPrice = new Array(UNum+LNum+1); PutPrice = new Array(UNum+LNum+1); for (var i = -LNum; i <= UNum; i++) { if (Option.GetCurrent(0, i) <= 2.0 && Option.GetCurrent(0, i) >= 1.0) { CallPrice[i+LNum] = Option.GetCurrent(0, i); CallCode[i+LNum] = Option.GetATMCallRecent(i); } else { CallPrice[i+LNum] = -1; CallCode[i+LNum] = -1; } } for (var ii = -UNum; ii <= LNum; ii++) { if (Option.GetCurrent(1, ii) <= 2.0 && Option.GetCurrent(1, ii) >= 1.0) { PutPrice[ii+UNum] = Option.GetCurrent(1, ii); PutCode[ii+UNum] = Option.GetATMPutRecent(ii); } else { PutPrice[ii+UNum] = -1; PutCode[ii+UNum] = -1; } } //buy신호 발생시 if (Signal.signalKind == 1) { Start = 1; CC = -1; CallOrderCode = -1; for (var iii = -LNum; iii <= UNum; iii++) { if (CallPrice[iii+LNum] > CC) { CC = CallPrice[iii+LNum]; CallOrderCode = CallCode[iii+LNum] } } if (CC > 0) { Account1.OrderBuy(CallOrderCode, 1, 0, 1); Main.MessageLog("B신호종류:"+Signal.signalKind+" /종목코드:"+CallOrderCode+" /START:"+Start); } else { Main.MessageLog("B신호종류:"+Signal.signalKind+" /종목코드: 지정한 가격대 종목이 없음"+" /START:"+Start); } } // Exitlong신호 발생시 if (Start == 1 && Signal.signalKind == 2) { Start = 0; if (CC > 0) { Account1.OrderSell(CallOrderCode, 1, 0, 1); Main.MessageLog("B신호종류:"+Signal.signalKind+" /종목코드:"+CallOrderCode+" /START:"+Start); } else { Main.MessageLog("B신호종류:"+Signal.signalKind+" /종목코드: 지정한 가격대 종목이 없음"+" /START:"+Start); } } //sell신호 발생시 if (Signal.signalKind == 3) { Start = -1; PP = -1; PutOrderCode = -1; for (var iiii = -UNum; iiii <= LNum; iiii++) { if (PutPrice[iiii+UNum] > PP) { PP = PutPrice[iiii+UNum]; PutOrderCode = PutCode[iiii+UNum]; } } if (PP > 0) { Account1.OrderBuy(PutOrderCode, 1, 0, 1); Main.MessageLog("B신호종류:"+Signal.signalKind+" /종목코드:"+PutOrderCode+" /START:"+Start); } else { Main.MessageLog("B신호종류:"+Signal.signalKind+" /종목코드: 지정한 가격대 종목이 없음"+" /START:"+Start); } } //exitshort신호 발생시 if ( Start == -1 && Signal.signalKind == 4) { Start = 0; if (PP > 0) { Account1.OrderSell(PutOrderCode, 1, 0, 1); Main.MessageLog("B신호종류:"+Signal.signalKind+" /종목코드:"+PutOrderCode+" /START:"+Start); } else { Main.MessageLog("B신호종류:"+Signal.signalKind+" /종목코드: 지정한 가격대 종목이 없음"+" /START:"+Start); } } } 2. 옵션매도 var Start; var UNum; var LNum; var CallCode; var CallPrice; var PutCode; var PutPrice; var CC; var PP; var CallOrderCode; var PutOrderCode; function Main_OnStart() { Start = 0; } function Chart1_OnRiseSignal(Signal) { UNum = Option.uppersATM; LNum = Option.lowersATM; CallCode = new Array(UNum+LNum+1); PutCode = new Array(UNum+LNum+1); CallPrice = new Array(UNum+LNum+1); PutPrice = new Array(UNum+LNum+1); for (var i = -LNum; i <= UNum; i++) { if (Option.GetCurrent(0, i) <= 2.0 && Option.GetCurrent(0, i) >= 1.0) { CallPrice[i+LNum] = Option.GetCurrent(0, i); CallCode[i+LNum] = Option.GetATMCallRecent(i); } else { CallPrice[i+LNum] = -1; CallCode[i+LNum] = -1; } } for (var ii = -UNum; ii <= LNum; ii++) { if (Option.GetCurrent(1, ii) <= 2.0 && Option.GetCurrent(1, ii) >= 1.0) { PutPrice[ii+UNum] = Option.GetCurrent(1, ii); PutCode[ii+UNum] = Option.GetATMPutRecent(ii); } else { PutPrice[ii+UNum] = -1; PutCode[ii+UNum] = -1; } } //buy신호 발생시 if (Signal.signalKind == 1) { Start = 1; PP = -1; PutOrderCode = -1; for (var iiii = -UNum; iiii <= LNum; iiii++) { if (PutPrice[iiii+UNum] > PP) { PP = PutPrice[iiii+UNum]; PutOrderCode = PutCode[iiii+UNum]; } } if (PP > 0) { Account1.OrderSell(PutOrderCode, 1, 0, 1); Main.MessageLog("S신호종류:"+Signal.signalKind+" /종목코드:"+PutOrderCode+" /START:"+Start); } else { Main.MessageLog("S신호종류:"+Signal.signalKind+" /종목코드: 지정한 가격대 종목이 없음"+" /START:"+Start); } } //exitlong신호 발생시 if ( Start == 1 && Signal.signalKind == 2) { Start = 0; if (PP > 0) { Account1.OrderBuy(PutOrderCode, 1, 0, 1); Main.MessageLog("S신호종류:"+Signal.signalKind+" /종목코드:"+PutOrderCode+" /START:"+Start); } else { Main.MessageLog("S신호종류:"+Signal.signalKind+" /종목코드: 지정한 가격대 종목이 없음"+" /START:"+Start); } } //sell신호 발생시 if (Signal.signalKind == 3) { Start = -1; CC = -1; CallOrderCode = -1; for (var iii = -LNum; iii <= UNum; iii++) { if (CallPrice[iii+LNum] > CC) { CC = CallPrice[iii+LNum]; CallOrderCode = CallCode[iii+LNum] } } if (CC > 0) { Account1.OrderSell(CallOrderCode, 1, 0, 1); Main.MessageLog("S신호종류:"+Signal.signalKind+" /종목코드:"+CallOrderCode+" /START:"+Start); } else { Main.MessageLog("S신호종류:"+Signal.signalKind+" /종목코드: 지정한 가격대 종목이 없음"+" /START:"+Start); } } // Exitshort신호 발생시 if (Start == -1 && Signal.signalKind == 4) { Start = 0; if (CC > 0) { Account1.OrderBuy(CallOrderCode, 1, 0, 1); Main.MessageLog("S신호종류:"+Signal.signalKind+" /종목코드:"+CallOrderCode+" /START:"+Start); } else { Main.MessageLog("S신호종류:"+Signal.signalKind+" /종목코드: 지정한 가격대 종목이 없음"+" /START:"+Start); } } }
프로필 이미지
털보
2013-04-30
1875
글번호 222336
답변완료

보안 설정

안녕하세요~ 일전에 건의드린 내용인데, 아직 수정이 안된듯 하여 다시 한번 건의드립니다. 현재 예스스팟 편집기에서 '보안 설정'을 할 때, 만기일 지정이 제대로 안되고 있습니다. 즉, 특정기간까지만 사용하도록 설정이 안되는데, 이부분 수정 부탁드립니다. 아울러 YT의 배포버젼처럼, YesSpot도 '배포버젼'으로 처리가 가능하면 좋겠습니다. (이부분이 당분간 어렵다면, 만기지정 문제라도 꼭 부탁드립니다) 감사의 달인 5월이 다가옵니다. 그럼 오늘도 즐거운 하루되시기를 바라며, 감사합니다 !!!
프로필 이미지
새로운세상
2013-04-24
1920
글번호 222335
답변완료

좀 더....

여기에 수평추세선을 그을수 있다면 좀 더 정확한 분석이 가능할 텐데,,,,,,, 건의 합니다.
프로필 이미지
하늘거지
2013-04-23
1961
글번호 222334
답변완료

예스스팟에서는 거래소로 직접 주문 넣는것이 가능한지요?

수고하십니다. 예스글로벌에서 체결 관련 문제가 있어서 시세가 급변할때 일어날 수 있는 문제라고 했는데 시세가 급변할때도 체결 안될때도 있지만 급변 안해도 지정된 가격에서 청산 안되는 경우가 많았습니다. 형태만 stop, limit 주문이지 사실상 시스템에서 신호 감지해서 주문 내는 형식이라 거래소로 주문을 보내서 체결시키는 것에 비해서 많이 불리하다고 생각합니다. 그래서 질문드리는 것인데 예스트레이더 4.0과 예스스팟에서는 신호 발생시 거래소로 예약주문을 넣는것이 가능한지 하는 것입니다.
프로필 이미지
개냥이
2013-04-19
2094
글번호 222330
답변완료

질문드립니다

수고하십니다.. 외부변수에 원금 & MDD를 설정한 후에 _OnStart var 계좌평가 = GetBalanceETCinfo(nKind) ; if (원금 - 계좌평가) > 원금*MDD then AccountFreeze = 1 ; Else AccountFreeze = 0 ; 상기와 같이 MDD 이상의 손실일경우 포지션 추가진입없이 대기상태에서 자동매매를 정지시킬려고 합니다 질문1 : 현금 예수금일 경우 nKind를 몇번으로 해야하는지?(0,39 or 40) 질문2 : 대용을 포함하는 경우?
프로필 이미지
희망차사
2013-04-18
2064
글번호 222328