커뮤니티
피라미딩 진입에 관련한 시스템식 문의에요
2011-11-29 11:15:41
478
글번호 45261
4개의 채널을 만들고 채널을 1개 돌파시마다 1계약씩 총 4개약을 매수하는 시스템 식을 만들고 싶습니다.
근데 ㅠ.ㅠ 전혀 작동을 안합니다 전체적으로 살펴봐주세요
input : p1(1), mult1(0.5), mult2(0.8),mult3(1.0),mult4(1.2), atrmult(3), stopper(0.7);
var : sumv(0), dailyvol(0), count(0), chup1(0), chdn1(0), chup2(0), chdn2(0), chup3(0), chdn3(0), chup4(0), chdn4(0);
# 분봉에서 구현한 일봉의 고가-저가 변동폭의 N일 평균
sumv = 0;
for count = 1 to p1 {
sumv = sumv+(dayhigh(count)-daylow(count));
}
dailyvol = sumv / p1;
#시초가를 기준으로한 상단과 하단의 4개의 채널을 만듬
chup1 = dayopen + dailyvol*mult1;
chdn1 = dayopen - dailyvol*mult1;
chup2 = dayopen + dailyvol*mult2;
chdn2 = dayopen - dailyvol*mult2;
chup3 = dayopen + dailyvol*mult3;
chdn3 = dayopen - dailyvol*mult3;
chup4 = dayopen + dailyvol*mult4;
chdn4 = dayopen - dailyvol*mult4;
#진입식
if crossup(c,chup1) then buy();
if crossdown(c,chdn1) then sell();
if crossup(c,chup2) then buy();
if crossdown(c,chdn2) then sell();
if crossup(c,chup3) then buy();
if crossdown(c,chdn3) then sell();
if crossup(c,chup4) then buy();
if crossdown(c,chdn4) then sell();
#청산식
if marketposition == 1 Then
exitlong("EL", atstop, highest(H, BarsSinceEntry+1)-atr(30)*atrmult);
if MarketPosition == -1 Then
ExitLong("ES", atstop, lowest(L,BarsSinceEntry+1)+atr(30)*atrmult);
#강제청산 및 당일청산
setstoploss(stopper);
SetStopEndofday(1500);
답변 1
예스스탁 예스스탁 답변
2011-11-29 15:07:27
안녕하세요
예스스탁입니다.
식 적용결과 정상적으로 신호가 발생합니다.
시스템 식을 차트에 적용하실 때
시스템 트레이딩 설정창의 피라미딩 탭에서
피라미딩을 다른진입신호만허용으로 설정하시고
차트에 적용하시면 됩니다.
첨부된 그림은 5분봉 차트에 적용한 것입니다.
아래지표식을 같이 적용했습니다.
input : p1(1), mult1(0.5), mult2(0.8),mult3(1.0),mult4(1.2), atrmult(3), stopper(0.7);
var : sumv(0), dailyvol(0), count(0), chup1(0), chdn1(0), chup2(0), chdn2(0), chup3(0), chdn3(0), chup4(0), chdn4(0);
# 분봉에서 구현한 일봉의 고가-저가 변동폭의 N일 평균
sumv = 0;
for count = 1 to p1 {
sumv = sumv+(dayhigh(count)-daylow(count));
}
dailyvol = sumv / p1;
#시초가를 기준으로한 상단과 하단의 4개의 채널을 만듬
chup1 = dayopen + dailyvol*mult1;
chdn1 = dayopen - dailyvol*mult1;
chup2 = dayopen + dailyvol*mult2;
chdn2 = dayopen - dailyvol*mult2;
chup3 = dayopen + dailyvol*mult3;
chdn3 = dayopen - dailyvol*mult3;
chup4 = dayopen + dailyvol*mult4;
chdn4 = dayopen - dailyvol*mult4;
plot1(chup1);
plot2(chup2);
plot3(chup3);
plot4(chup4);
plot5(chdn1);
plot6(chdn2);
plot7(chdn3);
plot8(chdn4);
즐거운 하루되세요
> Gone 님이 쓴 글입니다.
> 제목 : 피라미딩 진입에 관련한 시스템식 문의에요
> 4개의 채널을 만들고 채널을 1개 돌파시마다 1계약씩 총 4개약을 매수하는 시스템 식을 만들고 싶습니다.
근데 ㅠ.ㅠ 전혀 작동을 안합니다 전체적으로 살펴봐주세요
input : p1(1), mult1(0.5), mult2(0.8),mult3(1.0),mult4(1.2), atrmult(3), stopper(0.7);
var : sumv(0), dailyvol(0), count(0), chup1(0), chdn1(0), chup2(0), chdn2(0), chup3(0), chdn3(0), chup4(0), chdn4(0);
# 분봉에서 구현한 일봉의 고가-저가 변동폭의 N일 평균
sumv = 0;
for count = 1 to p1 {
sumv = sumv+(dayhigh(count)-daylow(count));
}
dailyvol = sumv / p1;
#시초가를 기준으로한 상단과 하단의 4개의 채널을 만듬
chup1 = dayopen + dailyvol*mult1;
chdn1 = dayopen - dailyvol*mult1;
chup2 = dayopen + dailyvol*mult2;
chdn2 = dayopen - dailyvol*mult2;
chup3 = dayopen + dailyvol*mult3;
chdn3 = dayopen - dailyvol*mult3;
chup4 = dayopen + dailyvol*mult4;
chdn4 = dayopen - dailyvol*mult4;
#진입식
if crossup(c,chup1) then buy();
if crossdown(c,chdn1) then sell();
if crossup(c,chup2) then buy();
if crossdown(c,chdn2) then sell();
if crossup(c,chup3) then buy();
if crossdown(c,chdn3) then sell();
if crossup(c,chup4) then buy();
if crossdown(c,chdn4) then sell();
#청산식
if marketposition == 1 Then
exitlong("EL", atstop, highest(H, BarsSinceEntry+1)-atr(30)*atrmult);
if MarketPosition == -1 Then
ExitLong("ES", atstop, lowest(L,BarsSinceEntry+1)+atr(30)*atrmult);
#강제청산 및 당일청산
setstoploss(stopper);
SetStopEndofday(1500);
다음글
이전글