예스스탁
예스스탁 답변
2013-04-05 17:36:32
안녕하세요
예스스타입니다.
시초가 수신시에 주문을 내는것은 종목객체만 사용하셔서 아래와 같이
작성하시면 해결하실 수 있습니다
MarketData1.open은 당일 정규장 전에는 0값이고
정규장이 시작되면 당일시초가로 값이 변경이 됩니다.
그러므로 MarketData1.open에 0보다 큰값이 할당되는 시점 한번만
전일종가와 비교해서 주문내시면 됩니다.
시가수신되면 바로 주문들어 갑니다.
첫봉의 신호를 막으시려면
아래식과 같이 진입신호의 시간이 9시 보다 큰경우만
주문하게 작성하시면 됩니다.
게시판 금칙어가 있어 영문 업데이트에 모두 별표가 있습니다.
//차트객체명 Chart1
//계좌객체명 Account1
//종목객체명 MarketData1
function Main_OnStart()
{
Start = 0;
OpenStart = 0;
Main.MessageList(MarketData1.open,MarketData1.prevClose);
}
function Main_OnU*pdateMarket(sItemCode, lU*pdateID)
{
if (OpenStart == 0 && MarketData1.open > 0)
{
OpenStart = 1;
Main.MessageList(MarketData1.open,MarketData1.prevClose);
if (MarketData1.open > MarketData1.prevClose)
Account1.OrderBuy(MarketData1.code,Vol,Signal.price,0);
if (MarketData1.open < MarketData1.prevClose)
Account1.OrderSell(MarketData1.code,Vol,Signal.price,0);
}
}
function Chart1_OnRiseSignal(Signal)
{
if (Signal.signalKind == 1)
{
Start = 1;
if (Signal.time > 900000000)
{
Account1.OrderBuy(MarketData1.code,Vol,Signal.price,0);
}
}
if (Start == 1 && Signal.signalKind == 2)
{
Account1.OrderSell(MarketData1.code,Vol,Signal.price,0);
}
if (Signal.signalKind == 3)
{
Start = 1;
if (Signal.time > 900000000)
{
Account1.OrderSell(MarketData1.code,Vol,Signal.price,0);
}
}
if (Start == 1 && Signal.signalKind == 4)
{
Account1.OrderBuy(MarketData1.code,Vol,Signal.price,0);
}
}
즐거운 하루되세요
> 새로운세상 님이 쓴 글입니다.
> 제목 : 미완성신호 주문
> 안녕하세요~
다음 수식 부탁드립니다.
YT에서 선물 분봉기준으로
1) 첫봉 dayindex==0 에서 연결선물 당일시가가 전일종가보다 크면 매수,
작으면 매도, 같으면 진입없슴
* 로직상 첫봉에서 미완성신호가 발생되었다면,
첫봉에서 가격 움직임에 상관없이 완성신호가 발생됨을 알 수 있슴
2) 두번째봉부터 1)의 청산 또는 어떤 조건에 의한 진입,청산
3) 14:30 장마감 청산
위의 내용을 YesSpot에서 차트 신호완성 기준으로 test 완료하였습니다.
---------------------------------------------
제가 문의드리고자 하는 것은 2)와 3) 부분은 신호완성 기준으로 하되,
1)의 경우 전일종가와 당일시가가 같지 않은 경우 첫봉에서 매수 또는 매도 미완성신호가
발생하게 되는데, 이시점만큼은 차트의 미완성신호에 의한 매매를 하고 싶습니다.
< 원하는 수식 >
1) YT 당일 첫봉 dayindex==0 에서 미완성신호 발생시,
(1) 미완성신호 발생시점으로부터 30초후 YesSpot에서 매수주문 또는
(2) 만약, 30초이내에 현재가가 '시초가 - 0.3pt'이면 30초이전이라도 매수주문
- 당연히 미완성신호에서 주문발생시 해당 분봉에서 완성신호시에 주문 발생 안함
- 예스스팟에서 dayindex 처리가 안된다면, 당일시초가 발생후 30초와 같은 개념임
2) 첫봉을 제외하고 다른 시점에서는 완성신호에 의한 매수주문
function Main_OnStart()
{
Start = 0;
}
function Chart1_OnRiseSignal(Signal)
{
if (Signal.signalKind == 1)
{
Start = 1;
Account1.OrderBuy(MarketData1.code,Vol,Signal.price,0);
}
....
..
....
차트 신호발생에 의한 수식중 매수진입부분인데, 이 수식을 위의 설명과 같이
dayindex==0 신호발생시 미완성신호 최초발생후 30초 경과후 매수주문 또는
dayindex==0 신호발생시 미완성신호 최초발생후 30초 이전 '시초가-0.3pt'라면 매수주문
(미완성신호에서 주문 발생시 해당 완성봉에서 주문발생 안함)
첫봉이외에는 완성신호에 의한 주문형태로 수정 부탁드립니다.
4월이 시작되고, 오늘은 봄비가 내리네요...
오늘도 행복한 시간되시기를 바라며,
감사합니다 !!!
새로운세상
2013-04-08 14:19:34
안녕하세요~
우선 상세한 답변 감사드립니다.
내용중 누락된 부분이 있어서 다시 한번 질문드립니다.
문의내용에 해당되는 아래 수식부분의 수정 부탁드립니다.
function Main_OnU*pdateMarket(sItemCode, lU*pdateID)
{
if (OpenStart == 0 && MarketData1.open > 0)
{
OpenStart = 1;
Main.MessageList(MarketData1.open,MarketData1.prevClose);
if (MarketData1.open > MarketData1.prevClose)
Account1.OrderBuy(MarketData1.code,Vol,Signal.price,0);
if (MarketData1.open < MarketData1.prevClose)
Account1.OrderSell(MarketData1.code,Vol,Signal.price,0);
}
}
전일종가와 당일시가의 비교에 의한 매수,매도 기준은 위의 수식과 같고,
이 기준 && 09시30초를 기준으로
1) 09시30초 이전에 '시초가 - 0.3pt' 가격이 형성되면 해당시점에서 5호가 매수주문
'시초가 + 0.3pt' 가격이 형성되면 해당시점에서 5호가 매도주문
2) 09시30초까지 1)의 상황이 발생하지 않는다면,
09시30초에 5호가 진입
3) 당연히 위의 수식 부분에 의한 진입은 1회만 발생함
이상입니다.
번거로우시겠지만 살펴봐주시기 바랍니다.
감사합니다 !!!
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 미완성신호 주문
> 안녕하세요
예스스타입니다.
시초가 수신시에 주문을 내는것은 종목객체만 사용하셔서 아래와 같이
작성하시면 해결하실 수 있습니다
MarketData1.open은 당일 정규장 전에는 0값이고
정규장이 시작되면 당일시초가로 값이 변경이 됩니다.
그러므로 MarketData1.open에 0보다 큰값이 할당되는 시점 한번만
전일종가와 비교해서 주문내시면 됩니다.
시가수신되면 바로 주문들어 갑니다.
첫봉의 신호를 막으시려면
아래식과 같이 진입신호의 시간이 9시 보다 큰경우만
주문하게 작성하시면 됩니다.
게시판 금칙어가 있어 영문 업데이트에 모두 별표가 있습니다.
//차트객체명 Chart1
//계좌객체명 Account1
//종목객체명 MarketData1
function Main_OnStart()
{
Start = 0;
OpenStart = 0;
Main.MessageList(MarketData1.open,MarketData1.prevClose);
}
function Main_OnU*pdateMarket(sItemCode, lU*pdateID)
{
if (OpenStart == 0 && MarketData1.open > 0)
{
OpenStart = 1;
Main.MessageList(MarketData1.open,MarketData1.prevClose);
if (MarketData1.open > MarketData1.prevClose)
Account1.OrderBuy(MarketData1.code,Vol,Signal.price,0);
if (MarketData1.open < MarketData1.prevClose)
Account1.OrderSell(MarketData1.code,Vol,Signal.price,0);
}
}
function Chart1_OnRiseSignal(Signal)
{
if (Signal.signalKind == 1)
{
Start = 1;
if (Signal.time > 900000000)
{
Account1.OrderBuy(MarketData1.code,Vol,Signal.price,0);
}
}
if (Start == 1 && Signal.signalKind == 2)
{
Account1.OrderSell(MarketData1.code,Vol,Signal.price,0);
}
if (Signal.signalKind == 3)
{
Start = 1;
if (Signal.time > 900000000)
{
Account1.OrderSell(MarketData1.code,Vol,Signal.price,0);
}
}
if (Start == 1 && Signal.signalKind == 4)
{
Account1.OrderBuy(MarketData1.code,Vol,Signal.price,0);
}
}
즐거운 하루되세요
> 새로운세상 님이 쓴 글입니다.
> 제목 : 미완성신호 주문
> 안녕하세요~
다음 수식 부탁드립니다.
YT에서 선물 분봉기준으로
1) 첫봉 dayindex==0 에서 연결선물 당일시가가 전일종가보다 크면 매수,
작으면 매도, 같으면 진입없슴
* 로직상 첫봉에서 미완성신호가 발생되었다면,
첫봉에서 가격 움직임에 상관없이 완성신호가 발생됨을 알 수 있슴
2) 두번째봉부터 1)의 청산 또는 어떤 조건에 의한 진입,청산
3) 14:30 장마감 청산
위의 내용을 YesSpot에서 차트 신호완성 기준으로 test 완료하였습니다.
---------------------------------------------
제가 문의드리고자 하는 것은 2)와 3) 부분은 신호완성 기준으로 하되,
1)의 경우 전일종가와 당일시가가 같지 않은 경우 첫봉에서 매수 또는 매도 미완성신호가
발생하게 되는데, 이시점만큼은 차트의 미완성신호에 의한 매매를 하고 싶습니다.
< 원하는 수식 >
1) YT 당일 첫봉 dayindex==0 에서 미완성신호 발생시,
(1) 미완성신호 발생시점으로부터 30초후 YesSpot에서 매수주문 또는
(2) 만약, 30초이내에 현재가가 '시초가 - 0.3pt'이면 30초이전이라도 매수주문
- 당연히 미완성신호에서 주문발생시 해당 분봉에서 완성신호시에 주문 발생 안함
- 예스스팟에서 dayindex 처리가 안된다면, 당일시초가 발생후 30초와 같은 개념임
2) 첫봉을 제외하고 다른 시점에서는 완성신호에 의한 매수주문
function Main_OnStart()
{
Start = 0;
}
function Chart1_OnRiseSignal(Signal)
{
if (Signal.signalKind == 1)
{
Start = 1;
Account1.OrderBuy(MarketData1.code,Vol,Signal.price,0);
}
....
..
....
차트 신호발생에 의한 수식중 매수진입부분인데, 이 수식을 위의 설명과 같이
dayindex==0 신호발생시 미완성신호 최초발생후 30초 경과후 매수주문 또는
dayindex==0 신호발생시 미완성신호 최초발생후 30초 이전 '시초가-0.3pt'라면 매수주문
(미완성신호에서 주문 발생시 해당 완성봉에서 주문발생 안함)
첫봉이외에는 완성신호에 의한 주문형태로 수정 부탁드립니다.
4월이 시작되고, 오늘은 봄비가 내리네요...
오늘도 행복한 시간되시기를 바라며,
감사합니다 !!!
예스스탁
예스스탁 답변
2013-04-08 18:08:02
안녕하세요
예스스탁입니다.
function Main_OnStart()
{
Start = 0;
OpenStart = 0;
}
function Main_OnU*pdateMarket(sItemCode, lU*pdateID)
{
//시초가 수신하고 9시 30초 전에
if ( MarketData1.open > 0 && MarketData1.time < 090030000)
{
if (OpenStart == 0 && //OpenStart는 0이고
MarketData1.open > MarketData1.prevClose && //시초가가 전일종가보다 크고
MarketData1.current <= MarketData1.open-0.3) // 현재가가 시초가대비 0.3이상 하락하면 매수주문(주문가격 매도5호가)
{
Account1.OrderBuy(Main.GetOrderCode(MarketData1.code),1, MarketData1.Ask(5),0);
OpenStart = 1;
}
if (OpenStart == 0 && //OpenStart는 0이고
MarketData1.open < MarketData1.prevClose && //시초가가 전일종가보다 작고
MarketData1.current >= MarketData1.open+0.3) //현재가가 시초가 대비 0.3이상 상승하면 매도주문(주문가격 매수5호가)
{
Account1.OrderSell(Main.GetOrderCode(MarketData1.code),1, MarketData1.Bid(5),0);
OpenStart = 1;
}
}
//OpenStart는 0이고 시초가 수신하고 9시 30초 이후
if (OpenStart == 0 && MarketData1.open > 0 && MarketData1.time >= 090030000)
{
OpenStart = 1;//OpenStart는 1
if (MarketData1.open > MarketData1.prevClose) //시초가가 전일종가보다 크면 매수주문(주문가격 매도5호가)
Account1.OrderBuy(Main.GetOrderCode(MarketData1.code),1, MarketData1.Ask(5),0);
if (MarketData1.open < MarketData1.prevClose) //시초가가 전일종가보다 작으면 매도주문(주문가격 매수5호가)
Account1.OrderSell(Main.GetOrderCode(MarketData1.code),1, MarketData1.Bid(5),0);
}
}
즐거운 하루되세요
> 새로운세상 님이 쓴 글입니다.
> 제목 : Re : Re : 미완성신호 주문
> 안녕하세요~
우선 상세한 답변 감사드립니다.
내용중 누락된 부분이 있어서 다시 한번 질문드립니다.
문의내용에 해당되는 아래 수식부분의 수정 부탁드립니다.
function Main_OnU*pdateMarket(sItemCode, lU*pdateID)
{
if (OpenStart == 0 && MarketData1.open > 0)
{
OpenStart = 1;
Main.MessageList(MarketData1.open,MarketData1.prevClose);
if (MarketData1.open > MarketData1.prevClose)
Account1.OrderBuy(MarketData1.code,Vol,Signal.price,0);
if (MarketData1.open < MarketData1.prevClose)
Account1.OrderSell(MarketData1.code,Vol,Signal.price,0);
}
}
전일종가와 당일시가의 비교에 의한 매수,매도 기준은 위의 수식과 같고,
이 기준 && 09시30초를 기준으로
1) 09시30초 이전에 '시초가 - 0.3pt' 가격이 형성되면 해당시점에서 5호가 매수주문
'시초가 + 0.3pt' 가격이 형성되면 해당시점에서 5호가 매도주문
2) 09시30초까지 1)의 상황이 발생하지 않는다면,
09시30초에 5호가 진입
3) 당연히 위의 수식 부분에 의한 진입은 1회만 발생함
이상입니다.
번거로우시겠지만 살펴봐주시기 바랍니다.
감사합니다 !!!
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 미완성신호 주문
> 안녕하세요
예스스타입니다.
시초가 수신시에 주문을 내는것은 종목객체만 사용하셔서 아래와 같이
작성하시면 해결하실 수 있습니다
MarketData1.open은 당일 정규장 전에는 0값이고
정규장이 시작되면 당일시초가로 값이 변경이 됩니다.
그러므로 MarketData1.open에 0보다 큰값이 할당되는 시점 한번만
전일종가와 비교해서 주문내시면 됩니다.
시가수신되면 바로 주문들어 갑니다.
첫봉의 신호를 막으시려면
아래식과 같이 진입신호의 시간이 9시 보다 큰경우만
주문하게 작성하시면 됩니다.
게시판 금칙어가 있어 영문 업데이트에 모두 별표가 있습니다.
//차트객체명 Chart1
//계좌객체명 Account1
//종목객체명 MarketData1
function Main_OnStart()
{
Start = 0;
OpenStart = 0;
Main.MessageList(MarketData1.open,MarketData1.prevClose);
}
function Main_OnU*pdateMarket(sItemCode, lU*pdateID)
{
if (OpenStart == 0 && MarketData1.open > 0)
{
OpenStart = 1;
Main.MessageList(MarketData1.open,MarketData1.prevClose);
if (MarketData1.open > MarketData1.prevClose)
Account1.OrderBuy(MarketData1.code,Vol,Signal.price,0);
if (MarketData1.open < MarketData1.prevClose)
Account1.OrderSell(MarketData1.code,Vol,Signal.price,0);
}
}
function Chart1_OnRiseSignal(Signal)
{
if (Signal.signalKind == 1)
{
Start = 1;
if (Signal.time > 900000000)
{
Account1.OrderBuy(MarketData1.code,Vol,Signal.price,0);
}
}
if (Start == 1 && Signal.signalKind == 2)
{
Account1.OrderSell(MarketData1.code,Vol,Signal.price,0);
}
if (Signal.signalKind == 3)
{
Start = 1;
if (Signal.time > 900000000)
{
Account1.OrderSell(MarketData1.code,Vol,Signal.price,0);
}
}
if (Start == 1 && Signal.signalKind == 4)
{
Account1.OrderBuy(MarketData1.code,Vol,Signal.price,0);
}
}
즐거운 하루되세요
> 새로운세상 님이 쓴 글입니다.
> 제목 : 미완성신호 주문
> 안녕하세요~
다음 수식 부탁드립니다.
YT에서 선물 분봉기준으로
1) 첫봉 dayindex==0 에서 연결선물 당일시가가 전일종가보다 크면 매수,
작으면 매도, 같으면 진입없슴
* 로직상 첫봉에서 미완성신호가 발생되었다면,
첫봉에서 가격 움직임에 상관없이 완성신호가 발생됨을 알 수 있슴
2) 두번째봉부터 1)의 청산 또는 어떤 조건에 의한 진입,청산
3) 14:30 장마감 청산
위의 내용을 YesSpot에서 차트 신호완성 기준으로 test 완료하였습니다.
---------------------------------------------
제가 문의드리고자 하는 것은 2)와 3) 부분은 신호완성 기준으로 하되,
1)의 경우 전일종가와 당일시가가 같지 않은 경우 첫봉에서 매수 또는 매도 미완성신호가
발생하게 되는데, 이시점만큼은 차트의 미완성신호에 의한 매매를 하고 싶습니다.
< 원하는 수식 >
1) YT 당일 첫봉 dayindex==0 에서 미완성신호 발생시,
(1) 미완성신호 발생시점으로부터 30초후 YesSpot에서 매수주문 또는
(2) 만약, 30초이내에 현재가가 '시초가 - 0.3pt'이면 30초이전이라도 매수주문
- 당연히 미완성신호에서 주문발생시 해당 분봉에서 완성신호시에 주문 발생 안함
- 예스스팟에서 dayindex 처리가 안된다면, 당일시초가 발생후 30초와 같은 개념임
2) 첫봉을 제외하고 다른 시점에서는 완성신호에 의한 매수주문
function Main_OnStart()
{
Start = 0;
}
function Chart1_OnRiseSignal(Signal)
{
if (Signal.signalKind == 1)
{
Start = 1;
Account1.OrderBuy(MarketData1.code,Vol,Signal.price,0);
}
....
..
....
차트 신호발생에 의한 수식중 매수진입부분인데, 이 수식을 위의 설명과 같이
dayindex==0 신호발생시 미완성신호 최초발생후 30초 경과후 매수주문 또는
dayindex==0 신호발생시 미완성신호 최초발생후 30초 이전 '시초가-0.3pt'라면 매수주문
(미완성신호에서 주문 발생시 해당 완성봉에서 주문발생 안함)
첫봉이외에는 완성신호에 의한 주문형태로 수정 부탁드립니다.
4월이 시작되고, 오늘은 봄비가 내리네요...
오늘도 행복한 시간되시기를 바라며,
감사합니다 !!!