해외선물(나스닥) 매매 예스스팟 수식 작성 부탁드립니다.
스크립트 설정
계좌객체 : 객체명 Account1, 계좌번호지정
종목객체 : 객체명 MarketData1, 주문낼 종목코드 지정
[매수진입 기준]
▶장시작후 당일 시가보다 +50틱 상승 시점에 매수진입
▶진입후 시가보다 -10틱 하락하면 손절청산(매도청산)
▶진입후 평단가보다 +150틱 상승하면 익절청산(매도청산)
[매도진입 기준]
▶장시작후 당일 시가보다 -50틱 하락 시점에 매도진입
▶진입후 시가보다 +10틱 상승하면 손절청산(매수청산)
▶진입후 평단가보다 -150틱 하락하면 익절청산(매수청산)
답변 3
예스스탁
예스스탁 답변
2024-07-03 16:51:01.0
안녕하세요
예스스탁입니다.
아래 가이드 참고하시기 바랍니다.
영문 업데이트가 게시판 금칙어라 Up*date와 같이 중간에 *이 삽입되어 있습니다.
*을 제거하고 사용하셔야 합니다.
var 진입수량 = 1;
var DH,DH1,DL,DL1;
var BEID,BENM,SEID,SENM;
function Main_OnStart()
{
Main.MessageList("Start");
T = 0;
}
function Main_OnUp*dateMarket(sItemCode, lUp*dateID)
{
//업데이트 중 체결시세 발생시에만 동작
if (lUp*dateID == 20001)
{
DH1 = DH;
DH = MarketData1.high;
DL1 = DL;
DL = MarketData1.low;
//시초가+50틱 터치
if (DH1 > 0 &&
DH1 < MarketData1.open + MarketData1.GetTickSize()*50 &&
DH >= MarketData1.open + MarketData1.GetTickSize()*50)
{
T = 1;
//현재가로 매수주문
BEID = Account1.OrderBuy(Main.GetOrderCode(MarketData1.code), 진입수량, MarketData1.current, 2);
}
//매수 후 시초가-10틱 터치하면 청산
if (T == 1 && MarketData1.current <= MarketData1.open - MarketData1.GetTickSize()*10)
{
T = 0;
//매수진입 미체결 셋팅
Account1.SetUnfillOrderNumber(BENM);
//청산수량은 진입수량- 미체결수량
var 청산수량 = 진입수량 - Account1.Unfill.count;
//미체결은 취소
if (Account1.Unfill.count > 0)
{
Account1.OrderCancel(BENM);
}
//청산수량이 0보다 크면
if (청산수량 > 0)
{
//현재가로 매도주문
Account1.OrderSell(Main.GetOrderCode(MarketData1.code), 청산수량, MarketData1.current, 2);
}
}
//시초가-50틱 터치
if (DL1 > 0 &&
DL1 > MarketData1.open - MarketData1.GetTickSize()*50 &&
DL <= MarketData1.open - MarketData1.GetTickSize()*50)
{
T = -1;
//현재가로 매도주문
SEID = Account1.OrderSell(Main.GetOrderCode(MarketData1.code), 진입수량, MarketData1.current, 2);
}
if (T == -1 && MarketData1.current >= MarketData1.open + MarketData1.GetTickSize()*10)
{
T = 0;
//매도진입 미체결 셋팅
Account1.SetUnfillOrderNumber(SENM);
//청산수량은 진입수량- 미체결수량
var 청산수량 = 진입수량 - Account1.Unfill.count;
//미체결은 취소
if (Account1.Unfill.count > 0)
{
Account1.OrderCancel(SENM);
}
//청산수량이 0보다 크면
if (청산수량 > 0)
{
//현재가로 매수주문
Account1.OrderBuy(Main.GetOrderCode(MarketData1.code), 청산수량, MarketData1.current, 2);
}
}
}
}
//진입주문 주문응답시 주문번호 저장
function Main_OnOrderResponse(OrderResponse)
{
if (OrderResponse.orderID == BEID)
{
BENM = OrderResponse.orderNum;
}
if (OrderResponse.orderID == SEID)
{
SENM = OrderResponse.orderNum;
}
}
즐거운 하루되세요
> 곰패 님이 쓴 글입니다.
> 제목 : 해외선물(나스닥) 매매 예스스팟 수식 작성 부탁드립니다.
> 해외선물(나스닥) 매매 예스스팟 수식 작성 부탁드립니다.
스크립트 설정
계좌객체 : 객체명 Account1, 계좌번호지정
종목객체 : 객체명 MarketData1, 주문낼 종목코드 지정
[매수진입 기준]
▶장시작후 당일 시가보다 +50틱 상승 시점에 매수진입
▶진입후 시가보다 -10틱 하락하면 손절청산(매도청산)
▶진입후 평단가보다 +150틱 상승하면 익절청산(매도청산)
[매도진입 기준]
▶장시작후 당일 시가보다 -50틱 하락 시점에 매도진입
▶진입후 시가보다 +10틱 상승하면 손절청산(매수청산)
▶진입후 평단가보다 -150틱 하락하면 익절청산(매수청산)
가이드 코드 감사합니다.
부족한 부분은 스스로 추가해보겠습니다.
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 해외선물(나스닥) 매매 예스스팟 수식 작성 부탁드립니다.
> 안녕하세요
예스스탁입니다.
아래 가이드 참고하시기 바랍니다.
영문 업데이트가 게시판 금칙어라 Up*date와 같이 중간에 *이 삽입되어 있습니다.
*을 제거하고 사용하셔야 합니다.
var 진입수량 = 1;
var DH,DH1,DL,DL1;
var BEID,BENM,SEID,SENM;
function Main_OnStart()
{
Main.MessageList("Start");
T = 0;
}
function Main_OnUp*dateMarket(sItemCode, lUp*dateID)
{
//업데이트 중 체결시세 발생시에만 동작
if (lUp*dateID == 20001)
{
DH1 = DH;
DH = MarketData1.high;
DL1 = DL;
DL = MarketData1.low;
//시초가+50틱 터치
if (DH1 > 0 &&
DH1 < MarketData1.open + MarketData1.GetTickSize()*50 &&
DH >= MarketData1.open + MarketData1.GetTickSize()*50)
{
T = 1;
//현재가로 매수주문
BEID = Account1.OrderBuy(Main.GetOrderCode(MarketData1.code), 진입수량, MarketData1.current, 2);
}
//매수 후 시초가-10틱 터치하면 청산
if (T == 1 && MarketData1.current <= MarketData1.open - MarketData1.GetTickSize()*10)
{
T = 0;
//매수진입 미체결 셋팅
Account1.SetUnfillOrderNumber(BENM);
//청산수량은 진입수량- 미체결수량
var 청산수량 = 진입수량 - Account1.Unfill.count;
//미체결은 취소
if (Account1.Unfill.count > 0)
{
Account1.OrderCancel(BENM);
}
//청산수량이 0보다 크면
if (청산수량 > 0)
{
//현재가로 매도주문
Account1.OrderSell(Main.GetOrderCode(MarketData1.code), 청산수량, MarketData1.current, 2);
}
}
//시초가-50틱 터치
if (DL1 > 0 &&
DL1 > MarketData1.open - MarketData1.GetTickSize()*50 &&
DL <= MarketData1.open - MarketData1.GetTickSize()*50)
{
T = -1;
//현재가로 매도주문
SEID = Account1.OrderSell(Main.GetOrderCode(MarketData1.code), 진입수량, MarketData1.current, 2);
}
if (T == -1 && MarketData1.current >= MarketData1.open + MarketData1.GetTickSize()*10)
{
T = 0;
//매도진입 미체결 셋팅
Account1.SetUnfillOrderNumber(SENM);
//청산수량은 진입수량- 미체결수량
var 청산수량 = 진입수량 - Account1.Unfill.count;
//미체결은 취소
if (Account1.Unfill.count > 0)
{
Account1.OrderCancel(SENM);
}
//청산수량이 0보다 크면
if (청산수량 > 0)
{
//현재가로 매수주문
Account1.OrderBuy(Main.GetOrderCode(MarketData1.code), 청산수량, MarketData1.current, 2);
}
}
}
}
//진입주문 주문응답시 주문번호 저장
function Main_OnOrderResponse(OrderResponse)
{
if (OrderResponse.orderID == BEID)
{
BENM = OrderResponse.orderNum;
}
if (OrderResponse.orderID == SEID)
{
SENM = OrderResponse.orderNum;
}
}
즐거운 하루되세요
> 곰패 님이 쓴 글입니다.
> 제목 : 해외선물(나스닥) 매매 예스스팟 수식 작성 부탁드립니다.
> 해외선물(나스닥) 매매 예스스팟 수식 작성 부탁드립니다.
스크립트 설정
계좌객체 : 객체명 Account1, 계좌번호지정
종목객체 : 객체명 MarketData1, 주문낼 종목코드 지정
[매수진입 기준]
▶장시작후 당일 시가보다 +50틱 상승 시점에 매수진입
▶진입후 시가보다 -10틱 하락하면 손절청산(매도청산)
▶진입후 평단가보다 +150틱 상승하면 익절청산(매도청산)
[매도진입 기준]
▶장시작후 당일 시가보다 -50틱 하락 시점에 매도진입
▶진입후 시가보다 +10틱 상승하면 손절청산(매수청산)
▶진입후 평단가보다 -150틱 하락하면 익절청산(매수청산)