커뮤니티
질문입니다.
2018-01-02 08:58:25
174
글번호 115370
주가지수선물에서 거래하는 시스템을 작성하였습니다.
이 시스템은 오버나잇을 하는 시스템입니다.
여기에 추가할 사항이 있어서 질문합니다.
질문1-1.
새로운 주가 시작되고 그주의 총손실이 X포인트를 넘어가면,
현재 포지션(매수or매도)을 정리합니다.
청산은 봉완성시로 하고 싶습니다.
그리고 그 주는 더이상 거래를 진행하지 않습니다. 포지션이 없는 상태로말이죠.
그 이후 다음주가 시작되면 시스템을 다시 작동시켜 거래하고,
이 역시도 주중 총손실 X포인트의 관리를 받게 만들고 싶습니다.
질문1-2.
질문1-1과 비슷하지만 주중 총손실이 아닌,
총손실 기간을 1일로 하면 코딩이 어떻게 바뀌는지 궁금합니다.
즉, 1일 총손실이 X포인트를 넘어가면,
있는 포지션을 정리하고, 당일은 진입하지 않고, 다음거래일부터 시스템을 시작하는 것이죠.
질문1-3.
역시 질문1-1과 비슷한데 주중 총손실이 아닌,
2주간 총손실이 X포인트가 넘어갈때,
진입 포지션을 정리하고, 해당 2주간은 진입하지 않고,
다음 새로운 2주가 시작되었을때 시스템을 시작하도록 하고싶습니다.
질문2.
질문1과 비슷합니다.
현재 거래일을 포함하여 Y일간의 총손실포인트가 Z포인트를 넘어간다면,
해당 포지션(매수or매도)을 정리합니다.
시간이 흘러 Y일간 총손실포인트가 Z포인트 이내로 들어온다면,
시스템을 제계시킵니다.
질문3.
선물승수가 바뀌었습니다.
바뀐 승수를 적용한 선물 상,하한가 수익,손실 청산 수식이 궁금합니다.
질문4.
2018년 선물만기일 14:00:00에 청산하는 수식을 부탁드립니다.
답변부탁드리겠습니다.
답변 1
예스스탁 예스스탁 답변
2018-01-02 17:04:40
안녕하세요
예스스탁입니다.
1-1
input : X(-5);
var : N1(0),PL(0),Xcond(false);
if DayOfWeek(bdate) < DayOfWeek(bdate[1]) Then{
Xcond = false;
N1 = NetProfit;
}
if TotalTrades > TotalTrades[1] and
(IsExitName("BXPL",1) == true or IsExitName("SXPL",1) == true) Then
Xcond = true;
PL = (NetProfit-N1)+PositionProfit;
if Xcond == false then{
진입수식들;
}
if MarketPosition == 1 and PL <= X Then
ExitLong("BXPL");
if MarketPosition == -1 and PL <= X Then
ExitShort("SXPL");
1-2
input : X(-5);
var : N1(0),PL(0),Xcond(false);
if bdate != bdate[1] Then{
Xcond = false;
N1 = NetProfit;
}
if TotalTrades > TotalTrades[1] and
(IsExitName("BXPL",1) == true or IsExitName("SXPL",1) == true) Then
Xcond = true;
PL = (NetProfit-N1)+PositionProfit;
if Xcond == false then{
진입수식들;
}
if MarketPosition == 1 and PL <= X Then
ExitLong("BXPL");
if MarketPosition == -1 and PL <= X Then
ExitShort("SXPL");
1-3
input : X(-5);
var : N1(0),Xcond(false),cnt(0);
Array : PL[10](0);
if DayOfWeek(bdate) < DayOfWeek(bdate[1]) Then{
Xcond = false;
N1 = NetProfit;
for cnt = 1 to 9{
PL[cnt] = PL[cnt-1][1];
}
}
if TotalTrades > TotalTrades[1] and
(IsExitName("BXPL",1) == true or IsExitName("SXPL",1) == true) Then
Xcond = true;
PL[0] = (NetProfit-N1)+PositionProfit;
if Xcond == false then{
진입수식들;
}
if MarketPosition == 1 and (PL[0]+PL[1]) <= X Then
ExitLong("BXPL");
if MarketPosition == -1 and (PL[0]+PL[1]) <= X Then
ExitShort("SXPL");
2
input : X(-5),y(3);
var : N1(0),Xcond(false),cnt(0),sum(0);
Array : PL[10](0);
if bdate != bdate[1] Then{
N1 = NetProfit;
for cnt = 1 to 9{
PL[cnt] = PL[cnt-1][1];
}
}
PL[0] = (NetProfit-N1)+PositionProfit;
sum = 0;
for cnt = 0 to y-1{
sum = sum + PL[cnt];
}
if sum > X then{
진입수식들;
}
if MarketPosition == 1 and (PL[0]+PL[1]) <= X Then
ExitLong("BXPL");
if MarketPosition == -1 and (PL[0]+PL[1]) <= X Then
ExitShort("SXPL");
3
선물상하한가의 경우 첨부된 그림과 같이 3단계가 있습니다.
원하시는 단계로 값 지정하시면 됩니다.
수식은 1단계로 지정해 드립니다.
var : 상한가1(0),하한가1(0);
var : 상한가2(0),하한가2(0);
var : 상한가3(0),하한가3(0);
상한가1 = int(bp*1.08/0.05+0.00001)*0.05;
하한가1 = BP-int(BP*0.08/0.05)*0.05;
상한가2 = int(bp*1.15/0.05+0.00001)*0.05;
하한가2 = BP-int(BP*0.15/0.05)*0.05;
상한가3 = int(bp*1.20/0.05+0.00001)*0.05;
하한가3 = BP-int(BP*0.20/0.05)*0.05;
if MarketPosition == 1 Then{
exitlong("bx1",atlimit,상한가1);
exitlong("bx2",AtStop,하한가1);
}
4
if sdate == 20180308 or
sdate == 20180614 or
sdate == 20180913 or
sdate == 20181213 Then
SetStopEndofday(140000);
Else
SetStopEndofday(0);
새해 복 많이 받으세요
> yanartas 님이 쓴 글입니다.
> 제목 : 질문입니다.
> 주가지수선물에서 거래하는 시스템을 작성하였습니다.
이 시스템은 오버나잇을 하는 시스템입니다.
여기에 추가할 사항이 있어서 질문합니다.
질문1-1.
새로운 주가 시작되고 그주의 총손실이 X포인트를 넘어가면,
현재 포지션(매수or매도)을 정리합니다.
청산은 봉완성시로 하고 싶습니다.
그리고 그 주는 더이상 거래를 진행하지 않습니다. 포지션이 없는 상태로말이죠.
그 이후 다음주가 시작되면 시스템을 다시 작동시켜 거래하고,
이 역시도 주중 총손실 X포인트의 관리를 받게 만들고 싶습니다.
질문1-2.
질문1-1과 비슷하지만 주중 총손실이 아닌,
총손실 기간을 1일로 하면 코딩이 어떻게 바뀌는지 궁금합니다.
즉, 1일 총손실이 X포인트를 넘어가면,
있는 포지션을 정리하고, 당일은 진입하지 않고, 다음거래일부터 시스템을 시작하는 것이죠.
질문1-3.
역시 질문1-1과 비슷한데 주중 총손실이 아닌,
2주간 총손실이 X포인트가 넘어갈때,
진입 포지션을 정리하고, 해당 2주간은 진입하지 않고,
다음 새로운 2주가 시작되었을때 시스템을 시작하도록 하고싶습니다.
질문2.
질문1과 비슷합니다.
현재 거래일을 포함하여 Y일간의 총손실포인트가 Z포인트를 넘어간다면,
해당 포지션(매수or매도)을 정리합니다.
시간이 흘러 Y일간 총손실포인트가 Z포인트 이내로 들어온다면,
시스템을 제계시킵니다.
질문3.
선물승수가 바뀌었습니다.
바뀐 승수를 적용한 선물 상,하한가 수익,손실 청산 수식이 궁금합니다.
질문4.
2018년 선물만기일 14:00:00에 청산하는 수식을 부탁드립니다.
답변부탁드리겠습니다.
이전글