커뮤니티
두번연속 수익이 발생하면 다음 신호는 무시하는 수식을 좀 알려주세요.
2011-09-02 21:34:45
464
글번호 42438
알려주신 수식 넣어서 해봤는데 결과가 똑같이 나옵니다.
그리고 ExitDate(1) == sdate and ExitDate(2) == sdate 이부분을 빼고 작성해서
테스트해보니까 두번연속 수익후에 다음신호는 진입을 안하는건 맞는데..
문제가 원래 당일 1회거래, 당일 청산 시스템인데..
두번연속 수익후 다음신호를 무시한 상태에서 그날 장이 끝나기전에 또 신호가 발생하는 경우에는 진입을 하였습니다.
원래대로라면 두번연속 수익후 무시한 신호를 진입하였을 것이고 당일 1회거래이므로 진입을 안하는 신호인데..
두번연속 수익후 다음신호를 무시했기때문에 그날중에 또 신호가 발생하니까 진입을 하는 문제가 생겼습니다.
ExitDate(1) == sdate and ExitDate(2) == sdate 이부분이 이런 현상을 막아주는 수식인가요...? 어렵내요ㅠ
아래는 전체 수식첨부합니다. 확인부탁드릴게요.
input : N(1),RangeMult(0.5), RangeMult2(0.5) ;
var : count(0),va1(0),va2(0),va3(0),PreRange(0), PreRange2(0), ChUp(0), ChDn(0), ExitL(0), ExitS(0), cont(0);
PreRange = (dayHigh(1)-dayLow(1))*RangeMult;
PreRange2 = (dayHigh(1)-dayLow(1))*RangeMult2;
ChUp = dayOpen + PreRange;
ChDn = dayOpen - PreRange;
ExitL = dayHigh - PreRange2;
ExitS = dayLow + PreRange2;
va1 = int(date/100)-int(date/10000)*100;
va2 = date - int(date/100)*100;
va3 = DayOfWeek(date);
Count = 0 ;
for Value1 = 0 to 10 {
if EntryDate( Value1 ) == sdate then
Count = Count + 1;
}
Condition1 = ExitDate(1) == sdate and ExitDate(2) == sdate And PositionProfit(1) > 0 and PositionProfit(2) > 0;
# 진입
if Condition1 == false And CrossUp(c,chup) and count < N Then
buy();
if Condition1 == true And CrossUp(c,chup) and count < N and countif(CrossUp(c,chup) and count < N,BarsSinceExit(1)) == 2 Then
buy();
#청산
If CrossDown(c,ExitL) Then
ExitLong();
if MarketPosition == 1 Then
SetstopTrailing(5,PRICESCALE*20,pointstop,0);
SetStopLoss(0.5,pointstop);
if va1%3 == 0 and
va2 >= 8 and va2 <= 14 and
va3 == 4 then
SetStopEndofday(144900);
Else
SetStopEndofday(150400);
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 두번연속 수익이 발생하면 다음 신호는 무시하는 수식을 좀 알려주세요.
> 안녕하세요
예스스탁입니다.
Condition1 = ExitDate(1) == sdate and ExitDate(2) == sdate And PositionProfit(1) > 0 and PositionProfit(2) > 0;
#2번연속 수익이 아닐때
if Condition1 == false And
진입조건 Then
buy();
#2번연속 수익일 때
if Condition1 == true And
진입조건 and
countif(진입조건,BarsSinceExit(1)) == 2 Then
buy();
즐거운 하루되세요
답변 1
예스스탁 예스스탁 답변
2011-09-05 10:03:08
안녕하세요
예스스탁입니다.
문의하신 부분에 대해 정확히 이해를 하지 못했습니다.
전화주시기 바랍니다.
02-3453-1060
즐거운 하루되세요
> 띠가 님이 쓴 글입니다.
> 제목 : 두번연속 수익이 발생하면 다음 신호는 무시하는 수식을 좀 알려주세요.
>
알려주신 수식 넣어서 해봤는데 결과가 똑같이 나옵니다.
그리고 ExitDate(1) == sdate and ExitDate(2) == sdate 이부분을 빼고 작성해서
테스트해보니까 두번연속 수익후에 다음신호는 진입을 안하는건 맞는데..
문제가 원래 당일 1회거래, 당일 청산 시스템인데..
두번연속 수익후 다음신호를 무시한 상태에서 그날 장이 끝나기전에 또 신호가 발생하는 경우에는 진입을 하였습니다.
원래대로라면 두번연속 수익후 무시한 신호를 진입하였을 것이고 당일 1회거래이므로 진입을 안하는 신호인데..
두번연속 수익후 다음신호를 무시했기때문에 그날중에 또 신호가 발생하니까 진입을 하는 문제가 생겼습니다.
ExitDate(1) == sdate and ExitDate(2) == sdate 이부분이 이런 현상을 막아주는 수식인가요...? 어렵내요ㅠ
아래는 전체 수식첨부합니다. 확인부탁드릴게요.
input : N(1),RangeMult(0.5), RangeMult2(0.5) ;
var : count(0),va1(0),va2(0),va3(0),PreRange(0), PreRange2(0), ChUp(0), ChDn(0), ExitL(0), ExitS(0), cont(0);
PreRange = (dayHigh(1)-dayLow(1))*RangeMult;
PreRange2 = (dayHigh(1)-dayLow(1))*RangeMult2;
ChUp = dayOpen + PreRange;
ChDn = dayOpen - PreRange;
ExitL = dayHigh - PreRange2;
ExitS = dayLow + PreRange2;
va1 = int(date/100)-int(date/10000)*100;
va2 = date - int(date/100)*100;
va3 = DayOfWeek(date);
Count = 0 ;
for Value1 = 0 to 10 {
if EntryDate( Value1 ) == sdate then
Count = Count + 1;
}
Condition1 = ExitDate(1) == sdate and ExitDate(2) == sdate And PositionProfit(1) > 0 and PositionProfit(2) > 0;
# 진입
if Condition1 == false And CrossUp(c,chup) and count < N Then
buy();
if Condition1 == true And CrossUp(c,chup) and count < N and countif(CrossUp(c,chup) and count < N,BarsSinceExit(1)) == 2 Then
buy();
#청산
If CrossDown(c,ExitL) Then
ExitLong();
if MarketPosition == 1 Then
SetstopTrailing(5,PRICESCALE*20,pointstop,0);
SetStopLoss(0.5,pointstop);
if va1%3 == 0 and
va2 >= 8 and va2 <= 14 and
va3 == 4 then
SetStopEndofday(144900);
Else
SetStopEndofday(150400);
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 두번연속 수익이 발생하면 다음 신호는 무시하는 수식을 좀 알려주세요.
> 안녕하세요
예스스탁입니다.
Condition1 = ExitDate(1) == sdate and ExitDate(2) == sdate And PositionProfit(1) > 0 and PositionProfit(2) > 0;
#2번연속 수익이 아닐때
if Condition1 == false And
진입조건 Then
buy();
#2번연속 수익일 때
if Condition1 == true And
진입조건 and
countif(진입조건,BarsSinceExit(1)) == 2 Then
buy();
즐거운 하루되세요