커뮤니티
질문입니다.
2018-03-25 14:21:56
268
글번호 117673
선물틱데이터를 이용해 거래를 할려고 합니다.
야간선물도 거래를 하고자 합니다.
당일 오전9:00(정규장시작)부터 익일 오전 5:00(야간장종료)까지를 '1일'단위로 간주하고,
이 '1일'의 총손실이 X 포인트가 넘어간다면, '1일'의 거래를 종료하고자 합니다.
만약, 특정일 '1일'에 X 포인트가 넘는 손실이 발생하였다면, 당일 거래를 중지하고,
다음 거래일의 정규장 시작부터 발생한 신호를 받아 진입하고 싶습니다.
예시로 부탁드립니다.
그리고 주석을 자세히 달아주시길 부탁드립니다.
감사합니다.
답변 1
예스스탁 예스스탁 답변
2018-03-26 16:38:33
안녕하세요
예스스탁입니다.
Input : 당일누적손실(5);
Var : N1(0),dayPl(0),Xcond(false);
#영업일 변경
if Bdate != Bdate[1] Then{
#Xcond변수는 false로 초기화
Xcond = false;
#전일까지의 총손익
N1 = NetProfit[1];
}
#당일손익(청산완료된 거래로만 체크) = 현재기준총손익 - 전일기준총손익
daypl = NetProfit-N1;
#청산발생하고 청산명이 dbl이나 dsl이면 Xcond는 true
if TotalTrades > TotalTrades[1] and
(IsExitName("dbp",1) == true or IsExitName("dbl",1) == true or
IsExitName("dsp",1) == true or IsExitName("dsl",1) == true) then
Xcond = true;
#Xcond가 false일때만 진입
if Xcond == false then{
if crossup(c,ma(c,60)) Then#매수진입조건
buy("b");
if CrossDown(c,ma(C,60)) Then #매도진입조건
sell("s");
}
#매수진입후
if MarketPosition == 1 then{
#매수진입후 당일누적손실에 해당하는 손실이 발생하면 청산
#진입가에서 (당일누적손실+진입전당일손실)/계약수 만큰 하락하면 청산
ExitLong("dbl",AtStop,EntryPrice-((당일누적손실+daypl)/CurrentContracts));
}
if MarketPosition == -1 then{
#매도진입후 당일누적손실에 해당하는 손실이 발생하면 청산
#진입가에서 (당일누적손실+진입전당일손실)/계약수 만큰 상승하면 청산
ExitShort("dsl",AtStop,EntryPrice+((당일누적손실+daypl)/CurrentContracts));
}
즐거운 하루되세요
> yanartas 님이 쓴 글입니다.
> 제목 : 질문입니다.
> 선물틱데이터를 이용해 거래를 할려고 합니다.
야간선물도 거래를 하고자 합니다.
당일 오전9:00(정규장시작)부터 익일 오전 5:00(야간장종료)까지를 '1일'단위로 간주하고,
이 '1일'의 총손실이 X 포인트가 넘어간다면, '1일'의 거래를 종료하고자 합니다.
만약, 특정일 '1일'에 X 포인트가 넘는 손실이 발생하였다면, 당일 거래를 중지하고,
다음 거래일의 정규장 시작부터 발생한 신호를 받아 진입하고 싶습니다.
예시로 부탁드립니다.
그리고 주석을 자세히 달아주시길 부탁드립니다.
감사합니다.