커뮤니티
자세한 주석부탁합니다.
2012-04-05 23:17:09
334
글번호 49784
안녕하세요? 번거롭게 해드려서 죄송합니다.
시스템식을 공부하고 있습니다만 기초가 부족해서 ~~~~~
아래의 식은 손익을 누적하는 게시판의 식의 일부분입니다.
자세한 해석 부탁드립니다.
특히, count 와 cnt 의 기능이 어떻케 틀리는지도 설명부탁합니다.
죄송합니다.....
var : PLR(0),XCommission(0),XSlippage(0),OpenPL(0),dayPL(0),count(0),cnt(0);
#당일누적손익계산 시작
XCommission = ((C*ExitCommission)/100)*CurrentContracts; #%설정
XSlippage = (ExitSlippage)*CurrentContracts; #Pt설정
PLR = 0;
count = 0;
for cnt = 0 to 10{
if sdate == EntryDate(cnt) Then{
count = count+1;
if cnt > 0 Then
PLR = PLR+PositionProfit(cnt);
}
}
if MarketPosition() == 0 Then{
OpenPL = 0;
dayPL = PLR;
}
Else{
OpenPL = (PositionProfit-(XCommission+XSlippage));
dayPL = PLR+OpenPL;
}
답변 1
예스스탁 예스스탁 답변
2012-04-06 10:49:45
안녕하세요
예스스탁입니다.
식에서 cnt는 0부터 10까지의 숫자를 저장하는 변수이고
count는 if문의 조건이 만족하는 횟수(당일 진입횟수)를 계산해서 저장하는 변수입니다.
cnt에 0에서부터 10까지 (0,1,2,3,4,5,6,7,8,9,10) 숫자를 한번씩 저장할 때마다
저장받은 cnt값으로 아래 조건이 만족하는지 판단하고
if sdate == EntryDate(cnt) Then{
해당 조건을 만족하면 count에 1씩 추가하여 그 횟수를 계산하는 것입니다.
var : PLR(0),XCommission(0),XSlippage(0),OpenPL(0),dayPL(0),count(0),cnt(0);
#당일누적손익계산 시작
XCommission = ((C*ExitCommission)/100)*CurrentContracts; #%설정
XSlippage = (ExitSlippage)*CurrentContracts; #Pt설정
PLR = 0; #for문 시행전에는 0
count = 0;#for문 시행전에는 0
for cnt = 0 to 10{ #cnt에 0~10까지 수를 1씩 증가하면서 한번씩 저장
if sdate == EntryDate(cnt) Then{#cnt에 값이 저장될때 마다 if조건이 만족했는지 판단
count = count+1;#if조건 만족하면 1씩 증가
if cnt > 0 Then #cnt값이 0보다 클때(1이 저장될 때부터)
PLR = PLR+PositionProfit(cnt); #Plr벼수 손익을 저장
}
}
즉 당일 진입횟수나 당일손익을
과거 거래들의 진입날짜와 손익을 가져와 계산하는데
최근 과거 거래는 cnt를 이용해 총 11개 거래의 날짜와 손익을 불러오고
오늘날짜와 비교해 오늘날짜와 같은 거래가 몇번인지 세어 당일 진입횟수를 계산하고
손익은 현재진입된 거래는 제외하고 청산이 모두 완료한 것들에서만 손익을 계산하기 위해
cnt가 0보다 클때 부터 당일날짜와 같은 날짜의 거래의 손익만 저장해 사용하는 것입니다.
즐거운 하루되세요
> 에리조나 님이 쓴 글입니다.
> 제목 : 자세한 주석부탁합니다.
>
안녕하세요? 번거롭게 해드려서 죄송합니다.
시스템식을 공부하고 있습니다만 기초가 부족해서 ~~~~~
아래의 식은 손익을 누적하는 게시판의 식의 일부분입니다.
자세한 해석 부탁드립니다.
특히, count 와 cnt 의 기능이 어떻케 틀리는지도 설명부탁합니다.
죄송합니다.....
var : PLR(0),XCommission(0),XSlippage(0),OpenPL(0),dayPL(0),count(0),cnt(0);
#당일누적손익계산 시작
XCommission = ((C*ExitCommission)/100)*CurrentContracts; #%설정
XSlippage = (ExitSlippage)*CurrentContracts; #Pt설정
PLR = 0;
count = 0;
for cnt = 0 to 10{
if sdate == EntryDate(cnt) Then{
count = count+1;
if cnt > 0 Then
PLR = PLR+PositionProfit(cnt);
}
}
if MarketPosition() == 0 Then{
OpenPL = 0;
dayPL = PLR;
}
Else{
OpenPL = (PositionProfit-(XCommission+XSlippage));
dayPL = PLR+OpenPL;
}
이전글