커뮤니티
문의
2014-10-06 07:09:44
142
글번호 79051
1.현재 봉에서 앞전 100개 봉이내에서 매수 매도 신호 발생 횟수와 그 발생신호의 결과가 손실인지 수익인지 알아서 시스템에 이용하려고 합니다. 어떻게 식으로 표현해야 하나요?
100개 이전봉에서 매수신호 + 매도신호 횟수의 합을 구하고. 현재시점에서 앞전 5개 신호 중 손실횟수만 구해서 손실회수가 3회 이상이면 condition1== true 로 표현하려고 합니다.
2. 같은 방식으로 앞전 100개 봉이내에서 10이평 25이평의 크로스 발생(골드 매수, 데드 매도)회수 와 그 발생신호의 결과가 손실인지 수익인지 체크하고... 현재에서 5개 이전 크로스에서 손실이 3번 이상 이면 condition2== true 로 표현하려고 합니다.
시스템 식 부탁드리겠습니다.
답변 1
예스스탁 예스스탁 답변
2014-10-06 14:23:37
안녕하세요
예스스탁입니다.
1.
var : cnt(0),count(0),PL(0),losscount(0);
#최근 100개봉 진입횟수와 손익
count = 0;
PL = 0;
for cnt = 1 to 100{
if BarsSinceEntry(1) >= 1 and BarsSinceEntry(1) <= 100 Then{
count = count+1;
PL = PL + PositionProfit(cnt);
}
}
#최근 5개 신호의 손실횟수
losscount = 0;
for cnt = 1 to 5{
if PositionProfit(cnt) < 0 then
losscount = losscount + 1;
}
if count >= 5 and losscount >= 3 then
condition1 = true;
else
condition1 = false;
최근 100개봉내의 신호발생횟수는 어떤 조건을 주시는 지 모르겠습니다.
최근 100개봉 내에 신호발생횟수가 5이상이고 최근 5개 신호의 손실횟수가 3회이상이면 true가 되도록 작성했습니다.
2.
var : cnt(0),count(0),PL(0),losscount(0);
#최근 100개봉 진입횟수와 손익
count = 0;
PL = 0;
for cnt = 1 to 100{
if BarsSinceEntry(1) >= 1 and BarsSinceEntry(1) <= 100 Then{
count = count+1;
PL = PL + PositionProfit(cnt);
}
}
#최근 5개 신호의 손실횟수
losscount = 0;
for cnt = 1 to 5{
if PositionProfit(cnt) < 0 then
losscount = losscount + 1;
}
if count >= 5 and losscount >= 3 then
condition1 = true;
else
condition1 = false;
if crossup(ma(c,10),ma(C,25)) Then
buy();
if CrossDown(ma(c,10),ma(C,25)) Then
sell();
즐거운 하루되세요
> hjkang철인 님이 쓴 글입니다.
> 제목 : 문의
> 1.현재 봉에서 앞전 100개 봉이내에서 매수 매도 신호 발생 횟수와 그 발생신호의 결과가 손실인지 수익인지 알아서 시스템에 이용하려고 합니다. 어떻게 식으로 표현해야 하나요?
100개 이전봉에서 매수신호 + 매도신호 횟수의 합을 구하고. 현재시점에서 앞전 5개 신호 중 손실횟수만 구해서 손실회수가 3회 이상이면 condition1== true 로 표현하려고 합니다.
2. 같은 방식으로 앞전 100개 봉이내에서 10이평 25이평의 크로스 발생(골드 매수, 데드 매도)회수 와 그 발생신호의 결과가 손실인지 수익인지 체크하고... 현재에서 5개 이전 크로스에서 손실이 3번 이상 이면 condition2== true 로 표현하려고 합니다.
시스템 식 부탁드리겠습니다.