커뮤니티
안녕하세요 문의드립니다.
2008-12-26 11:12:14
654
글번호 19021
크리스마스 잘보내셨는지요..^^;;
문의드립니다;
볼린저밴드 이평선을 뚫고 상승돌파 할 때, 매수
볼린저밴드 이평선을 뚫고 하락돌파 할 때, 매도
이평선을뚫고 상승돌파시 상한선에닿을때 청산후, 다음신호에 매수.
이평선을뚫고 하락돌파시 하한선에닿을때 청산후, 다음신호에 매수.
손절은 3pt, 수익청산은 2pt.
살펴봐주세요~
감사합니다.
답변 1
예스스탁 예스스탁 답변
2008-12-26 13:03:05
안녕하세요
예스스탁입니다.
Input : Period(20), Dv(2);
var : cnt(0),count(0);
var1 = ma(C,Period);
var2 = BollBandUp(Period,Dv);
var3 = BollBandDown(Period,Dv);
count = 0;
for cnt = 0 to 10{
if sdate == EntryDate(cnt) Then
count = count+1;
}
## 당일 첫진입
if count == 0 and MarketPosition() == 0 Then{
if crossup(c,var1) Then
buy();
if CrossDown(c,var1) Then
sell();
}
##당일 두번째 진입부터
## 전 청산이 "XL"이나 "XS"가 아닐경우
if count >= 1 and MarketPosition() == 0 Then{
if IsExitName("XL",1) == False and IsExitName("XS") == False Then{
if crossup(c,var1) Then
buy();
if CrossDown(c,var1) Then
sell();
}
}
##당일 두번째 진입부터
## 전 청산이 "XL"이나 "XS"일 경우
## 전 청산이 "XL"인 경우 매도조건 만족할 때만 진입
## 전 청산이 "XS"인 경우 매수조건 만족할 때만 진입
if count >= 1 and MarketPosition() == 0 Then{
if IsExitName("XL",1) == True Then{
if CrossDown(c,var1) Then
sell();
}
if IsExitName("XS",1) == True Then{
if CrossUp(c,var1) Then
buy();
}
}
if CrossUp(v,var2) Then
exitlong("XL");
if CrossDown(c,var3) Then
ExitShort("XS");
SetStopLoss(3,PointStop);
SetStopProfittarget(2,PointStop);
질문하신 부분 중
"이평선을뚫고 상승돌파시 상한선에닿을때 청산후, 다음신호에 매수.
이평선을뚫고 하락돌파시 하한선에닿을때 청산후, 다음신호에 매수"
이 둘다 매수여서 상한선 청산 후 다음신호는 매도로 작성했습니다.
또한 buy/sell에 의해 반대포지션 청산 하고 진입하지 않게 진입식에
MarketPosition() == 0을 넣었습니다. 허용하실 의도이시면
식상 and MarketPosition() == 0을 모두 삭제하시면 됩니다.
즐거운 하루되세요
> over5319 님이 쓴 글입니다.
> 제목 : 안녕하세요 문의드립니다.
> 크리스마스 잘보내셨는지요..^^;;
문의드립니다;
볼린저밴드 이평선을 뚫고 상승돌파 할 때, 매수
볼린저밴드 이평선을 뚫고 하락돌파 할 때, 매도
이평선을뚫고 상승돌파시 상한선에닿을때 청산후, 다음신호에 매수.
이평선을뚫고 하락돌파시 하한선에닿을때 청산후, 다음신호에 매수.
손절은 3pt, 수익청산은 2pt.
살펴봐주세요~
감사합니다.