커뮤니티
netprofit 문의.
2010-01-27 11:23:43
719
글번호 27698
당일 청산종료시점에서 netprofit이 50만원이상이면 신호가 안나오게 하려고 합니다.
그래서 매수와 매도식 위아래로..
if NetProfit<500000 then {
매도식;
매수식;}
이런식으로 설정을 했습니다.
그런데 생각해보니 Netprofit이 당일매매손실이 아니고 전체의 손실일수도 있겠단 생각이 드네요.
하루 1포이상을 하면 매매를 종료하고싶을때
이런식으로 하면되는지
아니면 진입과 청산의 모든 가격을 저장하여 계산을 해야하는지 알고싶습니다.
그럼 답변 기다리겠습니다.
답변 3
예스스탁 예스스탁 답변
2010-01-27 13:36:34
안녕하세요
예스스탁입니다.
NetProfit은 말씀하신 바와 같이 당일손익이 아니고
전체손익입니다. 또한 청산 종결된 수익만이 반영되므로
실제 현재진행중인 포지션에 관해서는 반영되지 않습니다.
아래와 같이 식을 작성하시면 당일 손익을 구하실 수 있습니다.
변수 daypl이 당일 손익입니다.
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 = 1 to 10{
if sdate == EntryDate(var1) Then{
count = count+1;
PLR = PLR+PositionProfit(var1);
}
}
if MarketPosition() == 0 Then{
OpenPL = 0;
dayPL = PLR;
}
Else{
OpenPL = (PositionProfit-(XCommission+XSlippage));
dayPL = PLR+OpenPL;
}
if crossup(c,ma(c,20)) and dayPL < 1 Then
buy("b");
if CrossDown(c,ma(c,20)) Then{
exitlong("s");
}
if MarketPosition() == 1 and dayPL >= 1 Then
exitlong("XX");
참고하시기 바랍니다.
즐거운 하루되세요
> 천억벌자 님이 쓴 글입니다.
> 제목 : netprofit 문의.
> 당일 청산종료시점에서 netprofit이 50만원이상이면 신호가 안나오게 하려고 합니다.
그래서 매수와 매도식 위아래로..
if NetProfit<500000 then {
매도식;
매수식;}
이런식으로 설정을 했습니다.
그런데 생각해보니 Netprofit이 당일매매손실이 아니고 전체의 손실일수도 있겠단 생각이 드네요.
하루 1포이상을 하면 매매를 종료하고싶을때
이런식으로 하면되는지
아니면 진입과 청산의 모든 가격을 저장하여 계산을 해야하는지 알고싶습니다.
그럼 답변 기다리겠습니다.
천억벌자
2010-01-27 21:44:48
제가 하고싶은것은 포지션 청산후 1포이상일때 더이상 진입하지 않는것입니다.
포지션을 들고있을때 더 갈수도 있는것이고요. 청산식에 따라 청산을 하되
1포이상 수익이면 진입하지않는것이지요.
우선 슬리피지와 수수료구하는것은 이해가갑니다.
그런데 그다음에 나온 루프문은 이해가 안가는군요.
느낌상은 오버포지션이 있을시 10일전까지만 체크하는것 같은데 count는 왜 누적을 하는지요? 다른데 쓰는곳도 따로 없어보입니다만..
PLR = PLR+PositionProfit(var1); <--요넘도 전의 포지션수익인거 같은데 왜 10까지 누적을 하는지도 잘 이해가..ㅡ.ㅡ
어쨋든..써주신것을 참고로 해서 제가 식을 만든다면..아 전 데이시스템입니다. 오버포지션은 없습니다.
그럼 이런식으로 해도 될것같은데 맞는지요?
if date != date[1] then {
var1 = netprofit; //전일까지의 손익<--요넘이 전일까지의 수익이면 문제는쉬워보이는데..ㅡ.ㅡ
if (netprofit-(var1)-(진입횟수 * (수수료+슬리피지) < 500000 then { //전체손익에서 전일을 제외함
매도식;
매수식;}
청산식;
아..그리고 netprofit에는 수수료와 슬리피지는 제외인지요?
지표로 검증이 안되니 참 애매하네요..^^
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : netprofit 문의.
> 안녕하세요
예스스탁입니다.
NetProfit은 말씀하신 바와 같이 당일손익이 아니고
전체손익입니다. 또한 청산 종결된 수익만이 반영되므로
실제 현재진행중인 포지션에 관해서는 반영되지 않습니다.
아래와 같이 식을 작성하시면 당일 손익을 구하실 수 있습니다.
변수 daypl이 당일 손익입니다.
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 = 1 to 10{
if sdate == EntryDate(var1) Then{
count = count+1;
PLR = PLR+PositionProfit(var1);
}
}
if MarketPosition() == 0 Then{
OpenPL = 0;
dayPL = PLR;
}
Else{
OpenPL = (PositionProfit-(XCommission+XSlippage));
dayPL = PLR+OpenPL;
}
if crossup(c,ma(c,20)) and dayPL < 1 Then
buy("b");
if CrossDown(c,ma(c,20)) Then{
exitlong("s");
}
if MarketPosition() == 1 and dayPL >= 1 Then
exitlong("XX");
참고하시기 바랍니다.
즐거운 하루되세요
> 천억벌자 님이 쓴 글입니다.
> 제목 : netprofit 문의.
> 당일 청산종료시점에서 netprofit이 50만원이상이면 신호가 안나오게 하려고 합니다.
그래서 매수와 매도식 위아래로..
if NetProfit<500000 then {
매도식;
매수식;}
이런식으로 설정을 했습니다.
그런데 생각해보니 Netprofit이 당일매매손실이 아니고 전체의 손실일수도 있겠단 생각이 드네요.
하루 1포이상을 하면 매매를 종료하고싶을때
이런식으로 하면되는지
아니면 진입과 청산의 모든 가격을 저장하여 계산을 해야하는지 알고싶습니다.
그럼 답변 기다리겠습니다.
예스스탁 예스스탁 답변
2010-01-28 08:39:18
안녕하세요
예스스탁입니다.
count는 현재 식에서는 불필요한 내용입니다.
다르게 작성하다가 미쳐 지우지 못한 부분입니다.
청산후 1포인트 이상이시므로 아래의 식을 사용하시면 됩니다.
var : dayPL(0),cnt(0);
dayPL = 0;
for cnt = 1 to 10{
if sdate == EntryDate(cnt) Then{
dayPL = dayPL+PositionProfit(cnt);
}
}
if dayPL < 1 and 조건 Then
buy();
위식은 최근진입들중에 오늘 날자와 같은 진입들의 수익을 모으는 내용입니다.
netprofit은 설정된 수수료와 슬리피지가 모두 포함된 내용입니다.따로 처리하시면 중복이 됩니다.수수료와 슬리피지는 현재진행중인 포지션을 제외하고는 모두 포함이 되어 계산됩니다.
또한 손익관련 함수는 금액으로 리턴되지 않습니다.
포인트 단위이므로 유의하시기 바랍니다.
원단위로 하실 경우에는 아래와 같이 식을 작성하셔야 합니다.
if dayPL*BigPointValue < 500000 and 조건 Then
buy();
즐거운 하루되세요
> 천억벌자 님이 쓴 글입니다.
> 제목 : Re : Re : 이해가 안가서 다시 문의드립니다!!!!
> 제가 하고싶은것은 포지션 청산후 1포이상일때 더이상 진입하지 않는것입니다.
포지션을 들고있을때 더 갈수도 있는것이고요. 청산식에 따라 청산을 하되
1포이상 수익이면 진입하지않는것이지요.
우선 슬리피지와 수수료구하는것은 이해가갑니다.
그런데 그다음에 나온 루프문은 이해가 안가는군요.
느낌상은 오버포지션이 있을시 10일전까지만 체크하는것 같은데 count는 왜 누적을 하는지요? 다른데 쓰는곳도 따로 없어보입니다만..
PLR = PLR+PositionProfit(var1); <--요넘도 전의 포지션수익인거 같은데 왜 10까지 누적을 하는지도 잘 이해가..ㅡ.ㅡ
어쨋든..써주신것을 참고로 해서 제가 식을 만든다면..아 전 데이시스템입니다. 오버포지션은 없습니다.
그럼 이런식으로 해도 될것같은데 맞는지요?
if date != date[1] then {
var1 = netprofit; //전일까지의 손익<--요넘이 전일까지의 수익이면 문제는쉬워보이는데..ㅡ.ㅡ
if (netprofit-(var1)-(진입횟수 * (수수료+슬리피지) < 500000 then { //전체손익에서 전일을 제외함
매도식;
매수식;}
청산식;
아..그리고 netprofit에는 수수료와 슬리피지는 제외인지요?
지표로 검증이 안되니 참 애매하네요..^^
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : netprofit 문의.
> 안녕하세요
예스스탁입니다.
NetProfit은 말씀하신 바와 같이 당일손익이 아니고
전체손익입니다. 또한 청산 종결된 수익만이 반영되므로
실제 현재진행중인 포지션에 관해서는 반영되지 않습니다.
아래와 같이 식을 작성하시면 당일 손익을 구하실 수 있습니다.
변수 daypl이 당일 손익입니다.
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 = 1 to 10{
if sdate == EntryDate(var1) Then{
count = count+1;
PLR = PLR+PositionProfit(var1);
}
}
if MarketPosition() == 0 Then{
OpenPL = 0;
dayPL = PLR;
}
Else{
OpenPL = (PositionProfit-(XCommission+XSlippage));
dayPL = PLR+OpenPL;
}
if crossup(c,ma(c,20)) and dayPL < 1 Then
buy("b");
if CrossDown(c,ma(c,20)) Then{
exitlong("s");
}
if MarketPosition() == 1 and dayPL >= 1 Then
exitlong("XX");
참고하시기 바랍니다.
즐거운 하루되세요
> 천억벌자 님이 쓴 글입니다.
> 제목 : netprofit 문의.
> 당일 청산종료시점에서 netprofit이 50만원이상이면 신호가 안나오게 하려고 합니다.
그래서 매수와 매도식 위아래로..
if NetProfit<500000 then {
매도식;
매수식;}
이런식으로 설정을 했습니다.
그런데 생각해보니 Netprofit이 당일매매손실이 아니고 전체의 손실일수도 있겠단 생각이 드네요.
하루 1포이상을 하면 매매를 종료하고싶을때
이런식으로 하면되는지
아니면 진입과 청산의 모든 가격을 저장하여 계산을 해야하는지 알고싶습니다.
그럼 답변 기다리겠습니다.