커뮤니티
월, 주별 수익 손실거래별 거래 제한(보충)
2008-02-13 22:50:30
968
글번호 14710
제가 또 며칠전 질문드린 내용이고 답변 잘 받았습니다. 감사합니다.
다만, 주별 수익,손실거래횟수에 따른 거래 제한 수식에 보충질문 드립니다.
주별(week)수익,손실거래횟수에 따른 거래 제한 수식은 다음과 같습니다.
------------------------------------------------------------------------------
var : Bval(0),Exval(0),Profit(0),Loss(0);
if DayOfWeek(sdate) < DayOfWeek(Sdate) Then{
Profit = 0;
Loss = 0;
}
if crossup(c,ma(c,20)) and Profit < 2 Then{ //또는 and loss < 2
buy();
Bval = C;
}
if CrossDown(c,ma(c,20)) Then{
exitlong();
ExVal = C;
if Exval - Bval > 0 Then
Profit = Profit+1;
if Exval - Bval < 0 Then
loss = Loss +1;
}
------------------------------------------------------------------------
그런데 한 가지 문제점이 있습니다.
제가 쓰고 있는 시스템의 수익,손실은 70%이상이 setstoploss나 setstopprofittarget에 의해 이루어 집니다.
허나 위와 같은 수식으로 거래 제한을 걸면 exitlong에 의한 청산에 대한 것만 거래 기록이 됩니다.
답변 주신 월별,일별 제한은 setstoploss나 setstopprofittarget에 의한 청산도 무조건 기록이 되니 완벽합니다.
그러나 주별 거래제한은 방식이 약간 달라서 좀 곤란합니다.
이를 다른 방법으로, 월별 일별 제한처럼 setstoploss나 setstopprofittarget에 의한 청산도 반영하는 방법은 없을까요?
또한 연속 수익,연속 손실별 거래 제한도 그렇게 만들 수는 없을까요?
불가능할 것만 같은 수식을 계속 완성해 주시니 항상 기대를 하고 질문드려봅니다.
감사합니다.
-----------------------------------------------------------------------------
그리고 염치없이 하나더 질문 올립니다.
위와 같은 일, 주, 월별 거래 제한을 걸 때,
예를 들면 월별의 경우 매월 1일부터 수익, 손실 기록을 카운트 하는 게 아니라
제가 지정한 특정한 날짜(예를 들면 매월 15일)부터 1달 단위---그러니까 2월 1일부터 2월 28일까지를 1달로 보는게 아니라, 2월 15일부터 3월 14일까지를 1달 단위로 함---로 하여 거래 제한을 걸 수도 있을까요?
주별 거래 제한도 마찬가지로 매주 월요일부터 금요일까지가 한 단위가 아니라, 매주 수요일부터 다음주 화요일-이런 식으로 단위를 변경할 수 있을까요?
답변 1
예스스탁 예스스탁 답변
2008-02-14 13:46:33
안녕하세요
예스스탁입니다.
1. 주별
var : count(0),Profit(0),Loss(0);
var1 = DayOfWeek(sdate);
var2 = DateToJulian(sdate);
Profit = 0 ;
loss = 0;
for Value1 = 0 to 20 {
if DateToJulian(entrydate(value1)) >= var2-var1 and PositionProfit(value1) > 0 then
Profit = Profit + 1;
if DateToJulian(entrydate(value1)) >= var2-var1 and PositionProfit(value1) < 0 then
loss = loss + 1;
}
if crossup(c,ma(c,20)) and loss < 2 Then
buy();
setstoploss(0.2,PointStop);
SetStopProfittarget(0.2,pointstop);
2. N일 기준 한달
input : N(15);
var : count(0),Profit(0),Loss(0);
Profit = 0 ;
loss = 0;
if FracPortion(sdate/100)*100 >= N Then {
for Value1 = 0 to 20 {
if FracPortion(EntryDate(value1)/100)*100 >= N and
int(FracPortion(EntryDate(value1)/10000)*100) == int(FracPortion(sdate/10000)*100)and
PositionProfit(value1) > 0 Then{
Profit = Profit + 1;
}
if FracPortion(EntryDate(value1)/100)*100 >= N and
int(FracPortion(EntryDate(value1)/10000)*100) == int(FracPortion(sdate/10000)*100)and
PositionProfit(value1) < 0 Then{
loss = loss + 1;
}
}
}
if FracPortion(sdate/100)*100 < N Then{
for Value1 = 0 to 20 {
if (int(FracPortion(EntryDate(value1)/10000)*100) == int(FracPortion(sdate/10000)*100) and
FracPortion(EntryDate(value1)/100)*100 < N and
PositionProfit(value1) > 0 )
or
(int(FracPortion(EntryDate(value1)/10000)*100) == int(FracPortion(sdate/10000)*100)-1 and
FracPortion(EntryDate(value1)/100)*100 >= N and
PositionProfit(value1) > 0 ) Then{
Profit = Profit + 1;
}
if (int(FracPortion(EntryDate(value1)/10000)*100) == int(FracPortion(sdate/10000)*100) and
FracPortion(EntryDate(value1)/100)*100 < N and
PositionProfit(value1) < 0 )
or
(int(FracPortion(EntryDate(value1)/10000)*100) == int(FracPortion(sdate/10000)*100)-1 and
FracPortion(EntryDate(value1)/100)*100 >= N and
PositionProfit(value1) < 0 ) Then{
loss = loss + 1;
}
}
}
if crossup(c,ma(c,20)) and loss < 2 Then //또는 and loss < 2
buy();
if CrossDown(c,ma(c,20)) Then
exitlong();
즐거운 하루되세요
> 도레미트리오 님이 쓴 글입니다.
> 제목 : 월, 주별 수익 손실거래별 거래 제한(보충)
> 제가 또 며칠전 질문드린 내용이고 답변 잘 받았습니다. 감사합니다.
다만, 주별 수익,손실거래횟수에 따른 거래 제한 수식에 보충질문 드립니다.
주별(week)수익,손실거래횟수에 따른 거래 제한 수식은 다음과 같습니다.
------------------------------------------------------------------------------
var : Bval(0),Exval(0),Profit(0),Loss(0);
if DayOfWeek(sdate) < DayOfWeek(Sdate) Then{
Profit = 0;
Loss = 0;
}
if crossup(c,ma(c,20)) and Profit < 2 Then{ //또는 and loss < 2
buy();
Bval = C;
}
if CrossDown(c,ma(c,20)) Then{
exitlong();
ExVal = C;
if Exval - Bval > 0 Then
Profit = Profit+1;
if Exval - Bval < 0 Then
loss = Loss +1;
}
------------------------------------------------------------------------
그런데 한 가지 문제점이 있습니다.
제가 쓰고 있는 시스템의 수익,손실은 70%이상이 setstoploss나 setstopprofittarget에 의해 이루어 집니다.
허나 위와 같은 수식으로 거래 제한을 걸면 exitlong에 의한 청산에 대한 것만 거래 기록이 됩니다.
답변 주신 월별,일별 제한은 setstoploss나 setstopprofittarget에 의한 청산도 무조건 기록이 되니 완벽합니다.
그러나 주별 거래제한은 방식이 약간 달라서 좀 곤란합니다.
이를 다른 방법으로, 월별 일별 제한처럼 setstoploss나 setstopprofittarget에 의한 청산도 반영하는 방법은 없을까요?
또한 연속 수익,연속 손실별 거래 제한도 그렇게 만들 수는 없을까요?
불가능할 것만 같은 수식을 계속 완성해 주시니 항상 기대를 하고 질문드려봅니다.
감사합니다.
-----------------------------------------------------------------------------
그리고 염치없이 하나더 질문 올립니다.
위와 같은 일, 주, 월별 거래 제한을 걸 때,
예를 들면 월별의 경우 매월 1일부터 수익, 손실 기록을 카운트 하는 게 아니라
제가 지정한 특정한 날짜(예를 들면 매월 15일)부터 1달 단위---그러니까 2월 1일부터 2월 28일까지를 1달로 보는게 아니라, 2월 15일부터 3월 14일까지를 1달 단위로 함---로 하여 거래 제한을 걸 수도 있을까요?
주별 거래 제한도 마찬가지로 매주 월요일부터 금요일까지가 한 단위가 아니라, 매주 수요일부터 다음주 화요일-이런 식으로 단위를 변경할 수 있을까요?
다음글