커뮤니티
시스템식의 수정을 부탁합니다
2004-03-09 19:02:28
1526
글번호 2718
청산식에서만
진입가격대비 0.5p 수익후 0.3p 손실시 강제청산을 하며, 신규매수 조건이
다시 발생하더라도 재진입을 하지 않는다. 라는 시스템식입니다.
매수청산에서는 정상적인 신호가 발생했으나
매도청산에서는 진입가격대비 0.5p 수익후 0.3p 손실시 강제청산이라는 조건을
만족해도 매도청산신호가 발생하지 않는데 시스템식의 어느 부분이 잘못된 것인지
모르겠네요. 시스템식을 수정하여 주시면 고맙겠습니다.
시스템식은 아래와 같습니다.
input : drop(0.3), upPrice(0.5);
var : cnt(0), buyVal(0), bIdx(0), bpos(0),sellval(0), sIdx(0), spos(0);
if date != date[1] then //날짜가 변경되면 cnt를 0으로 초기화
cnt = 0;
if 매수조건
and cnt == 0 then { //cnt == 0은 청산조건2를 만족한 적인 없었다는 것을 의미
buy();
buyVal = C; //매수진입가를 저장
bIdx = accum(1); //매수시점의 인덱스를 저장
bpos = 1; //포지션의 상태를 저장
}
#청산조건1
if 매수청산조건 then {
exitlong("1");
bpos = 0;
}
#청산조건2
var1 = highest(H,accum(1)-bidx); //진입이후 최고가를 나타냄
if var1 >= buyVal + 0.5 then { // 진입이후 최고가가 매수진입가+0.5보다 크거나 같으면
if CrossDown(C,var1-drop) and bpos == 1 then { //매수포지션상태에서 진입후최고가-0.3을 현재가가 하향이탈하면
exitlong("2");
cnt = cnt+1; // 2번조건에 의한 청산이 발행할 경우 cnt값을 누적
bpos = 0;
}
}
if 매도조건
and cnt == 0 then { //cnt == 0은 청산조건2를 만족한 적인 없었다는 것을 의미
sell();
sellVal = C; //매도진입가를 저장
sIdx = accum(1); //매도시점의 인덱스를 저장
spos = 1; //포지션의 상태를 저장
}
#청산조건1
if 매도청산조건 then {
exitshort("3");
spos = 0;
}
#청산조건2
var2 = lowest(L,accum(1)-sidx); //진입이후 최저가를 나타냄
if var2 >= sellVal - 0.5 then { // 진입이후 최저가가 매도진입가+0.5보다 크거나 같으면
if CrossUp(C,var2+drop) and spos == -1 then { //매도포지션상태에서 진입후최고가-0.3을 현재가가 하향이탈하면
exitshort("4");
cnt = cnt+1; // 2번조건에 의한 청산이 발행할 경우 cnt값을 누적
spos = 0;
}
}
답변 1
예스스탁 예스스탁 답변
2004-03-10 10:22:06
안녕하세요? 예스스탁입니다.....
매도포지션(spos)을 1이 아니라 "-1"로 바꿔주셔야 하며 매도청산식 2조건에서 "var2 <= sellVal - 0.5"가 되어야 합니다...
input : drop(0.3), upPrice(0.5);
var : cnt(0), buyVal(0), bIdx(0), bpos(0),sellval(0), sIdx(0), spos(0);
if date != date[1] then //날짜가 변경되면 cnt를 0으로 초기화
cnt = 0;
if 매수조건
and cnt == 0 then { //cnt == 0은 청산조건2를 만족한 적인 없었다는 것을 의미
buy();
buyVal = C; //매수진입가를 저장
bIdx = accum(1); //매수시점의 인덱스를 저장
bpos = 1; //포지션의 상태를 저장
}
#청산조건1
if 매수청산조건 then {
exitlong("1");
bpos = 0;
}
#청산조건2
var1 = highest(H,accum(1)-bidx); //진입이후 최고가를 나타냄
if var1 >= buyVal + 0.5 then { // 진입이후 최고가가 매수진입가+0.5보다 크거나 같으면
if CrossDown(C,var1-drop) and bpos == 1 then { //매수포지션상태에서 진입후최고가-0.3을 현재가가 하향이탈하면
exitlong("2");
cnt = cnt+1; // 2번조건에 의한 청산이 발행할 경우 cnt값을 누적
bpos = 0;
}
}
if 매도조건
and cnt == 0 then { //cnt == 0은 청산조건2를 만족한 적인 없었다는 것을 의미
sell();
sellVal = C; //매도진입가를 저장
sIdx = accum(1); //매도시점의 인덱스를 저장
spos = -1; //포지션의 상태를 저장
}
#청산조건1
if 매도청산조건 then {
exitshort("3");
spos = 0;
}
#청산조건2
var2 = lowest(L,accum(1)-sidx); //진입이후 최저가를 나타냄
if var2 <= sellVal - 0.5 then { // 진입이후 최저가가 매도진입가-0.5보다 작거나 같으면
if CrossUp(C,var2+drop) and spos == -1 then { //매도포지션상태에서 진입후최저가+0.3을 현재가가 상향돌파하면
exitshort("4");
cnt = cnt+1; // 2번조건에 의한 청산이 발행할 경우 cnt값을 누적
spos = 0;
}
}
즐거운 하루 되세요....
> ddd 님이 쓴 글입니다.
> 제목 : 시스템식의 수정을 부탁합니다
> 청산식에서만
진입가격대비 0.5p 수익후 0.3p 손실시 강제청산을 하며, 신규매수 조건이
다시 발생하더라도 재진입을 하지 않는다. 라는 시스템식입니다.
매수청산에서는 정상적인 신호가 발생했으나
매도청산에서는 진입가격대비 0.5p 수익후 0.3p 손실시 강제청산이라는 조건을
만족해도 매도청산신호가 발생하지 않는데 시스템식의 어느 부분이 잘못된 것인지
모르겠네요. 시스템식을 수정하여 주시면 고맙겠습니다.
시스템식은 아래와 같습니다.
input : drop(0.3), upPrice(0.5);
var : cnt(0), buyVal(0), bIdx(0), bpos(0),sellval(0), sIdx(0), spos(0);
if date != date[1] then //날짜가 변경되면 cnt를 0으로 초기화
cnt = 0;
if 매수조건
and cnt == 0 then { //cnt == 0은 청산조건2를 만족한 적인 없었다는 것을 의미
buy();
buyVal = C; //매수진입가를 저장
bIdx = accum(1); //매수시점의 인덱스를 저장
bpos = 1; //포지션의 상태를 저장
}
#청산조건1
if 매수청산조건 then {
exitlong("1");
bpos = 0;
}
#청산조건2
var1 = highest(H,accum(1)-bidx); //진입이후 최고가를 나타냄
if var1 >= buyVal + 0.5 then { // 진입이후 최고가가 매수진입가+0.5보다 크거나 같으면
if CrossDown(C,var1-drop) and bpos == 1 then { //매수포지션상태에서 진입후최고가-0.3을 현재가가 하향이탈하면
exitlong("2");
cnt = cnt+1; // 2번조건에 의한 청산이 발행할 경우 cnt값을 누적
bpos = 0;
}
}
if 매도조건
and cnt == 0 then { //cnt == 0은 청산조건2를 만족한 적인 없었다는 것을 의미
sell();
sellVal = C; //매도진입가를 저장
sIdx = accum(1); //매도시점의 인덱스를 저장
spos = 1; //포지션의 상태를 저장
}
#청산조건1
if 매도청산조건 then {
exitshort("3");
spos = 0;
}
#청산조건2
var2 = lowest(L,accum(1)-sidx); //진입이후 최저가를 나타냄
if var2 >= sellVal - 0.5 then { // 진입이후 최저가가 매도진입가+0.5보다 크거나 같으면
if CrossUp(C,var2+drop) and spos == -1 then { //매도포지션상태에서 진입후최고가-0.3을 현재가가 하향이탈하면
exitshort("4");
cnt = cnt+1; // 2번조건에 의한 청산이 발행할 경우 cnt값을 누적
spos = 0;
}
}