커뮤니티
조건별 청산시스템
2004-12-30 13:25:46
938
글번호 6208
아래수식은 예스스탁에 답글로 올린 조건별 청산시스템입니다. 그런데 실제로 적용해보면 의도하는 결과치가 안나오는데,
예를들면 2004.03.08의 매매내역을 보면 매수조건2에 진입하여 청산조건3에 청산되는 데 무엇이 잘못 되었는지?
var : slowK(0), slowD(0), macdV(0), macdS(0), ma1(0), ma2(0);
var : Cond1(0), Cond2(0), Cond3(0), Cond4(0), Cond5(0), Cond6(0), buyCond(0), bPosition(0);
slowK = stochasticsK(20,12); //stochastics slowK선
slowD = stochasticsD(20,12,12); //stochastics slowD선
macdV = macd(12,26); //macd선
macdS = ema(macdV,9); //macd signal선
ma1 = ma(C,5); //단기이동평균
ma2 = ma(C,20); //장기이동평균
Cond1 = CrossUp(slowK, slowD); //매수조건1
Cond2 = CrossUp(macdV, macdS); //매수조건2
Cond3 = CrossUp(ma1, ma2); //매수조건3
Cond4 = CrossDown(slowK, slowD); //매수청산조건1
Cond5 = CrossDown(macdV, macdS); //매수청산조건2
Cond6 = CrossDown(ma1, ma2); //매수청산조건3
//매수식
if bposition != 1 then Begin
if Cond1 then {
buy("매수1");
buyCond = 1;
bposition = 1;
}
if Cond2 then {
buy("매수2");
buyCond = 2;
bposition = 1;
}
if Cond3 then {
buy("매수3");
buyCond = 3;
bposition = 1;
}
End;
//매수청산식
if buyCond == 1 and Cond4 then {
exitlong("수청1");
bPosition = 0;
}
if buyCond == 2 and Cond5 then {
exitlong("수청2");
bPosition = 0;
}
if buyCond == 3 and Cond6 then {
exitlong("수청3");
bPosition = 0;
}
답변 1
예스스탁 예스스탁 답변
2005-01-11 09:06:41
var : slowK(0), slowD(0), macdV(0), macdS(0), ma1(0), ma2(0);
var : Cond1(0), Cond2(0), Cond3(0), Cond4(0), Cond5(0), Cond6(0), buyCond(0), bPosition(0),cnt(0);
slowK = stochasticsK(20,12); //stochastics slowK선
slowD = stochasticsD(20,12,12); //stochastics slowD선
macdV = macd(12,26); //macd선
macdS = ema(macdV,9); //macd signal선
ma1 = ma(C,5); //단기이동평균
ma2 = ma(C,20); //장기이동평균
Cond1 = CrossUp(slowK, slowD); //매수조건1
Cond2 = CrossUp(macdV, macdS); //매수조건2
Cond3 = CrossUp(ma1, ma2); //매수조건3
Cond4 = CrossDown(slowK, slowD); //매수청산조건1
Cond5 = CrossDown(macdV, macdS); //매수청산조건2
Cond6 = CrossDown(ma1, ma2); //매수청산조건3
//매수식
if bposition != 1 then Begin
if Cond1 and cnt < 1 then {
buy("매수1");
buyCond = 1;
bposition = 1;
cnt = cnt+1;
}
if Cond2 and cnt < 1then {
buy("매수2");
buyCond = 2;
bposition = 1;
cnt = cnt+1;
}
if Cond3 and cnt < 1 then {
buy("매수3");
buyCond = 3;
bposition = 1;
cnt = cnt+1;
}
End;
//매수청산식
if buyCond == 1 and Cond4 then {
exitlong("수청1");
bPosition = 0;
cnt = 0;
}
if buyCond == 2 and Cond5 then {
exitlong("수청2");
bPosition = 0;
cnt = 0;
}
if buyCond == 3 and Cond6 then {
exitlong("수청3");
bPosition = 0;
cnt = 0;
}
이용에 불편을 드려 죄송합니다.
즐거운 하루되시고 새해 복 많이 받으세요
> 태산 님이 쓴 글입니다.
> 제목 : 조건별 청산시스템
> 아래수식은 예스스탁에 답글로 올린 조건별 청산시스템입니다. 그런데 실제로 적용해보면 의도하는 결과치가 안나오는데,
예를들면 2004.03.08의 매매내역을 보면 매수조건2에 진입하여 청산조건3에 청산되는 데 무엇이 잘못 되었는지?
var : slowK(0), slowD(0), macdV(0), macdS(0), ma1(0), ma2(0);
var : Cond1(0), Cond2(0), Cond3(0), Cond4(0), Cond5(0), Cond6(0), buyCond(0), bPosition(0);
slowK = stochasticsK(20,12); //stochastics slowK선
slowD = stochasticsD(20,12,12); //stochastics slowD선
macdV = macd(12,26); //macd선
macdS = ema(macdV,9); //macd signal선
ma1 = ma(C,5); //단기이동평균
ma2 = ma(C,20); //장기이동평균
Cond1 = CrossUp(slowK, slowD); //매수조건1
Cond2 = CrossUp(macdV, macdS); //매수조건2
Cond3 = CrossUp(ma1, ma2); //매수조건3
Cond4 = CrossDown(slowK, slowD); //매수청산조건1
Cond5 = CrossDown(macdV, macdS); //매수청산조건2
Cond6 = CrossDown(ma1, ma2); //매수청산조건3
//매수식
if bposition != 1 then Begin
if Cond1 then {
buy("매수1");
buyCond = 1;
bposition = 1;
}
if Cond2 then {
buy("매수2");
buyCond = 2;
bposition = 1;
}
if Cond3 then {
buy("매수3");
buyCond = 3;
bposition = 1;
}
End;
//매수청산식
if buyCond == 1 and Cond4 then {
exitlong("수청1");
bPosition = 0;
}
if buyCond == 2 and Cond5 then {
exitlong("수청2");
bPosition = 0;
}
if buyCond == 3 and Cond6 then {
exitlong("수청3");
bPosition = 0;
}
다음글
이전글