커뮤니티
재 문의
2003-11-04 11:40:37
3948
글번호 1196
안녕하십니까
죄송하지만 "503"의 재 질문에 대한 답변 좀 부탁드립니다
검토하시어 무엇이 잘못되었는지 알고싶네요
확인 부탁드립니다.
답변 2
예스스탁 예스스탁 답변
2003-11-04 15:26:20
안녕하세요? 예스스탁입니다...
문의하신 내용을 다시 검토해서 식을 작성해 보았습니다...
input : Period(10);
var : 단기(0), 중기(0), Cnt(0), bidx(0), bpos(0), spos(0), sidx(0), Hval(0), Lval(0);
단기 = ma(C,10);
중기 = ma(C,40);
if date != date[1] then {
Cnt = 0; // 매일의 첫번째 봉에서 cnt 값을 0으로 초기화
Hval = 0; // 매일의 첫번째 봉에서 Hval 값을 0으로 초기화
Lval = 0; // 매일의 첫번째 봉에서 Lval 값을 0으로 초기화
bpos = 0; // 매일의 첫번째 봉에서 bpos 값을 0으로 초기화
spos = 0; // 매일의 첫번째 봉에서 spos 값을 0으로 초기화
}
##매수
if stime >= 93000 then {
if CrossUp(단기, 중기) and Cnt <= 2 then {
buy();
Cnt = Cnt+1; // 매매횟수를 누적
bidx = index; // 매수시점의 인덱스 저장
bpos = 1; // 매수포지션 상태 저장
spos = 0; // 매도포지션 상태 저장
}
}
##매수청산
if bpos == 1 then
Hval = Highest(H,i-bidx); // 매수진입이후 최고가를 구함
if bpos == 1 and crossdown(C, Hval - ATR(period)) then { // 매수포지션 상태이고 현재가가 매수진입후 최고가-ATR값보다 작으면
exitlong(); // 매수청산
bpos = 0; // 매수포지션 상태를 0으로 저장
}
##매도
if stime >= 93000 then {
if CrossDown(단기, 중기) and Cnt <= 2 then {
sell();
Cnt = Cnt+1;
sidx = index;
spos = 1;
bpos = 0;
}
}
##매도청산
if spos == 1 then
Lval = Lowest(L,i-sidx); // 매도진입이후 최저가를 구함
if spos == 1 and crossup(C, Lval + ATR(period)) then { // 매도포지션 상태이고 현재가가 매도진입이후의 최저가+ATR보다 크면
exitshort(); // 매도청산
spos = 0; // 매도포지션 상태를 0으로 저장
}
감사합니다...
> cvb103 님이 쓴 글입니다.
> 제목 : 재 문의
> 안녕하십니까
죄송하지만 "503"의 재 질문에 대한 답변 좀 부탁드립니다
검토하시어 무엇이 잘못되었는지 알고싶네요
확인 부탁드립니다.
cvb103
2003-11-04 20:21:24
안녕하세요
친절한 답변 대단히 감사합니다
무궁한 발전 있으시길 빕니다
감사합니다.
이전글