커뮤니티
당일 손실 제어
2009-11-09 10:29:26
939
글번호 25994
안녕하세요.
수식 문의 드립니다.
총 4가지 수식인데 내용이 약간 다릅니다.
-----------------------
다음과 같은 수식이 있다고 가정하고 (리버스로 조건만족시 연속매매)
if stime>093000 and stime<143000 then {
if 조건1 then buy();
if 조건2 then sell();
}
setstoploss(1,percentstop);
setstopendofday();
선물을 기준으로 당일 진입이 여러번(10번이하)일 경우, <-- 이부분도 수식에 포함
1) 첫매매부터 시작하여 누적하여, 당일 손실point가 2point를 초과하면
당일 추가매매 중단함
예를들어, 1번매매 : +0.70
2번매매 : -1.50
3번매매 : -1.50 --> 당일 3번매매에서 매매중단
2) 첫매매부터 시작하여 누적하여, 당일 손실point가 수익부분을 제외하고
2point를 초과하면 당일 추가매매 중단함
예를들어, 1번매매 : +0.70
2번매매 : -1.50
3번매매 : +1.00
4번매매 : -0.60 --> 당일 4번매매에서 매매중단
1), 2)의 수식 작성시 stoploss로 발생하는 손실도 포함하려고 하면
setstoploss()의 위치를 어떻게 해야 하는지도 함께 고려해주시기 바랍니다.
즉, 조건1 조건2에 의한 매매결과+stoploss에 의한 손실이 2pt초과하면
매매중단한다는 의미입니다.
--------------------------------
또 다른 수식은...
1), 2)의 경우 누적 손실금 2point라는 것을 (즉 상수로 정해져 있는 상태를)
전일종가대비 1%로 바꿔서 적용하려면 수식을 어떻게 작성해야 하는지도 아울러
부탁드리겠습니다.
예를들어 전일선물종가지수가 210pt였다면 손실기준점은 2.10pt로
195pt였다면 손실기준점은 1.95pt로 변한다는 의미입니다.
마지막으로 시뮬레이션에서 누적손실금 계산시 설정된 수수료와 슬리피지도
함께 계산되는지,
실매매에서도 실제발생하는 수수료와 슬리피지가 포함되어 계산되는지 궁금합니다.
--------------------------
번거로우시겠지만 잘 부탁드리겠습니다.
감사합니다.
답변 3
예스스탁 예스스탁 답변
2009-11-09 14:03:29
안녕하세요
예스스탁입니다.
1.
var : PLR(0),XCommission(0),XSlippage(0),OpenPL(0),dayPL(0),count(0);
XCommission = ((C*ExitCommission)/100)*CurrentContracts; #%설정
XSlippage = (ExitSlippage)*CurrentContracts; #Pt설정
PLR = 0;
count = 0;
for var1 = 0 to 20{
if sdate == EntryDate(var1) Then{
count = count+1;
}
if count > 0 and sdate == EntryDate(var1) Then{
PLR = PLR+PositionProfit(var1);
}
}
if MarketPosition == 0 Then{
OpenPL = 0;
dayPL = PLR;
}
Else{
OpenPL = (PositionProfit-(XCommission+XSlippage));
dayPL = PLR+OpenPL;
}
if stime>093000 and stime<143000 and
count < 10 and
dayPl > -2 then {
if 조건1 then buy();
if 조건2 then sell();
}
setstoploss(1,percentstop);
setstopendofday(150000);
2. 전일종가 1%
var : PLR(0),XCommission(0),XSlippage(0),OpenPL(0),dayPL(0),count(0);
XCommission = ((C*ExitCommission)/100)*CurrentContracts; #%설정
XSlippage = (ExitSlippage)*CurrentContracts; #Pt설정
PLR = 0;
count = 0;
for var1 = 0 to 20{
if sdate == EntryDate(var1) Then{
count = count+1;
}
if count > 0 and sdate == EntryDate(var1) Then{
PLR = PLR+PositionProfit(var1);
}
}
if MarketPosition == 0 Then{
OpenPL = 0;
dayPL = PLR;
}
Else{
OpenPL = (PositionProfit-(XCommission+XSlippage));
dayPL = PLR+OpenPL;
}
if stime>093000 and stime<143000 and
count < 10 and
dayPl > -(dayclose(1)*0.01) then {
if 조건1 then buy();
if 조건2 then sell();
}
setstoploss(1,percentstop);
setstopendofday(150000);
즐거운 하루되세요
> 새로운세상 님이 쓴 글입니다.
> 제목 : 당일 손실 제어
> 안녕하세요.
수식 문의 드립니다.
총 4가지 수식인데 내용이 약간 다릅니다.
-----------------------
다음과 같은 수식이 있다고 가정하고 (리버스로 조건만족시 연속매매)
if stime>093000 and stime<143000 then {
if 조건1 then buy();
if 조건2 then sell();
}
setstoploss(1,percentstop);
setstopendofday();
선물을 기준으로 당일 진입이 여러번(10번이하)일 경우, <-- 이부분도 수식에 포함
1) 첫매매부터 시작하여 누적하여, 당일 손실point가 2point를 초과하면
당일 추가매매 중단함
예를들어, 1번매매 : +0.70
2번매매 : -1.50
3번매매 : -1.50 --> 당일 3번매매에서 매매중단
2) 첫매매부터 시작하여 누적하여, 당일 손실point가 수익부분을 제외하고
2point를 초과하면 당일 추가매매 중단함
예를들어, 1번매매 : +0.70
2번매매 : -1.50
3번매매 : +1.00
4번매매 : -0.60 --> 당일 4번매매에서 매매중단
1), 2)의 수식 작성시 stoploss로 발생하는 손실도 포함하려고 하면
setstoploss()의 위치를 어떻게 해야 하는지도 함께 고려해주시기 바랍니다.
즉, 조건1 조건2에 의한 매매결과+stoploss에 의한 손실이 2pt초과하면
매매중단한다는 의미입니다.
--------------------------------
또 다른 수식은...
1), 2)의 경우 누적 손실금 2point라는 것을 (즉 상수로 정해져 있는 상태를)
전일종가대비 1%로 바꿔서 적용하려면 수식을 어떻게 작성해야 하는지도 아울러
부탁드리겠습니다.
예를들어 전일선물종가지수가 210pt였다면 손실기준점은 2.10pt로
195pt였다면 손실기준점은 1.95pt로 변한다는 의미입니다.
마지막으로 시뮬레이션에서 누적손실금 계산시 설정된 수수료와 슬리피지도
함께 계산되는지,
실매매에서도 실제발생하는 수수료와 슬리피지가 포함되어 계산되는지 궁금합니다.
--------------------------
번거로우시겠지만 잘 부탁드리겠습니다.
감사합니다.
새로운세상
2009-11-09 16:08:36
수식 너무 감사합니다..
많은 도움이 되었습니다~
그런데 한가지 내용이 빠져 있어서 다시 한번 질문드립니다.
--------------------
현재 수식은 당일 첫매매부터 수익과 손실을 누적하여
일정손실을 초과하지 않는 수식으로 생각됩니다.
그런데 아래 2)에서 질문드린, 당일 첫매매부터 시작하여 수익발생부분은 제외하고
손실발생분만 누적하여 2pt를 초과하면 당일매매를 중단하는 수식은 빠져있네요..
번거로우시겠지만 재부탁 드립니다.
________________________
추가로 질문이 있는데, 수식에서
XCommission = ((C*ExitCommission)/100)*CurrentContracts; #%설정
XSlippage = (ExitSlippage)*CurrentContracts; #Pt설정
여기서 선물2계약 기준일 때 %와 pt설정을 하라는 의미는
예를들어 수수료: 0.004%, 진입청산 슬리피지 : 0.025pt 일 경우
XCommission = ((C*0.004)/100)*2; #%설정
XSlippage = (0.025)*2; #Pt설정
이렇게 작성하라는 뜻인지요?
(이때 시스템트레이딩 설정에서 '비용/수량' 부분은 따로 정해주지 않아도
되는 것인지도 설명해주시면 감사하겠습니다)
-----------------------
작성해주신 수식 감사하다는 말씀 다시 한번 드리며,
남은 오후시간 즐거운 시간되시기를 바랍니다~
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 당일 손실 제어
> 안녕하세요
예스스탁입니다.
1.
var : PLR(0),XCommission(0),XSlippage(0),OpenPL(0),dayPL(0),count(0);
XCommission = ((C*ExitCommission)/100)*CurrentContracts; #%설정
XSlippage = (ExitSlippage)*CurrentContracts; #Pt설정
PLR = 0;
count = 0;
for var1 = 0 to 20{
if sdate == EntryDate(var1) Then{
count = count+1;
}
if count > 0 and sdate == EntryDate(var1) Then{
PLR = PLR+PositionProfit(var1);
}
}
if MarketPosition == 0 Then{
OpenPL = 0;
dayPL = PLR;
}
Else{
OpenPL = (PositionProfit-(XCommission+XSlippage));
dayPL = PLR+OpenPL;
}
if stime>093000 and stime<143000 and
count < 10 and
dayPl > -2 then {
if 조건1 then buy();
if 조건2 then sell();
}
setstoploss(1,percentstop);
setstopendofday(150000);
2. 전일종가 1%
var : PLR(0),XCommission(0),XSlippage(0),OpenPL(0),dayPL(0),count(0);
XCommission = ((C*ExitCommission)/100)*CurrentContracts; #%설정
XSlippage = (ExitSlippage)*CurrentContracts; #Pt설정
PLR = 0;
count = 0;
for var1 = 0 to 20{
if sdate == EntryDate(var1) Then{
count = count+1;
}
if count > 0 and sdate == EntryDate(var1) Then{
PLR = PLR+PositionProfit(var1);
}
}
if MarketPosition == 0 Then{
OpenPL = 0;
dayPL = PLR;
}
Else{
OpenPL = (PositionProfit-(XCommission+XSlippage));
dayPL = PLR+OpenPL;
}
if stime>093000 and stime<143000 and
count < 10 and
dayPl > -(dayclose(1)*0.01) then {
if 조건1 then buy();
if 조건2 then sell();
}
setstoploss(1,percentstop);
setstopendofday(150000);
즐거운 하루되세요
> 새로운세상 님이 쓴 글입니다.
> 제목 : 당일 손실 제어
> 안녕하세요.
수식 문의 드립니다.
총 4가지 수식인데 내용이 약간 다릅니다.
-----------------------
다음과 같은 수식이 있다고 가정하고 (리버스로 조건만족시 연속매매)
if stime>093000 and stime<143000 then {
if 조건1 then buy();
if 조건2 then sell();
}
setstoploss(1,percentstop);
setstopendofday();
선물을 기준으로 당일 진입이 여러번(10번이하)일 경우, <-- 이부분도 수식에 포함
1) 첫매매부터 시작하여 누적하여, 당일 손실point가 2point를 초과하면
당일 추가매매 중단함
예를들어, 1번매매 : +0.70
2번매매 : -1.50
3번매매 : -1.50 --> 당일 3번매매에서 매매중단
2) 첫매매부터 시작하여 누적하여, 당일 손실point가 수익부분을 제외하고
2point를 초과하면 당일 추가매매 중단함
예를들어, 1번매매 : +0.70
2번매매 : -1.50
3번매매 : +1.00
4번매매 : -0.60 --> 당일 4번매매에서 매매중단
1), 2)의 수식 작성시 stoploss로 발생하는 손실도 포함하려고 하면
setstoploss()의 위치를 어떻게 해야 하는지도 함께 고려해주시기 바랍니다.
즉, 조건1 조건2에 의한 매매결과+stoploss에 의한 손실이 2pt초과하면
매매중단한다는 의미입니다.
--------------------------------
또 다른 수식은...
1), 2)의 경우 누적 손실금 2point라는 것을 (즉 상수로 정해져 있는 상태를)
전일종가대비 1%로 바꿔서 적용하려면 수식을 어떻게 작성해야 하는지도 아울러
부탁드리겠습니다.
예를들어 전일선물종가지수가 210pt였다면 손실기준점은 2.10pt로
195pt였다면 손실기준점은 1.95pt로 변한다는 의미입니다.
마지막으로 시뮬레이션에서 누적손실금 계산시 설정된 수수료와 슬리피지도
함께 계산되는지,
실매매에서도 실제발생하는 수수료와 슬리피지가 포함되어 계산되는지 궁금합니다.
--------------------------
번거로우시겠지만 잘 부탁드리겠습니다.
감사합니다.
예스스탁 예스스탁 답변
2009-11-09 16:15:10
안녕하세요
예스스탁입니다.
죄송합니다. 문의하신 내용 포함한 식입니다.
1.
var : PLR(0),XCommission(0),XSlippage(0),OpenPL(0),dayPL(0),count(0);
XCommission = ((C*ExitCommission)/100)*CurrentContracts; #%설정
XSlippage = (ExitSlippage)*CurrentContracts; #Pt설정
PLR = 0;
count = 0;
for var1 = 0 to 20{
if sdate == EntryDate(var1) Then{
count = count+1;
}
if count > 0 and sdate == EntryDate(var1) and PositionProfit(var1) < 0 Then{
PLR = PLR+PositionProfit(var1);
}
}
if MarketPosition == 0 Then{
OpenPL = 0;
dayPL = PLR;
}
Else{
OpenPL = (PositionProfit-(XCommission+XSlippage));
if OpenPL < 0 Then
dayPL = PLR+OpenPL;
}
if stime>093000 and stime<143000 and
count < 10 and
dayPl > -2 then {
if 조건1 then buy();
if 조건2 then sell();
}
setstoploss(1,percentstop);
setstopendofday(150000);
2.
var : PLR(0),XCommission(0),XSlippage(0),OpenPL(0),dayPL(0),count(0);
XCommission = ((C*ExitCommission)/100)*CurrentContracts; #%설정
XSlippage = (ExitSlippage)*CurrentContracts; #Pt설정
PLR = 0;
count = 0;
for var1 = 0 to 20{
if sdate == EntryDate(var1) Then{
count = count+1;
}
if count > 0 and sdate == EntryDate(var1) and PositionProfit(var1) < 0 Then{
PLR = PLR+PositionProfit(var1);
}
}
if MarketPosition == 0 Then{
OpenPL = 0;
dayPL = PLR;
}
Else{
OpenPL = (PositionProfit-(XCommission+XSlippage));
if OpenPL < 0 Then
dayPL = PLR+OpenPL;
}
if stime>093000 and stime<143000 and
count < 10 and
dayPl > -(dayclose(1)*0.01) then {
if 조건1 then buy();
if 조건2 then sell();
}
setstoploss(1,percentstop);
setstopendofday(150000);
즐거운 하루되세요
> 새로운세상 님이 쓴 글입니다.
> 제목 : Re : Re : 당일 손실 제어
> 수식 너무 감사합니다..
많은 도움이 되었습니다~
그런데 한가지 내용이 빠져 있어서 다시 한번 질문드립니다.
--------------------
현재 수식은 당일 첫매매부터 수익과 손실을 누적하여
일정손실을 초과하지 않는 수식으로 생각됩니다.
그런데 아래 2)에서 질문드린, 당일 첫매매부터 시작하여 수익발생부분은 제외하고
손실발생분만 누적하여 2pt를 초과하면 당일매매를 중단하는 수식은 빠져있네요..
번거로우시겠지만 재부탁 드립니다.
________________________
추가로 질문이 있는데, 수식에서
XCommission = ((C*ExitCommission)/100)*CurrentContracts; #%설정
XSlippage = (ExitSlippage)*CurrentContracts; #Pt설정
여기서 선물2계약 기준일 때 %와 pt설정을 하라는 의미는
예를들어 수수료: 0.004%, 진입청산 슬리피지 : 0.025pt 일 경우
XCommission = ((C*0.004)/100)*2; #%설정
XSlippage = (0.025)*2; #Pt설정
이렇게 작성하라는 뜻인지요?
(이때 시스템트레이딩 설정에서 '비용/수량' 부분은 따로 정해주지 않아도
되는 것인지도 설명해주시면 감사하겠습니다)
-----------------------
작성해주신 수식 감사하다는 말씀 다시 한번 드리며,
남은 오후시간 즐거운 시간되시기를 바랍니다~
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 당일 손실 제어
> 안녕하세요
예스스탁입니다.
1.
var : PLR(0),XCommission(0),XSlippage(0),OpenPL(0),dayPL(0),count(0);
XCommission = ((C*ExitCommission)/100)*CurrentContracts; #%설정
XSlippage = (ExitSlippage)*CurrentContracts; #Pt설정
PLR = 0;
count = 0;
for var1 = 0 to 20{
if sdate == EntryDate(var1) Then{
count = count+1;
}
if count > 0 and sdate == EntryDate(var1) Then{
PLR = PLR+PositionProfit(var1);
}
}
if MarketPosition == 0 Then{
OpenPL = 0;
dayPL = PLR;
}
Else{
OpenPL = (PositionProfit-(XCommission+XSlippage));
dayPL = PLR+OpenPL;
}
if stime>093000 and stime<143000 and
count < 10 and
dayPl > -2 then {
if 조건1 then buy();
if 조건2 then sell();
}
setstoploss(1,percentstop);
setstopendofday(150000);
2. 전일종가 1%
var : PLR(0),XCommission(0),XSlippage(0),OpenPL(0),dayPL(0),count(0);
XCommission = ((C*ExitCommission)/100)*CurrentContracts; #%설정
XSlippage = (ExitSlippage)*CurrentContracts; #Pt설정
PLR = 0;
count = 0;
for var1 = 0 to 20{
if sdate == EntryDate(var1) Then{
count = count+1;
}
if count > 0 and sdate == EntryDate(var1) Then{
PLR = PLR+PositionProfit(var1);
}
}
if MarketPosition == 0 Then{
OpenPL = 0;
dayPL = PLR;
}
Else{
OpenPL = (PositionProfit-(XCommission+XSlippage));
dayPL = PLR+OpenPL;
}
if stime>093000 and stime<143000 and
count < 10 and
dayPl > -(dayclose(1)*0.01) then {
if 조건1 then buy();
if 조건2 then sell();
}
setstoploss(1,percentstop);
setstopendofday(150000);
즐거운 하루되세요
> 새로운세상 님이 쓴 글입니다.
> 제목 : 당일 손실 제어
> 안녕하세요.
수식 문의 드립니다.
총 4가지 수식인데 내용이 약간 다릅니다.
-----------------------
다음과 같은 수식이 있다고 가정하고 (리버스로 조건만족시 연속매매)
if stime>093000 and stime<143000 then {
if 조건1 then buy();
if 조건2 then sell();
}
setstoploss(1,percentstop);
setstopendofday();
선물을 기준으로 당일 진입이 여러번(10번이하)일 경우, <-- 이부분도 수식에 포함
1) 첫매매부터 시작하여 누적하여, 당일 손실point가 2point를 초과하면
당일 추가매매 중단함
예를들어, 1번매매 : +0.70
2번매매 : -1.50
3번매매 : -1.50 --> 당일 3번매매에서 매매중단
2) 첫매매부터 시작하여 누적하여, 당일 손실point가 수익부분을 제외하고
2point를 초과하면 당일 추가매매 중단함
예를들어, 1번매매 : +0.70
2번매매 : -1.50
3번매매 : +1.00
4번매매 : -0.60 --> 당일 4번매매에서 매매중단
1), 2)의 수식 작성시 stoploss로 발생하는 손실도 포함하려고 하면
setstoploss()의 위치를 어떻게 해야 하는지도 함께 고려해주시기 바랍니다.
즉, 조건1 조건2에 의한 매매결과+stoploss에 의한 손실이 2pt초과하면
매매중단한다는 의미입니다.
--------------------------------
또 다른 수식은...
1), 2)의 경우 누적 손실금 2point라는 것을 (즉 상수로 정해져 있는 상태를)
전일종가대비 1%로 바꿔서 적용하려면 수식을 어떻게 작성해야 하는지도 아울러
부탁드리겠습니다.
예를들어 전일선물종가지수가 210pt였다면 손실기준점은 2.10pt로
195pt였다면 손실기준점은 1.95pt로 변한다는 의미입니다.
마지막으로 시뮬레이션에서 누적손실금 계산시 설정된 수수료와 슬리피지도
함께 계산되는지,
실매매에서도 실제발생하는 수수료와 슬리피지가 포함되어 계산되는지 궁금합니다.
--------------------------
번거로우시겠지만 잘 부탁드리겠습니다.
감사합니다.
다음글
이전글