커뮤니티
재문의 드립니다..
2008-07-21 22:21:51
791
글번호 16321
아래의 식은 얼마전에 문의 드렸던 부분인데요.
한가지 추가 사항이 있습니다..
아래의 식에 손절식을 넣었더니 손절한 이후에는 당일날 진입 신호가 나오지 않더라구요..
만일 손절이후에 아래의 조건에 해당하는 사항이 발생된다면 다시 진입할 수 있도록 부탁 드립니다..
그리고 손절식도 있는데요,
진입기준이 되는 var1의 종가를 하향돌파하면 매수손절,
상향돌파하면 매도손절하는 경우와,
진입신호봉의 종가를 하향돌파하면 매수손절,
상향돌파하면 매도손절을 하는 경우
이렇게 부탁 드립니다..
여러가지로 복잡하게 질문드려 죄송합니다..
감사합니다^^
var : value(0),cnt(0);
var1 = ma(c,5);
if v > 10000 and c < o Then
value1 = var1;
if v > 10000 and c > o Then
value2 = var1;
## 첫진입
if cnt < 1 Then{
if crossup(c,value1) Then{
buy("첫매수");
cnt = 1;
}
if crossdown(c,value2) Then{
sell("첫매도");
cnt = 1;
}
}
## 첫진입 이후
if cnt >= 1 Then{
if accumn(iff(v > 10000 and c < o,1,0),BarsSinceEntry()) >= 1 and
crossup(c,var1[MRO(v > 10000 and c < o,BarsSinceEntry(),1)]) then{
buy("매수");
}
if accumn(iff(v > 10000 and c > o,1,0),BarsSinceEntry()) >= 1 and
CrossDown(c,var1[MRO(v > 10000 and c > o,BarsSinceEntry(),1)]) then{
Sell("매도");
}
}
이와 같은 식의 경우 차트상 첫 진입은 과 그 이후 진입을 따로 작성하셔야 합니다.
첫진입은 그 때 까지 발생한 값을 쓰고 첫진입 이후에는
전진입과 현재사이에 조건이 발생했는지를 확인 후 진입에 들어갑니다.
즐거운 하루되세요
답변 1
예스스탁 예스스탁 답변
2008-07-22 13:06:45
안녕하세요
예스스탁입니다.
var : value(0),cnt(0);
var1 = ma(c,5);
if v > 10000 and c < o Then
value1 = var1;
if v > 10000 and c > o Then
value2 = var1;
## 첫진입
if cnt < 1 Then{
if crossup(c,value1) Then{
buy("첫매수");
cnt = 1;
}
if crossdown(c,value2) Then{
sell("첫매도");
cnt = 1;
}
}
if MarketPosition() != 0 Then{
if CrossDown(c,value1) Then
exitlong("매수손절");
if CrossUp(C,value2) Then
exitshort("매도손절");
}
## 첫진입 이후
if cnt >= 1 and MarketPosition() != 0 Then{
if accumn(iff(v > 10000 and c < o,1,0),BarsSinceEntry()) >= 1 and
crossup(c,var1[MRO(v > 10000 and c < o,BarsSinceEntry(),1)]) then{
buy("매수1");
value1 = var1[MRO(v > 10000 and c < o,BarsSinceEntry(),1)];
}
if accumn(iff(v > 10000 and c > o,1,0),BarsSinceEntry()) >= 1 and
CrossDown(c,var1[MRO(v > 10000 and c > o,BarsSinceEntry(),1)]) then{
Sell("매도1");
value2 = var1[MRO(v > 10000 and c > o,BarsSinceEntry(),1)];
}
}
if cnt >= 1 and MarketPosition() == 0 Then{
if accumn(iff(v > 10000 and c < o,1,0),BarsSinceExit(1)) >= 1 and
crossup(c,var1[MRO(v > 10000 and c < o,BarsSinceExit(1),1)]) then{
buy("매수2");
value1 = var1[MRO(v > 10000 and c < o,BarsSinceExit(1),1)];
}
if accumn(iff(v > 10000 and c > o,1,0),BarsSinceExit(1)) >= 1 and
CrossDown(c,var1[MRO(v > 10000 and c > o,BarsSinceExit(1),1)]) then{
Sell("매도2");
value2 = var1[MRO(v > 10000 and c > o,BarsSinceExit(1),1)];
}
}
즐거운 하루되세요
> CJ_coco 님이 쓴 글입니다.
> 제목 : 재문의 드립니다..
> 아래의 식은 얼마전에 문의 드렸던 부분인데요.
한가지 추가 사항이 있습니다..
아래의 식에 손절식을 넣었더니 손절한 이후에는 당일날 진입 신호가 나오지 않더라구요..
만일 손절이후에 아래의 조건에 해당하는 사항이 발생된다면 다시 진입할 수 있도록 부탁 드립니다..
그리고 손절식도 있는데요,
진입기준이 되는 var1의 종가를 하향돌파하면 매수손절,
상향돌파하면 매도손절하는 경우와,
진입신호봉의 종가를 하향돌파하면 매수손절,
상향돌파하면 매도손절을 하는 경우
이렇게 부탁 드립니다..
여러가지로 복잡하게 질문드려 죄송합니다..
감사합니다^^
var : value(0),cnt(0);
var1 = ma(c,5);
if v > 10000 and c < o Then
value1 = var1;
if v > 10000 and c > o Then
value2 = var1;
## 첫진입
if cnt < 1 Then{
if crossup(c,value1) Then{
buy("첫매수");
cnt = 1;
}
if crossdown(c,value2) Then{
sell("첫매도");
cnt = 1;
}
}
## 첫진입 이후
if cnt >= 1 Then{
if accumn(iff(v > 10000 and c < o,1,0),BarsSinceEntry()) >= 1 and
crossup(c,var1[MRO(v > 10000 and c < o,BarsSinceEntry(),1)]) then{
buy("매수");
}
if accumn(iff(v > 10000 and c > o,1,0),BarsSinceEntry()) >= 1 and
CrossDown(c,var1[MRO(v > 10000 and c > o,BarsSinceEntry(),1)]) then{
Sell("매도");
}
}
이와 같은 식의 경우 차트상 첫 진입은 과 그 이후 진입을 따로 작성하셔야 합니다.
첫진입은 그 때 까지 발생한 값을 쓰고 첫진입 이후에는
전진입과 현재사이에 조건이 발생했는지를 확인 후 진입에 들어갑니다.
즐거운 하루되세요