커뮤니티
함수수정요청(갭보정 226호)
2015-12-27 22:20:38
153
글번호 93796
안녕하세요?
갭보정 이동평균선을 활용 아래의 함수를 수정요청드립니다.
http://3x3x3.tistory.com/10 처럼요~
------------------------------------------------------------------------------------
input : xtime(60000);
var : tcond(false),cond1(false),cond2(false);
if bdate != bdate[1] Then{
Tcond = true;
Condition1 = false;
Condition2 = false;
}
if stime == xtime or (stime > xtime and stime[1] < Xtime) Then{
Tcond = false;
}
var1 = ma(c,5);
var2 = ma(c,10);
cond1 = C > var1 and var1 > var2;
cond2 = C < var1 and var1 < var2;
if cond1 == true and cond1[1] == false then
Condition1 = true;
if cond2 == true and cond2[1] == false then
Condition2 = true;
if Tcond == true And
Condition1 == true and cond1 == true and
var1 > var1[1] and var2 > var2[1] Then
buy("B");
if Tcond == true And
Condition2 == true and Cond2 == true and
var1 < var1[1] and var2 < var2[1] Then
sell("S");
답변 2
통큰베팅
2015-12-28 10:32:52
추가문의 사항이 있어서 질문올립니다.
실질적으로 스크립트에 갭을 보정한 함수를 넣어서 갭보정안한 차트에 적용하나,
갭을 보정하지 않은 함수를 넣고 차트를 보정해서 적용시키나
이 둘의 신호는 같아야 하는지요?
> 통큰베팅 님이 쓴 글입니다.
> 제목 : 함수수정요청(갭보정 226호)
> 안녕하세요?
갭보정 이동평균선을 활용 아래의 함수를 수정요청드립니다.
http://3x3x3.tistory.com/10 처럼요~
------------------------------------------------------------------------------------
input : xtime(60000);
var : tcond(false),cond1(false),cond2(false);
if bdate != bdate[1] Then{
Tcond = true;
Condition1 = false;
Condition2 = false;
}
if stime == xtime or (stime > xtime and stime[1] < Xtime) Then{
Tcond = false;
}
var1 = ma(c,5);
var2 = ma(c,10);
cond1 = C > var1 and var1 > var2;
cond2 = C < var1 and var1 < var2;
if cond1 == true and cond1[1] == false then
Condition1 = true;
if cond2 == true and cond2[1] == false then
Condition2 = true;
if Tcond == true And
Condition1 == true and cond1 == true and
var1 > var1[1] and var2 > var2[1] Then
buy("B");
if Tcond == true And
Condition2 == true and Cond2 == true and
var1 < var1[1] and var2 < var2[1] Then
sell("S");
예스스탁 예스스탁 답변
2015-12-28 16:06:49
안녕하세요
예스스탁입니다.
1.
input : N1(5),N2(20);
var : Acnt(0),Bcnt(0),gab(0),t(0);
array : sum[2](0), N[2](0);
//N1과 N2는 이평선 주기
gab = dayopen(0) - dayclose(1); // 갭 값 = 당일 시가 - 전일 종가
t = MinutesToTime(540 + (Interval * N2)); // 봉의 주기를 변경해도 계산되도록 조정
N[0] = N1;
N[1] = N2;
for Acnt = 0 to 1 {
sum[Acnt] = 0; //sum값 초기화
For Bcnt = 0 to N[Acnt]-1 {
If BDate[0] == BDate[Bcnt] Then{
sum[Acnt] = sum[Acnt] + c[Bcnt]; // 봉의 시작 날짜가 지금과 같으면 그냥 더함
}
Else{
sum[Acnt] = sum[Acnt] + c[Bcnt] + gab; // 봉의 시작 날짜가 지금과 같지 않으면 갭 값도 더함
}
}
sum[Acnt] = sum[Acnt] / N[Acnt];
}
input : xtime(60000);
var : tcond(false),cond1(false),cond2(false);
if bdate != bdate[1] Then{
Tcond = true;
Condition1 = false;
Condition2 = false;
}
if stime == xtime or (stime > xtime and stime[1] < Xtime) Then{
Tcond = false;
}
var1 = sum[0];
var2 = sum[1];
cond1 = C > var1 and var1 > var2;
cond2 = C < var1 and var1 < var2;
if cond1 == true and cond1[1] == false then
Condition1 = true;
if cond2 == true and cond2[1] == false then
Condition2 = true;
if Tcond == true And
Condition1 == true and cond1 == true and
var1 > var1[1] and var2 > var2[1] Then
buy("B");
if Tcond == true And
Condition2 == true and Cond2 == true and
var1 < var1[1] and var2 < var2[1] Then
sell("S");
2.
차트 자체를 갭보정하는 것과
수식에서 갭보정을 염두에 두고 작성하는 식은
서로 성격이 달라 신호에 차이가 있을수 있습니다.
차트의 갭보정은 당일 데이터를 고정하고
과거로 가면서 차트 전체 데이터를 보정하게 되고
이 데이터에 식을 적용하게 됩니다.
즉 당일데이터를 제외하면 과거일은 모두 변경된 값입니다.
위 올리신 식은 당일 5,20이평을 계산하는데
과거5, 20개봉중 전일봉이 있으면 오늘 갭만큼 보정해서 값을 사용하는 식일뿐입니다.
단순이평과 같이 현재봉에서 과거값을 가져와 가감해 사용할수 있을때만
사용할수 있는 내용입니다. 지수이평류들은 계산이 가능하지 않습니다.
즐거운 하루되세요
> 통큰베팅 님이 쓴 글입니다.
> 제목 : Re : 함수수정요청(갭보정 226호)
> 추가문의 사항이 있어서 질문올립니다.
실질적으로 스크립트에 갭을 보정한 함수를 넣어서 갭보정안한 차트에 적용하나,
갭을 보정하지 않은 함수를 넣고 차트를 보정해서 적용시키나
이 둘의 신호는 같아야 하는지요?
> 통큰베팅 님이 쓴 글입니다.
> 제목 : 함수수정요청(갭보정 226호)
> 안녕하세요?
갭보정 이동평균선을 활용 아래의 함수를 수정요청드립니다.
http://3x3x3.tistory.com/10 처럼요~
------------------------------------------------------------------------------------
input : xtime(60000);
var : tcond(false),cond1(false),cond2(false);
if bdate != bdate[1] Then{
Tcond = true;
Condition1 = false;
Condition2 = false;
}
if stime == xtime or (stime > xtime and stime[1] < Xtime) Then{
Tcond = false;
}
var1 = ma(c,5);
var2 = ma(c,10);
cond1 = C > var1 and var1 > var2;
cond2 = C < var1 and var1 < var2;
if cond1 == true and cond1[1] == false then
Condition1 = true;
if cond2 == true and cond2[1] == false then
Condition2 = true;
if Tcond == true And
Condition1 == true and cond1 == true and
var1 > var1[1] and var2 > var2[1] Then
buy("B");
if Tcond == true And
Condition2 == true and Cond2 == true and
var1 < var1[1] and var2 < var2[1] Then
sell("S");