커뮤니티
시스템식 부탁드립니다.
2011-04-24 16:21:23
606
글번호 37894
초보라 시스템식 작성시 이해할 수 있도록 주석을 자세히 달이주시길 부탁 드립니다.
아래는 제가 작성하다 잘 되지 않아 고민하고 있는 수식입니다. 많ㅇ느 손질 해주세요.
var : mav(0),mav1(0),mav2(0),malow(0),mahigh(0);
if date != date[1] Then{
Condition1 = False;
Condition2 = False;
Condition3 = False;
Condition4 = False;
}
mav = ma(C,1);
mav1 = ma(C,10);
mav2 = ma(C,40);
if Condition1 ==false and CrossDown(mav1,mav2) then{
Condition1 = true;
var1 = c; #크로스 값 저장
var2 = index;
}
#데드후 mav 최저가 계산
if CrossDown(mav1,mav2) Then{
Condition2 = true; #당일 발생했음을 나타냄
maLow = c;
var3 = index; #데드후 최저값 인덱스 저장
}
#데드후 mav값중 최저값 계산
if C < mav2 and c < malow Then
malow = c;
#이평40 위에서 mav 최고가 계산
if Crossup(c,mav2) Then{
Condition3 = true; #당일 발생했음을 나타냄
mahigh = c;
var4 = index; #이평 기준선 상향시의 인덱스 저장
}
#이평40 위에서 mav중 최고값 계산
if C > mav2 and c > mahigh Then
mahigh = c;
#데드값과 mahigh값 비교
if var2 < var3 and var3< var4 and #발생순서 지정
Condition1 == true and Condition2 == true and Condition3 == true and mahigh >= var1 Then{
Condition4 = true;#당일 발생했음을 나타냄
var5= index;
}
# 매수
if var2 < var3 and var3< var4 and var4 < var5 and #발생순서 지정
Condition1 == true and Condition2 == true and Condition3 == true and
Condition4 == true and malow < c and c < mahigh and CrossUp(mav1,c) then # 당일 모두 발생
buy();
# 매수청산
If CrossDown(c,mav1) Then
Sell();
if CrossDown(c,malow) Then
ExitLong();
감사합니다.
- 1. 매수,매도 손절 조건 그림.jpg (0.19 MB)
답변 1
예스스탁 예스스탁 답변
2011-04-25 13:49:37
안녕하세요
예스스탁입니다.
var1 = ma(c,10);
var2 = ma(C,40);
# 날짜가 변경되거나 데드크로스가 나면 Condition1을 false로 설정하여
# 다시 데드크로스가 발생했을때 매수하게 함
if date != date[1] or CrossDown(var1,var2) then
Condition1 = false;
# 10 -40 데드크로스
if CrossDown(var1,var2) Then{
Condition1 = true; #데드크로스 발생했음을 표기
value1 = C;#데드크로스봉의 종가
value2 = C;#데드크로스 최초 최고값을 데드크로스봉의 종가로 설정
value3 = C;#데드크로스 최초 최저값을 데드크로스봉의 종가로 설정
}
# 10-40 데드크로스 이후의 종가상 최고가와 최저가 계산
if C > value2 Then
value2 = C;
if C < value3 Then
value3 = C;
# 10-40 데드크로스 발생햇고
# 현재 종가가 최고가 보다 작고
# 현재 종가가 최조가 보다 크고
# 10이평을 상향돌파하면 매수
if Condition1 == true and C < value2 and C > value3 and Crossup(c,var1) Then
buy();
# 청산
if MarketPosition == 1 Then{
#진입시점의 이전의 10-40 데드크로스 이후의 최저가를 손절가로 사용
exitlong("bx1",AtStop,value3[BarsSinceEntry]);
# 종가가 진입 이전의 10-40 데드크로스 이후의 최고가보다 크거나 최저가보다 작고
# 종가가 10이평 하향이탈하면 청산
if (C > value2[BarsSinceEntry] or C < value3[BarsSinceEntry]) and CrossDown(c,var1) Then
ExitLong("bx2");
}
즐거운 하루되세요
> 항인내 님이 쓴 글입니다.
> 제목 : 시스템식 부탁드립니다.
> 초보라 시스템식 작성시 이해할 수 있도록 주석을 자세히 달이주시길 부탁 드립니다.
아래는 제가 작성하다 잘 되지 않아 고민하고 있는 수식입니다. 많ㅇ느 손질 해주세요.
var : mav(0),mav1(0),mav2(0),malow(0),mahigh(0);
if date != date[1] Then{
Condition1 = False;
Condition2 = False;
Condition3 = False;
Condition4 = False;
}
mav = ma(C,1);
mav1 = ma(C,10);
mav2 = ma(C,40);
if Condition1 ==false and CrossDown(mav1,mav2) then{
Condition1 = true;
var1 = c; #크로스 값 저장
var2 = index;
}
#데드후 mav 최저가 계산
if CrossDown(mav1,mav2) Then{
Condition2 = true; #당일 발생했음을 나타냄
maLow = c;
var3 = index; #데드후 최저값 인덱스 저장
}
#데드후 mav값중 최저값 계산
if C < mav2 and c < malow Then
malow = c;
#이평40 위에서 mav 최고가 계산
if Crossup(c,mav2) Then{
Condition3 = true; #당일 발생했음을 나타냄
mahigh = c;
var4 = index; #이평 기준선 상향시의 인덱스 저장
}
#이평40 위에서 mav중 최고값 계산
if C > mav2 and c > mahigh Then
mahigh = c;
#데드값과 mahigh값 비교
if var2 < var3 and var3< var4 and #발생순서 지정
Condition1 == true and Condition2 == true and Condition3 == true and mahigh >= var1 Then{
Condition4 = true;#당일 발생했음을 나타냄
var5= index;
}
# 매수
if var2 < var3 and var3< var4 and var4 < var5 and #발생순서 지정
Condition1 == true and Condition2 == true and Condition3 == true and
Condition4 == true and malow < c and c < mahigh and CrossUp(mav1,c) then # 당일 모두 발생
buy();
# 매수청산
If CrossDown(c,mav1) Then
Sell();
if CrossDown(c,malow) Then
ExitLong();
감사합니다.