커뮤니티
당일매매손실합, MaxPositionLoss, GrossLoss
2011-03-29 09:23:18
818
글번호 37038
안녕하세요...
다음 내용에 관하여 설명 부탁드립니다.
1) 금일 발생한 매매분중 손실부분의 합계를 구하여, 그 합계가 -3pt 이하이면
매매지속 -3pt초과면 매매중지를 하는데, 여기서
(1) 금일 최초진입부터 현재 진입후 청산전인 매매의 손실부분을 포함하여,
-3pt 이하면 매매지속 -3pt 초과면 매매중지
(2) 금일 최초진입부터 청산이 완료된 매매의 손실부분이
-3pt 이하면 매매금지 -3pt 초과면 매매중지
이렇게 두가지로 나눠서 수식 부탁드립니다.
2) 포지션함수중 MaxPositionLoss, 전략성과함수중 GrossLoss 라는 것이 있는데,
이 함수들은 어떻게 사용되는 것인지 설명 또는 예를 들어주시면 좋겠습니다.
3) 그리고 이 두가지 함수를 사용하여 위의 1) 내용을 표현할 수도 있는지 알고 싶습니다.
4) 마지막으로 다음과 같이 수식으로 표현했을 때 두가지의 차이점이 무엇인지요
(1) SetstopLoss(1,pointstop);
(2) If MaxPositionLoss(0) <= -1 then {
ExitLong();
ExitShort();
}
이상입니다.
3월도 이제 몇일 안남았네요.. 좋은 마무리 되시기를 바라며,
미리 감사드립니다~
답변 1
예스스탁 예스스탁 답변
2011-03-29 14:42:12
안녕하세요
예스스탁입니다.
1
#################################################
#당일 청산완료된 거래만 계산하여 손익 계산
var : dayPL(0),cnt(0);
dayPL = 0;
for cnt = 1 to 10{
if sdate == EntryDate(cnt) Then{
dayPL = dayPL+PositionProfit(cnt);
}
}
if dayPL >= -3 Then{
if 매수조건 Then
buy();
if 매도조건 Then
Sell();
}
#######################################################
#미청산분 포함하여 당일 누적손익계산
var : PLR(0),XCommission(0),XSlippage(0),OpenPL(0),dayPL(0),cnt(0);
XCommission = ((C*ExitCommission)/100)*CurrentContracts; #%설정
XSlippage = (ExitSlippage)*CurrentContracts; #Pt설정
PLR = 0;
for cnt = 1 to 10{
if sdate == EntryDate(cnt) Then{
PLR = PLR+PositionProfit(cnt);
}
}
if MarketPosition() == 0 Then{
OpenPL = 0;
dayPL = PLR;
}
Else{
OpenPL = (PositionProfit-(XCommission+XSlippage));
dayPL = PLR+OpenPL;
}
if dayPL >= -3 Then{
if 매수조건 Then
buy();
if 매도조건 Then
Sell();
}
2.
MaxPositionLoss(Num)
은 진입이후 최대 손실이 발생했을때의 값입니다.
예를 들어 100에 매수해서 99-98-97-96-97-99(청산) 했다고 가정하면
해당 거래의 손익은 -1이지만 최대로 손실을 보았을 경우에는 -4(96) 가 됩니다.
이 값을 리턴해 주는 것이 MaxPositionLoss이고 MaxPositionLoss(1)은 전거래 MaxPositionLoss(2)는 직전거래 순입니다.
가령 매수이후에 1포인트 이상 손실이 없고 AAA조건이 발생하면 청산과 식을 만들때 사용합니다.
if marketposition == 1 and MaxPositionLoss < -1 and AAA then exitlong();
GrossLoss는 차트전체의 청산완료된 거래 중 손실거래의 손실값을 모아서 리턴해주는 함수입니다.
차트의 봉의 갯수에 따라 영향을 받아 특별히 사용이 많은 함수는 아닙니다.
3.
1번 내용은 (이익+손실)을 합해야 하므로 해당 함수는 적당하지 않습니다.
다만 netprofit을 이용해서는 구현가능하고 좀더 짧게 작성됩니다.
#미청산 거래를 포함한 손익 계산
var : PLR(0),XCommission(0),XSlippage(0),OpenPL(0),dayPL(0),cnt(0);
XCommission = ((C*ExitCommission)/100)*CurrentContracts; #%설정
XSlippage = (ExitSlippage)*CurrentContracts; #Pt설정
if date != date[1] Then
var1 = NetProfit[1];#전일마지막봉 기준 NetProfit
PLR = NetProfit+var1;
if MarketPosition() == 0 Then{
OpenPL = 0;
dayPL = PLR;
}
Else{
OpenPL = (PositionProfit-(XCommission+XSlippage));
dayPL = PLR+OpenPL;
}
if dayPL >= -3 Then{
if 매수조건 Then
buy();
if 매도조건 Then
Sell();
}
#당일 청산완료된 거래만 계산하여 손익 계산
var : dayPL(0);
if date != date[1] Then
var1 = NetProfit[1];#전일마지막봉 기준 NetProfit
dayPL = NetProfit+var1;
if dayPL >= -3 Then{
if 매수조건 Then
buy();
if 매도조건 Then
Sell();
}
4.
(1) SetstopLoss(1,pointstop);
(2) If MaxPositionLoss(0) <= -1 then {
ExitLong();
ExitShort();
}
(1)은 단순 가격관점이고 해당 손절가격이 만족하면 즉시 신호가 발생합니다.
(2)은 봉완성시가 기준이 되고 진입이후의 최고손실이 -1이 만족하면 청산하므로 1포인트 딱 손실일때 청산이 나가지는 않습니다.
예를 들어 100에 매수
다음봉의 저가가 99 종가가 99.5라면 MaxPositionLoss이 1을 만족하므로 종가에 청산됩니다.
즉 청산가격은 99.05입니다.
즐거운 하루되세요
> 새로운세상 님이 쓴 글입니다.
> 제목 : 당일매매손실합, MaxPositionLoss, GrossLoss
> 안녕하세요...
다음 내용에 관하여 설명 부탁드립니다.
1) 금일 발생한 매매분중 손실부분의 합계를 구하여, 그 합계가 -3pt 이하이면
매매지속 -3pt초과면 매매중지를 하는데, 여기서
(1) 금일 최초진입부터 현재 진입후 청산전인 매매의 손실부분을 포함하여,
-3pt 이하면 매매지속 -3pt 초과면 매매중지
(2) 금일 최초진입부터 청산이 완료된 매매의 손실부분이
-3pt 이하면 매매금지 -3pt 초과면 매매중지
이렇게 두가지로 나눠서 수식 부탁드립니다.
2) 포지션함수중 MaxPositionLoss, 전략성과함수중 GrossLoss 라는 것이 있는데,
이 함수들은 어떻게 사용되는 것인지 설명 또는 예를 들어주시면 좋겠습니다.
3) 그리고 이 두가지 함수를 사용하여 위의 1) 내용을 표현할 수도 있는지 알고 싶습니다.
4) 마지막으로 다음과 같이 수식으로 표현했을 때 두가지의 차이점이 무엇인지요
(1) SetstopLoss(1,pointstop);
(2) If MaxPositionLoss(0) <= -1 then {
ExitLong();
ExitShort();
}
이상입니다.
3월도 이제 몇일 안남았네요.. 좋은 마무리 되시기를 바라며,
미리 감사드립니다~
다음글
이전글