커뮤니티
예스스팟 Q&A
nadogaja 님에 의해서 삭제되었습니다.
2014-04-03
6
글번호 222907
마루아빠 님에 의해서 삭제되었습니다.
2014-04-02
4
글번호 222906
마루아빠 님에 의해서 삭제되었습니다.
2014-04-02
0
글번호 222905
답변완료
지금 예스 스팟 옵션 객체가 사용이 되나요?
Option.GetATMCallRecent
Option.GetCurrent
함수를 사용해서 불러와도 공백 데이터가 오네요.
현재 사용 가능한가요?
2014-04-02
659
글번호 222904
확장챠트에서 시스템 설정에 문제가 있는지...
수고하십니다.
1. 지난번의 답변 감사합니다
3.시험가동에선 주문가격이 1.-2147483648 으로 이상하게 나오고 체결가격은 실체결에서만
나오는 건지 궁금합니다.
5. 예스랭기지 시스템에서의 한두종류의 신호와 수량을 스팟에서 이용하고 싶은데,
가능한 방법은 있는지요?
점검좀 부탁드립니다
감사합니다
var Start;
var UNum; var LNum;
var CallCode; var CallPrice;
var PutCode; var PutPrice;
var CC; var PP;
var CallOrderCode; var PutOrderCode;
var vol1;var vol3;
var vol2;var vol4;
var CallStart;
var PutStart;
var ChartEx1 = null;
var ChartEx2 = null;
function Main_OnStart()
{
Start = 0;
vol1 = 0;
vol2 = 0;
CallStart = 0;
PutStart = 0;
var d = new Date();
var HHMMSS = d.getHours()*10000+d.getMinutes()*100+d.getSeconds();
//9시 5분에
if (Start == 0 && HHMMSS >= 085500)// && HHMMSS >= 90030
{
Start = 1;
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++)
{
CallPrice[i+LNum] = Math.abs(Option.GetExpectedPrice(0, i)-2.3);
CallCode[i+LNum] = Option.GetATMCallRecent(i);
}
CC = 99999999;
// CallOrderCode = -1;
for (var i = -LNum; i <= UNum; i++)
{
if (CallPrice[i+LNum] < CC)
{
CC = CallPrice[i+LNum];
CallOrderCode = CallCode[i+LNum];
}
if (CallOrderCode == CallCode[i+LNum])
{
CallOrderCode1 = CallCode[i+LNum-1];
CallOrderCode2 = CallCode[i+LNum+1];
CallOrderCode3 = CallCode[i+LNum+2];
}
}
for (var ii = -UNum; ii <= LNum; ii++)
{
PutPrice[ii+UNum] = Math.abs(Option.GetExpectedPrice(1, ii)-2.3);
PutCode[ii+UNum] = Option.GetATMPutRecent(ii);
}
PP = 99999999;
// PutOrderCode = -1;
for (var ii = -UNum; ii < LNum; ii++)
{
if (PutPrice[ii+UNum] <= PP)
{
PP = PutPrice[ii+UNum];
PutOrderCode = PutCode[ii+UNum];
}
if (PutOrderCode == PutCode[ii+UNum])
{
PutOrderCode1 = PutCode[ii+UNum-1];
PutOrderCode2 = PutCode[ii+UNum+1];
PutOrderCode3 = PutCode[ii+UNum+2];
PutOrderCode4 = PutCode[ii+UNum+3];
}
}
Main.MessageList("콜",CallOrderCode ,"풋",PutOrderCode);
//확장 차트객체 요청
var ChartSet1 = new ReqChartItem(CallOrderCode,60, CHART_PERIOD_TICK, 1200, CHART_REQCOUNT_BAR, false, false);
var ChartSet2 = new ReqChartItem(PutOrderCode,60, CHART_PERIOD_TICK, 1200, CHART_REQCOUNT_BAR, false, false);
//시스템 설정
var TradeSet = new SystemTradeInfo(TRADE_FIXCAPITAL,1, 10000000,1, // 자산
0.07, 0.07,CALCMETHOD_PERCENT, // 진입/청산 수수료
0.01, 0.01,CALCMETHOD_POINT, // 진입/청산 슬리피지
PYRAMIDING_ENTRY, // 피라미딩 설정여부
1000, //1000, // 최대진입수량
10); // 최대진입횟수
var StopSet = new SystemStopInfo(new StopEndOfDay(150300));
var SystemSet1 = new SystemInfo("OpCall",YL_TYPE_NORMAL,null,TradeSet,null);
//참조데이터 추가
var R11 = new ReqChartItem(PutOrderCode, 60, CHART_PERIOD_TICK, 1000, CHART_REQCOUNT_BAR, false, false);
var R12 = new ReqChartItem(PutOrderCode1, 20, CHART_PERIOD_TICK, 1200, CHART_REQCOUNT_BAR, false, false);
var R13 = new ReqChartItem(PutOrderCode2, 60, CHART_PERIOD_TICK, 800, CHART_REQCOUNT_BAR, false, false);
var R14 = new ReqChartItem(CallOrderCode1, 20, CHART_PERIOD_TICK, 1000, CHART_REQCOUNT_BAR, false, false);
var R15 = new ReqChartItem(CallOrderCode2, 60, CHART_PERIOD_TICK, 800, CHART_REQCOUNT_BAR, false, false);
var R16 = new ReqChartItem("00000000", 60, CHART_PERIOD_TICK, 1500, CHART_REQCOUNT_BAR, false, false);
var R17 = new ReqChartItem(PutOrderCode3, 60, CHART_PERIOD_TICK, 600, CHART_REQCOUNT_BAR, false, false);
var R18 = new ReqChartItem(PutOrderCode4, 60, CHART_PERIOD_TICK, 600, CHART_REQCOUNT_BAR, false, false);
var R19 = new ReqChartItem(CallOrderCode3, 60, CHART_PERIOD_TICK, 600, CHART_REQCOUNT_BAR, false, false);
//var R20 = new ReqChartItem("EI735", 60, CHART_PERIOD_TICK, 1000, CHART_REQCOUNT_BAR, false, false);
var ReferDataSet1 = new Array(R11,R12,R13,R14,R15,R16,R17,R18,R19);
//지정한 설정으로 챠트 생성을 요청
Main.ReqChartEx(ChartSet1,SystemSet1,null,ReferDataSet1);
}
}
//요청한 차트객체 생성이 완료되면
function Main_OnRcvChartEx(ChartEx)
{
if ( ChartEx.GetCode(1) == CallOrderCode)
{
ChartEx1 = ChartEx;
CallStart = 1;
Main.MessageList("C코드",ChartEx1.GetCode(1));
}
}
//확장차트에서 신호나오면 주문
function Main_OnRiseSignal(ChartEx1, Signal)
{
//콜차트
if (CallStart == 1 && ChartEx1.GetCode(1) == CallOrderCode)
{
if (Signal.signalKind == 1)
{
vol1 = Math.abs(Signal.count);
Account1.OrderBuy(Signal.code,vol1,Option.GetAskByCode(Signal.code,0),0);
Main.MessageList("콜매수 : ", CallOrderCode);
}
if (Signal.signalKind == 2)
{
vol2 = Math.abs(Signal.count);
//PutOrderCode 종목 잔고 셋팅
Account1.SetBalanceItem(Main.GetOrderCode(CallOrderCode), 0);
//잔고수량이 0이상이고 매수포지션이면
if(Account1.Balance.count >= vol2 && Account1.Balance.code == Main.GetOrderCode(CallOrderCode)
&& Account1.Balance.position == 2)
{
//잔고수량과 진입수량 중 작은 값으로 청산실행
// Account1.OrderSell(Main.GetOrderCode(CallOrderCode), Math.max(Account1.Balance.count,vol2),Option.GetBidByCode(Main.GetOrderCode(CallOrderCode), 0), 0);
Account1.OrderSell(Signal.code,vol2,Option.GetBidByCode(Signal.code,0),0);
}
if(Account1.Balance.count < vol2 && Account1.Balance.position == 2)
{
//잔고수량과 진입수량 중 작은 값으로 청산실행
Account1.OrderSell(Main.GetOrderCode(CallOrderCode), Math.min(Account1.Balance.count,vol2),Option.GetBidByCode(CallOrderCode, 0), 0);
}
}
}
}
2014-04-05
775
글번호 222901
답변완료
문의드립니다.
항상 답변감사합니다.
예스스팟식부탁드립니다.
시스템신호에 따라서 옵션매수,매도 1계약씩 체결되도록 하고싶습니다.
시스템은 리버스 매수매도신호만 있는 시스템입니다.
복합차트로 주간과야간 매매신호가 발생합니다.
조건 시스템신호에 따라
매수신호시 옵션 가격 1~1.5 가격중 큰가격 콜옵션매수1계약(풋옵션매수종목은 청산)
매도신호시 옵션 가격 1~1.5 가격중 큰가격 풋옵션매수1계약(콜옵션매수종목은 청산)
당월물 옵션매수는 당월물옵션 시작일부터 그달 말일까지는 당월물옵션만거래
차월물 옵션매수는 옵션만기가 있는달 1일부터 옵션만기시까지는 차월물옵션만거래.
야간장에는 야간선물시간과 야간옵션시간차이가 나는데요... 이때 선물 매수매도신호가나왔다면 야간종료시에 매수신호가 나온건..옵션으로 매수가 안될경우
그담날 시초에 옵션매수가 되도록 부탁드립니다. 즉 옵션거래가 가능한 시간에 매수신호시에
매수가 진입되도록 하였으면 좋겠습니다.
2014-04-01
632
글번호 222898
마루아빠 님에 의해서 삭제되었습니다.
2014-03-31
35
글번호 222895
경복궁 님에 의해서 삭제되었습니다.
2014-03-29
1
글번호 222894
답변완료
체결가 정보 어디서 가지고 오나요?
예스스팟과 관련하여
선물 거래에 대해 체결가보다 4틱 높은 호가에서 청산을 하려고 하는데요.
체결가를 호출하는 함수가 뭔가요?
2014-03-28
1130
글번호 222893
YesGlobal 스팟의 메뉴와 툴바에 있는 이벤트 추가가 예스트레이더 스팟에는 없네요.
YesGlobal 스팟의 메뉴와 툴바에 있는 이벤트 추가가 예스트레이더 스팟에는 없네요.
YesGlobal 에 있어서 잘 쓰고 있다가 예스트레이더에서 작업하려니 불편하네요.
예스트레이더 스팟에도 기능 추가 바랍니다.
2014-03-27
1328
글번호 222889