커뮤니티
주문 관련해서 궁금한 점이 있습니다.
2026-05-16 11:20:41
69
글번호 232071
미니나스닥 또는 미니골드 차트를 기준으로 시스템 매매신호는 정상적으로 발생하고 있습니다.
다만, 실제 주문은 미니 상품이 아니라 마이크로 미니나스닥 / 마이크로 골드 상품으로 실행하고 싶습니다.
현재 기존에 작성해둔 예스랭귀지 시스템 수식이 있는데, 여기에 추가 수식을 작성하거나 일부 로직을 보완하면 제가 의도한 방식처럼
미니 상품 차트에서 신호를 판단하고, 실제 매매는 마이크로 상품으로 실행하는 구조를 구현할 수 있을까요?
가능하다면 어떤 방식으로 수식을 수정하거나 보완해야 하는지도 함께 조언 부탁드립니다.
즉, 신호 판단 기준 차트와 실제 주문 종목을 분리해서 운용할 수 있는지, 또는 예스랭귀지 수식상에서 별도의 주문 종목 지정이 가능한지 확인하고 싶습니다.
답변 1
예스스탁 예스스탁 답변
2026-05-18 10:39:48
안녕하세요
예스스탁입니다.
예스스팟을 이용하시면 됩니다.
예스스팟으로 차트에서 신호가 발생하면
감지해서 주문을 다른종목에 집행하게 구현할 수 있습니다.
아래 내용을 참고하시기 바랍니다.
설정이나 추가 설명이 필요하시면 02-3453-1060으로 전화주시기 바랍니다.
스팟에서 주문을 집행하고 다른 종목으로 주문을 집행해야 하므로
1
차트에는 시스템은 주문이 나가지 않게 시험적용으로 적용
2
차트에 참조데이터로 마이크로 종목을 연속월물 데이터로 추가
(차트에 참조데이터는 차트왼쪽 상단 종목선택버튼 중 오른쪽 클릭하면 추가할 수 있습니다)
3
아래와 같이 식을 작성하셔서 자동매매를 하시면 됩니다.
4
스팟 스크립트 객체설정
차트객체 추가 -> 속성에서 객체명 Chart1, 신호발생차트와 동일아이디 지정
계좌객체 추가 -> 속성에서 객체명 Account1, 주문낼 계좌번호 지정
var OC, MK, pst;
var BV,SV;
var 주문시작신호 = 0; //0:모든신호, 1:진입신호
function Main_OnStart()
{
Main.MessageList("Start");
//차트종목 종목코드
OC = Main.GetOrderCode(Chart1.GetCode(2));
//종목객체 요청
Main.ReqMarketData(OC);
pst = 0;
}
function Main_OnRcvMarketData(MarketData)
{
if (MarketData.code == OC)
{
MK = MarketData;
}
}
function Chart1_OnRiseSignal(Signal)
{
//매수진입신호 발생
if (Signal.signalKind == 1)
{
//신호수량 저장
BV = Signal.count;
//매수주문 집행(신호수량, 현재가 지정가)
BID = Account1.OrderBuy(OC, BV, MK.current,0);
pst = 1;
Main.MessageList("매수진입신호:",BV);
}
//스팟에서 매수진입 이후에 매수청산 신호 발생
if ((주문시작신호 == 0 || (주문시작신호 == 1 && pst == 1)) && Signal.signalKind == 2)
{
//청산을 위해 매도주문 집행(수량은 BV, 매수5호가 지정가)
Account1.OrderSell(OC, BV, MK.Bid(5), 0);
Main.MessageList("매수청산신호:",SV);
}
//매도진입신호 발생
if (Signal.signalKind == 3)
{
//신호수량 저장
SV = Signal.count;
//매도주문 집행(신호수량, 현재가 지정가)
SID = Account1.OrderSell(OC, SV,MK.current,0);
pst = -1;
Main.MessageList("매도진입신호:",SV);
}
//스팟에서 매도진입 이후에 매도청산 신호 발생
if (((주문시작신호 == 0 || (주문시작신호 == 1 && pst == -1)) && Signal.signalKind == 4)
{
Account1.OrderBuy(OC, SV, MK.Ask(5), 0);
Main.MessageList("매도청산신호:",SV);
}
}
즐거운 하루되세요
다음글