예스스탁
예스스탁 답변
2020-03-09 14:38:23
안녕하세요
예스스탁입니다.
시스템은 차트에서 신호가 발생하면
시스템 트레이딩 설정창에서 지정한 가격으로 주문이 집행됩니다.
"a. 돌파된 그 단위가격으로 지정가매수 와 같은 경우는 구현 불가능합니다.
종가로 돌파시 매수신호
종가로 돌파시 다음봉시가신호
상승해서 터치시 신호
3가지로만 가능합니다.
주석 처리된 수식들 참고하셔서 수정보완해 사용하시기 바랍니다.
돌파라인별 이름을 부여하는 부분은 구현에 어려운부분들이 있어 제외했습니다.
input : T(3),k(10),vol(1);
var : Line(0),entry(0);
if bdate != bdate[1] Then
entry = 0;
if MarketPosition != 0 and MarketPosition != MarketPosition[1] Then
entry = entry+1;
Line = floor(c);//소숫점 제외한 정수
if stime >= 90500 and stime < 150000 and entry < T then
{
if MarketPosition == 0 and Line > Line[1] Then
{
buy("b1",OnClose,def,vol);
}
//종가돌파 다음봉 시가신호
#if MarketPosition == 0 and Line > Line[1] Then
# buy("b2",AtMarket,def,vol);
//상승해서 터치시 신호
#if MarketPosition == 0 and H < Line+1 Then
# buy("b3",AtStop,Line+1,vol);
}
if MarketPosition == 1 then
{
//돌파라인-k틱이면 손절
ExitLong("bl",AtStop,Line[BarsSinceEntry]-k*PriceScale);
//진입이후 최대 돌파라인에서 -k틱 이하이면 청산
if highest(Line,BarsSinceEntry) > Line[BarsSinceEntry] Then
ExitLong("btr",AtStop,highest(Line,BarsSinceEntry)-k*PriceScale);
/*분할청산
//돌파라인+1포인트에 2계약 청산
if CurrentContracts == MaxContracts then
ExitLong("bx1",AtLimit,Line[BarsSinceEntry]+1,"",2,1);
//2계약 청산 후 돌파라인+1포인트-k틱에 1계약 청산
if CurrentContracts < MaxContracts and highest(Line,BarsSinceEntry) == Line[BarsSinceEntry]+1 then
ExitLong("bx1",AtStop,highest(Line,BarsSinceEntry)-k*PriceScale,"",1,1);
//돌파라인 -k틱에 일괄손절
ExitLong("bx1",AtStop,Line[BarsSinceEntry]-k*PriceScale);
*/
}
SetStopEndofday(150500);
즐거운 하루되세요
> 대단한콩 님이 쓴 글입니다.
> 제목 : 수식질문올립니다
> 감사합니다.
제가 질문을 수정하고있는 중에 바로 답변을 주셔서
다시한번 여쭤봅니다.
너무 많은것을 부탁드리게 되는데 항상 죄송하고 감사합니다.
------
주가지수선물 데이트레이딩 수식을 여쭤봅니다.
분봉상에서
(1)장이 시작하고 오전 9시5분이후부터~ 오후3시까지만 진입을 하고
매매횟수는 T회(예:3회)로 제한을 하고요(피라미딩은 없이)
a.첫거래가 성공시 그날 매매는 종료
b.첫거래가 손절시 2,3..T회거래를 진행
이런 형태로 설계를 하고요
(2)지수가 일포인트 단위가격(예 250,251,252...)
을 돌파(=종가가 돌파하여 안착)하면 매수하는데
(#따로 0.5포인트단위매수 표현법도 추가 지도부탁드립니다^^;)
##매수가격은
a. 돌파된 그 단위가격으로 지정가매수(예:250.00 매수,251.00매수,252.00매수,253.00매수)
b. 돌파된 그 단위가격 - n틱에 지정가로 매수주문
c. 돌파된 후 다음봉시가로 매수
d. 종가돌파는 아니고 그냥 위로 스치기만해도 매수
네가지의 표현방법을 동시에 여쭙고 싶습니다(a,b는 체결이 안될수도 있고 c,d는 무조건체결)
## 매수가격대별 신호명의 분리방안 가능한지요
가장가까운 돌파대상 단위가격(예251) 매수를 매수1
그다음 돌파대상 단위가격(예251+1) 매수를 매수2
그다음 돌파대상 단위가격(예251+2) 매수를 매수3
........
그다음 돌파대상 단위가격(예 251+P)매수를 매수P+1
위와 같이 매수신호명을 가격수준별로 분리하여
표현할수있는 방안도있을지요?^^:;(매수가격수준대별 승률을 구해보기 위해서)
(3)청산
a.손실청산: 돌파된 단위가격(251.00)에서 K틱(예:10틱)빠지면 손절
b.이익청산: 주가가올라 그다음 포인트단위 가격까지 도달(안착 또는 터치모두 인정)후
그 포인트가격에서 K틱빠지면 청산
(예):251.00에 매수===>지수가 올라서 252.00이 되었다가 252-K틱이면 청산
251.00에 매수==> 지수가 올라서 252.00이 되었다가 K틱만큼 안빠지고
계속상승하여 253.00이 되었다가 253-K틱이면청산
##분할청산하는 경우의 처리 및 표현방법
: 또 총한번에 4계약을 251.00이 돌파될때 한번에 진입했다고 가정하고
2계약은 기준단위가 251.00 + 1포인트인 252.00에 청산하고
1계약은 252.00- K틱 또는 253.00에 청산하고
1계약은 단위가격에서 K틱빠지면 청산(제한없이 방치하는 형태)
방식도 표현할 수 있는지 궁금합니다.
(물론, 4계약의 손절은 돌파된 단위가격-K틱에서 일괄손절)
(4)청산되지 아니한 포지션은 장마감전 시각(예:3시5분)에 모두청산을 하는 수식을
어떻게 작성하면 될지 여쭤봅니다.
감사합니다.ㅜ.ㅜ^^*
질문이 너무 깁니다.
잘부탁드립니다.