답변완료
질문 올립니다.
안녕하세요. 늘 감사드립니다.
네 개의 차트들, 즉 가령 20틱 차트, 1분봉 차트, 10분봉 차트, 30분봉 차트를 다 열어 놓고,
매수 진입:
각 차트들에서, 각각 EMA(20)들의 기울기가 모두 다 (즉 네 곳 다) 플러스일 때 매수,
매수 청산:
이 중 두 곳 이상에서 이 기울기가 마이너스가 되면 매수 청산,
매도 진입:
네 곳 다 20이평 기울기 마이너스일 때 매도 진입,
매도 청산:
두 곳 이상에서 기울기가 플러스가 되면 매도 청산.
하는 식들 부탁 드립니다.
감사합니다.
(제가 지금 예스랭귀지만 쓰고 있고, 예스스팟은 써 본지가 오래 되어서, 이런 것이 가능한지 잘 알지 못합니다.
가르쳐 주시면 대단히 감사하겠습니다)
2020-07-01
2856
글번호 225260
답변완료
스팟수식 부탁드립니다.
예스랭귀지 차트 신호대로 매매를 하려고 하는데
스팟을 이용하면 주문 체결 여부나 오류발생 때 대응할 수 있다고 해서 공부해보려고 했으나 너무 어렵네요..
1. 미니나스닥 신호대로 마이크로 나스닥 4계약 매매
2.
접수된 주문이 없고, 포지션이 없을 때,
-진입 미완성 신호 = 무시
-진입 완성신호 = 현재가로 주문.
접수된 주문이 없고, 포지션이 있을 때,
-청산 미완성/완성 신호 = 시장가 주문.
3. 주문 후 5초안에 오류가 발생하거나 체결이 안되면 기존 주문 취소 후 체결 될 때까지 5초마다 시장가로 재주문
1번은 차트객체 추가해서 미니나스닥 차트아이디 적용하고, 종목객체 추가해서 마이크로 나스닥 지정했고 계약수를 4로 어디서 바꾸죠?
2번은 도움말, 답변보면서 눈치껏 적었는데 의도한대로 작성됬는지 모르겠네요
3번은 어떻게 추가해야할지 잘 모르겠어요
-------------스크립트 시작-------------
var Position;
var BID;
var SID;
var Snum;
var Bnum;
function Main_OnStart()
{
Main.MessageList("Start");
Position = 0;
}
//(ExitLong)(ExitShort)
//시스템미완성 신호 발생
function Chart1_OnRiseIncompleteSignal(IncompleteSignal)
{
// Position = 1일때 ExitLong 미완성 신호 발생하면
if (IncompleteSignal.signalKind == 2 && Position == 1)
{
//포지션 설정
Position = 0 ;
//BNum 매수주문번호에 대해 미체결된 숫자설정
Account1.SetUnfillOrderNumber(BNum);
//미체결된 매수수량이 0 이상이면 취소주문
if(Account1.Unfill.Count > 0) Account1.OrderCancel(BNum);
//잔고 셋팅
Account1.SetBalanceIndex(Main.GetOrderCode(MarketData1.code));
//잔고수량 0 이상, 매수포지션일때
if (Account1.Balance.count > 0 && Account1.Balance.position == 2)
{
//잔고 수량 모두 시장가 청산(매도주문)
Account1.OrderSell(Main.GetOrderCode(MarketData1.code), Account1.Balance.count, 0, 1);
Main.MessageList("----------------");
Main.MessageList("매수청산",Position)
}
}
// Position = -1일때 ExitShort 미완성 신호 발생하면
if (IncompleteSignal.signalKind == 4 && Position == -1)
{
//포지션 설정
Position = 0 ;
// SNum 매도주문번호에 대해 미체결된 숫자설정
Account1.SetUnfillOrderNumber(SNum);
//미체결된 매도수량이 0 이상이면 취소주문
if (Account1.Unfill.count > 0) Account1.OrderCancel(SNum);
//잔고 셋팅
Account1.SetBalanceIndex(Main.GetOrderCode(MarketData1.code));
//잔고수량 0 이상, 매도포지션일때
if (Account1.Unfill.count > 0 && Account1.Balance.position == -1)
{
//잔고 수량 모두 시장가 청산(매수주문)
Account1.OrderBuy(Main.GetOrderCode(MarketData1.code));
Main.MessageList("----------------");
Main.MessageList("매도청산",Position)
}
}
}
//(Buy)(Sell)
//완성 신호 발생
function Chart1_OnRiseSignal(Signal)
{
//Position = 0일때 buy 완성 신호 최초발생하면
if (Signal.signalKind == 1 && Position == 0 )
{
BID = Account1.OrderBuy(Main.GetOrderCode(MarketData11.code), Math.abs(Signal.count), 0, 1 );
Position = 1 ;
Main.MessageList("----------------");
Main.MessageList("매수진입", Position);
}
//Position = 0일때 Sell 완성 신호 최초발생하면
if (Signal.signalKind == 3 && Position == 0)
{
SID = Account1.OrderSell(Main.GetOrderCode(MarketData1.code), Math.abs(Signal.count), 0, 1 );
Position = -1 ;
Main.MessageList("----------------");
Main.MessageList("매도진입", Position);
}
// Position = 1일때 ExitLong 완성 신호 발생하면
if (Signal.signalKind == 2 && Position == 1)
{
//포지션 설정
Position = 0 ;
//BNum 매수주문번호에 대해 미체결된 숫자설정
Account1.SetUnfillOrderNumber(BNum);
//미체결된 매수수량이 0 이상이면 취소주문
if(Account1.Unfill.Count > 0) Account1.OrderCancel(BNum);
//잔고 셋팅
Account1.SetBalanceIndex(Main.GetOrderCode(MarketData1.code));
//잔고수량 0 이상, 매수포지션일때
if (Account1.Balance.count > 0 && Account1.Balance.position == 2)
{
//잔고 수량 모두 시장가 청산(매도주문)
Account1.OrderSell(Main.GetOrderCode(MarketData1.code), Account1.Balance.count, 0, 1);
Main.MessageList("----------------");
Main.MessageList("매수청산",Position)
}
}
// Position = -1일때 ExitShort 완성 신호 발생하면
if (Signal.signalKind == 4 && Position == -1)
{
//포지션 설정
Position = 0 ;
// SNum 매도주문번호에 대해 미체결된 숫자설정
Account1.SetUnfillOrderNumber(SNum);
//미체결된 매도수량이 0 이상이면 취소주문
if (Account1.Unfill.count > 0) Account1.OrderCancel(SNum);
//잔고 셋팅
Account1.SetBalanceIndex(Main.GetOrderCode(MarketData1.code));
//잔고수량 0 이상, 매도포지션일때
if (Account1.Unfill.count > 0 && Account1.Balance.position == -1)
{
//잔고 수량 모두 시장가 청산(매수주문)
Account1.OrderBuy(Main.GetOrderCode(MarketData1.code));
Main.MessageList("----------------");
Main.MessageList("매도청산",Position)
}
}
}
//주문응답
function Main_OnOrderResponse(OrderResponse)
{
//Position이 1인 상태에서 주문응답아이디와 BID가 같으면
//BNum에 주문번호 저장
if (Position == 1 && OrderResponse.orderID == BID)
{
BNum = OrderResponse.orderNum;
}
//Position이 -1인 상태에서 주문응답아이디와 SID가 같으면
//SNum에 주문번호 저장
if (Position == -1 && OrderResponse.orderID == SID)
{
SNum = OrderResponse.orderNum;
}
}
2020-06-29
3231
글번호 225257
답변완료
두 종목 페어트레이딩 수식
주식와 선물의 차익거래 수식 부탁드립니다.
(매도차익거래 입니다)
삼성전자와 삼성전자선물(근월물)의 가격차를 통한 페어트레이딩 신호를 받고싶습니다.
삼성전자선물 매도 1호가 - 삼성전자주식 매수1호가 가 -1000원 이 될때
매매를 하고 신호를 받는 수식 부탁드립니다.
스팟은 사용해본적이 없어서 그런데.. 설정 방법, 등록 및 작동 방법 등도 안내부탁드려요.
메뉴얼을 못찾겠네요ㅜㅜ
추가로)
엑셀로 자료를 보내어 틱차트로 만들고싶은데 가능할까요? (틱차트가 불가능하다면 1분봉 차트로 부탁드립니다)
예스트레이더로 하고싶은데 예스는 매도1호가 매수1호가 등이 인식 불가능하여 할수가없네요.
삼성전자선물 매수 1호가, 매수1호가의 거래량, 매도 1호가, 매도1호가의 거래량, 현재가, 삼성전자주식 매수 1호가, 매수1호가의 거래량, 매도 1호가, 매도 1호가의 거래량, 현재가,
이렇게 a2셀~j2셀 부터
아래로 쭉 엑셀로 다운받는 코딩을 부탁드립니다.
2020-06-26
3810
글번호 225247