커뮤니티
시스템식을 우리말로 번역해세요.
2014-09-22 21:47:03
183
글번호 78742
안녕하세요?
시스템트레이딩을 준비하면서 로직을 작성하는 방법을 배우고 있습니다.
다음과 같은 시스템식을 우리가 사용하는 말로 번역해주시면 고맙겠습니다.
용어도 생소하고 수식 작성도 생소해 부탁드립니다.
감사합니다.
var : PLR(0),XCommission(0),XSlippage(0),OpenPL(0),dayPL(0),count(0);
XCommission = PositionProfit-(XCommission+XSlippage)*CurrentContracts; #%설정
XSlippage = ExitSlippage; #Pt설정
PLR = 0;
count = 0;
for var1 = 1 to 10{
if sdate == EntryDate(var1) Then{
count = count+1;
PLR = PLR+PositionProfit(var1);
}
}
OpenPL = (PositionProfit-(XCommission+XSlippage)*CurrentContracts);
if MarketPosition() == 0 Then{
OpenPL = 0;
dayPL = PLR;
}
Else{
OpenPL = (PositionProfit-(XCommission+XSlippage)*CurrentContracts);
dayPL = PLR+OpenPL;
}
if crossup(c,ma(c,20)) and dayPL > -2 Then
buy("b");
if CrossDown(c,ma(c,20)) Then{
exitlong("s");
}
if MarketPosition() == 1 and dayPL < -2 Then
exitlong("XX");
답변 1
예스스탁 예스스탁 답변
2014-09-24 09:23:04
안녕하세요
예스스탁입니다.
올리신 내용은
20이평을 상향돌파하면 매수
20이평을 하향이탈하면 매수청산하는 식입니다.
당일손익이 -2포인트를 넘어가면 청산하고 그날의 거래를 끝내는 식입니다.
시스템의 손익에는 시스템 트레이딩 설정창의
비용/수량탭에서 지정한 수수료와 슬리피지가 반영이 되는데
이 값을 가져와 현재 손익에서 차감해서
비용부분을 감안한 손익으로 계산을 합니다.
식이 조금 오래전 버전에서 작성된 식이므로
같은 내용인데 좀더 간단한 내용으로 변경해 드리고
주석을 붙여 드립니다.
var : NP(0),PreNP(0),dayPL(0);
//전체거래 손익(청산된 거래만)
NP = NetProfit;
//전일 전체거래 손익
if date != date[1] Then
PreNP = NetProfit;
#현재 (전거래손익 - 전일전체거래손익) + 현재진입중인 포지션의 손익
dayPL = NP-PreNP+PositionProfit;
#종가가 20이평을 상향돌파하면 매수(단 당일손익은 -2포인트를 넘지 않을 때만)
if crossup(c,ma(c,20)) and dayPL > -2 Then
buy("b");
#종가가 20이평을 상향돌파하면 매수청산
if CrossDown(c,ma(c,20)) Then{
exitlong("s");
}
#매수진입 후 당일손익이 -2포인트가 크게 발생하면 매수청산
if MarketPosition() == 1 and dayPL < -2 Then
exitlong("XX");
즐거운 하루되세요
> 짙은안개 님이 쓴 글입니다.
> 제목 : 시스템식을 우리말로 번역해세요.
> 안녕하세요?
시스템트레이딩을 준비하면서 로직을 작성하는 방법을 배우고 있습니다.
다음과 같은 시스템식을 우리가 사용하는 말로 번역해주시면 고맙겠습니다.
용어도 생소하고 수식 작성도 생소해 부탁드립니다.
감사합니다.
var : PLR(0),XCommission(0),XSlippage(0),OpenPL(0),dayPL(0),count(0);
XCommission = PositionProfit-(XCommission+XSlippage)*CurrentContracts; #%설정
XSlippage = ExitSlippage; #Pt설정
PLR = 0;
count = 0;
for var1 = 1 to 10{
if sdate == EntryDate(var1) Then{
count = count+1;
PLR = PLR+PositionProfit(var1);
}
}
OpenPL = (PositionProfit-(XCommission+XSlippage)*CurrentContracts);
if MarketPosition() == 0 Then{
OpenPL = 0;
dayPL = PLR;
}
Else{
OpenPL = (PositionProfit-(XCommission+XSlippage)*CurrentContracts);
dayPL = PLR+OpenPL;
}
if crossup(c,ma(c,20)) and dayPL > -2 Then
buy("b");
if CrossDown(c,ma(c,20)) Then{
exitlong("s");
}
if MarketPosition() == 1 and dayPL < -2 Then
exitlong("XX");
이전글