커뮤니티
재질문입니다.
2004-03-10 17:53:42
1237
글번호 2743
다시 질문 드리게 되어 죄송합니다.
그림1은 답변해주신 수식에 의한 그래프입니다.
그림2는 원래 제가 의도한 지표를 나타내는 그림입니다. (60분봉, 이평은 10과 20)
현재 간인 구간0를 기준으로 나타내어질 지표를 갖도록 부탁드립니다.
빨간선은 각 구간의 최고가입니다.
파란선은 각 구간의 최저가입니다.
고동색선은 각 구간의 크로스가입니다.
지금 상태가 데드이던 골든이든 상관없이 현재구간을 포함하여 이전 4개 구간의
각각 지표의 4개를 그려질 수 있으면 감사하겠습니다. (4*3=12개)
--------------------------------------------------------------
안녕하세요? 예스스탁입니다.....
이평선 골든/데드 크로스의 각 구간의 최대, 최소값 및 골든 데드크로스 시점의 가격을 파악하려 한다면 다음과 같이 식을 작성하시면 될 것입니다.
input : shortP(10), midP(20);
var : 단기이평(0), 중기이평(0);
var : GoldHigh(0), GoldLow(0), DeadHigh(0), DeadLow(0), HighI(0), LowI(0), GoldI(0), DeadI(0), deadindex(0), GoldValue(0), DeadValue(0);
단기이평 = ma(C, shortP);
중기이평 = ma(C, midP);
if date != date[1] then {
GoldHigh = H; //당일 분봉에만 적용
GoldLow = L;
DeadHigh = H;
DeadLow = L;
LowI = i;
}
### 골든 크로스 시점에서의 고가및 저가값 초기화 작업
if crossup(단기이평, 중기이평) and stime < 150000 then {
GoldHigh = H; // 당일 중 골든 크로스 발생한 시점에서 고가를 초기화 함
GoldLow = L; // 당일 중 골든 크로스 발생한 시점에서 저가를 초기화 함
GoldI = i;
GoldValue = C;
}
### 데드 크로스 시점에서의 고가및 저가값 초기화 작업
if crossdown(단기이평, 중기이평) and stime < 150000 then {
DeadHigh = H; // 당일 중 데드 크로스 발생한 시점에서 고가를 초기화 함
DeadLow = L; // 당일 중 데드 크로스 발생한 시점에서 저가를 초기화 함
DeadI= i;
DeadValue = C;
}
### 골든 크로스 구간에서의 고가값
if accumN(iff(crossup(단기이평, 중기이평),1,0),dayindex()+1) >= 1 and
단기이평 > 중기이평 and H > GoldHigh and stime < 150000 then {
GoldHigh = H; //당일 중 이전에 골든 크로스 난 적이 있어야 하며 단기가 중기보다 클 경우에만 고가를 그림
HighI = i;
}
else {
GoldHigh = GoldHigh;
HighI = HighI;
}
### 골든 크로스 구간에서의 저가값
if accumN(iff(crossup(단기이평, 중기이평),1,0),dayindex()+1) >= 1 and
단기이평 > 중기이평 and L < GoldLow and stime < 150000 then {
GoldLow = L; //당일 중 이전에 골든 크로스 난 적이 있어야 하며 단기가 중기보다 클 경우에만 저가를 그림
HighI = i;
}
else {
GoldLow = GoldLow;
HighI = HighI;
}
### 데드 크로스 구간에서의 고가값
if accumN(iff(crossdown(단기이평, 중기이평),1,0),dayindex()+1) >= 1 and
단기이평 < 중기이평 and H > DeadHigh and stime < 150000 then {
DeadHigh = H; // 당일 중 이전에 데드 크로스 난 적이 있어야 하며 단기가 중기보다 작을 경우에만 고가를 그림
LowI = i;
}
else {
DeadHigh = DeadHigh;
LowI = LowI;
}
### 데드 크로스 구간에서의 저가값
if accumN(iff(crossdown(단기이평, 중기이평),1,0),dayindex()+1) >= 1 and
단기이평 < 중기이평 and L < DeadLow and stime < 150000 then {
DeadLow = L; //당일 중 이전에 데드 크로스 난 적이 있어야 하며 단기가 중기보다 작을 경우에만 저가를 그림
LowI = i;
}
else {
DeadLow = DeadLow;
LowI = LowI;
}
plot1(GoldHigh); //골드크로스와 데드크로스간의 최고가값
plot2(GoldLow); //골드크로스와 데드크로스간의 최저가값
plot3(DeadHigh); //데드크로스와 골드크로스간의 최고가값
plot4(DeadLow); //데드크로스와 골드크로스간의 최저가값
plot5(GoldValue);
plot6(DeadValue);
즐거운 하루 되세요....
> lakepine 님이 쓴 글입니다.
> 제목 : 답변이 질문 의도와는 좀 거리가 있어서 재질문합니다.
> 안녕하세요? 죄송하지만 다시 한번 부탁드립니다.
질문의도는.........현재의 시점(골든크로스 또는 데드크로스 시작된 시점부터-다시 데드크로스 또는 골든크로스 되기 직전,예를들면 선물 일봉에서 최근 2월13일에 10 이평과 20 이평이 골든크로스 되었으면,,,현구간(구간0)은 2월13일부터 오늘 현재 진행중인 골든크로스구간입니다.) 에서
구간1은 2004년 2월10일- 2월13일
구간2은 2003년 12월30일-2004년 2월10일
구간3은 2003년 12월24일-2003년 12월 30일 이 될 것입니다.
구하고자 하는 것은
구간 0의 최저가, 최고가, 골든 및 데드크로스 가격
구간 1의 최저가, 최고가, 골든 및 데드크로스 가격 (최고가
구간 2의 최저가, 최고가, 골든 및 데드크로스 가격
구간 3의 최저가, 최고가, 골든 및 데드크로스 가격
(구간0의 골든크로스가=구간1의 골든크로스가이겟지요?
2004년 2월 13일 크로스 지점)
이 경우, 2월 13일 이후부터 오늘 현재까지는 구간0의 각 값은 계속 변하겠지만, 다른 구간의 값들은 새로운 데드크로스가 나기 전까지는 일정한 가격이 유지되겠지요?
그리고 새로운 데드크로스가 나오면 각 구간은 한단계씩 이동되겠지요. 원래 구간3의 값들은 없어지고 구간2의 값들은 구간3의 값으로 변할 것입니다. 구간 4의 값들은 필요 없습니다.
좀 복잡하겠지만 여기에 맞게 다시한번 설명해 주신다면 감사하겠습니다.
답변 주신 내용은 일별 기준으로 고가(예)가 바뀌는군요. 참고로 데이 매매용이 아니고 포지션 매매를 위해 필요합니다.
알기 쉽게 일봉으로 설명했지만 실제로는 60분봉에서 10 이평과 20 이평을 기준으로 ...설명해 주시면 감사하겠습니다. 3시 이후봉 제외 설명은 생략해 주셔도 좋습니다.
---------------------------------------------------------------------------------
(전 답변 내용)
안녕하세요? 예스스탁입니다....
문의하신 식을 작성하면 다음과 같으며 3시 이후봉을 제외하려면 다음의 구문 "stime < 150000"을 아래와 같이 조건문에 넣으시면 됩니다...
input : shortP(5), midP(20), longP(120);
var : 단기이평(0), 중기이평(0), 장기이평(0);
var : HighV(0), LowV(0), HighI(0), LowI(0), GoldI(0), DeadI(0), deadindex(0), GoldValue(0), DeadValue(0);
단기이평 = ma(C, shortP);
중기이평 = ma(C, midP);
장기이평 = ma(C, longP);
if date != date[1] then {
HighV = H; //당일 분봉에만 적용
HighI = i;
LowV = L;
LowI = i;
}
if crossup(단기이평, 중기이평) and stime < 150000 then {
HighV = H; // 당일 중 골든 크로스 발생한 시점에서 고가를 초기화 함
GoldI = i;
GoldValue = C;
}
if crossdown(단기이평, 중기이평) and stime < 150000 then {
LowV = L; // 당일 중 데드 크로스 발생한 시점에서 저가를 초기화 함
DeadI= i;
DeadValue = C;
}
if accumN(iff(crossup(단기이평, 중기이평),1,0),dayindex()+1) >= 1 and
단기이평 > 중기이평 and H > HighV and stime < 150000 then {
HighV = H; // 당일 중 이전에 골든 크로스 난 적이 있어야 하며 단기가 중기보다 클 경우에만 고가를 그림
HighI = i;
}
else {
HighV = HighV;
HighI = HighI;
}
if accumN(iff(crossdown(단기이평, 중기이평),1,0),dayindex()+1) >= 1 and
단기이평 < 중기이평 and L < LowV and stime < 150000 then {
LowV = L; // 당일 중 이전에 데드 크로스 난 적이 있어야 하며 단기가 중기보다 작을 경우에만 저가를 그림
LowI = i;
}
else {
LowV = LowV;
LowI = LowI;
}
plot1(HighV); //골드크로스와 데드크로스간의 최고가값
plot2(LowV); //데드크로스와 골드크로스간의 최저가값
plot3(GoldValue);
plot4(DeadValue);
2. 지표 산출 시 3시 이후의 봉은 제외하고 산출할 수 없나요?
> lakepine 님이 쓴 글입니다.
> 제목 : 수식 문의
> 상황 : 10 이평과 20 이평이 있을 경우, 이 두 이평선은 계속해서 골든 크로스와 데드 크로스를 번갈아 형성하면서 진행될 것입니다. 이 경우......현 시점은 골든 크로스로 막 전환된 이후 시점이라고 가정할 경우, 지난 그래프 모습은 데드크로스(구간3), 골든크로스(구간2), 데드크로스 구간(구간1), 골든크로스구간(구간0-현재 위치)의 순서로 구분하여 나눌 수 있을 것입니다.
질문1) 각각의 구간(구간0, 구간1, 구간2, 구간3)의 최고가격, 최저가격, 크로스가격 값을 표시하는 식(4구간*3개 해서 총 12개의 값이 나오겠죠?)
-------------------------------------------------------------------------
질문2) 지표 산출 시 3시 이후의 봉은 제외하고 산출할 수 없나요?
- 1. 2802_1_zzz.GIF (0.03 MB)
- 2. 2802_2_zzzz.GIF (0.34 MB)
답변 1
예스스탁 예스스탁 답변
2004-03-11 16:27:18
안녕하세요? 예스스탁입니다...
문의주신 내용에 대해서 원하는 답변을 제대로 못 드린점 사과드립니다.
다시 문의주신 내용을 식으로 작성해 보았는데 의도하신 바와 그래도 차이가 있다면 다시한번 질문 부탁드리겠습니다.
아래 식의 내용은 이평선의 크로스 발생시 최저값 최고값을 그리게 되며 각 크로스 시점의 가격 또한 지표식으로 작성된 것입니다.
input : shortP(10), midP(20);
var : 단기이평(0), 중기이평(0);
var : GoldHigh(0), GoldLow(0), DeadHigh(0), DeadLow(0), HighI(0), LowI(0), GoldI(0), DeadI(0), deadindex(0), GoldValue(0), DeadValue(0);
단기이평 = ma(C, shortP);
중기이평 = ma(C, midP);
if date != date[1] then {
// GoldHigh = H; //당일 분봉에만 적용
// GoldLow = L;
// DeadHigh = H;
// DeadLow = L;
LowI = i;
}
### 골든 크로스 시점에서의 고가및 저가값 초기화 작업
if crossup(단기이평, 중기이평) and stime < 150000 then {
GoldHigh = H; // 당일 중 골든 크로스 발생한 시점에서 고가를 초기화 함
GoldLow = L; // 당일 중 골든 크로스 발생한 시점에서 저가를 초기화 함
GoldI = i;
GoldValue = C;
}
### 데드 크로스 시점에서의 고가및 저가값 초기화 작업
if crossdown(단기이평, 중기이평) and stime < 150000 then {
DeadHigh = H; // 당일 중 데드 크로스 발생한 시점에서 고가를 초기화 함
DeadLow = L; // 당일 중 데드 크로스 발생한 시점에서 저가를 초기화 함
DeadI= i;
DeadValue = C;
}
### 골든 크로스 구간에서의 고가값
if 단기이평 > 중기이평 and H > GoldHigh and stime < 150000 then {
GoldHigh = H; //당일 중 이전에 골든 크로스 난 적이 있어야 하며 단기가 중기보다 클 경우에만 고가를 그림
HighI = i;
}
else {
GoldHigh = GoldHigh;
HighI = HighI;
}
### 골든 크로스 구간에서의 저가값
if 단기이평 > 중기이평 and L < GoldLow and stime < 150000 then {
GoldLow = L; //당일 중 이전에 골든 크로스 난 적이 있어야 하며 단기가 중기보다 클 경우에만 저가를 그림
HighI = i;
}
else {
GoldLow = GoldLow;
HighI = HighI;
}
### 데드 크로스 구간에서의 고가값
if 단기이평 < 중기이평 and H > DeadHigh and stime < 150000 then {
DeadHigh = H; // 당일 중 이전에 데드 크로스 난 적이 있어야 하며 단기가 중기보다 작을 경우에만 고가를 그림
LowI = i;
}
else {
DeadHigh = DeadHigh;
LowI = LowI;
}
### 데드 크로스 구간에서의 저가값
if 단기이평 < 중기이평 and L < DeadLow and stime < 150000 then {
DeadLow = L; //당일 중 이전에 데드 크로스 난 적이 있어야 하며 단기가 중기보다 작을 경우에만 저가를 그림
LowI = i;
}
else {
DeadLow = DeadLow;
LowI = LowI;
}
plot1(GoldHigh); //골드크로스와 데드크로스간의 최고가값
plot2(GoldLow); //골드크로스와 데드크로스간의 최저가값
plot3(DeadHigh); //데드크로스와 골드크로스간의 최고가값
plot4(DeadLow); //데드크로스와 골드크로스간의 최저가값
plot5(GoldValue);
plot6(DeadValue);
즐거운 하루 되세요...
> lakepine 님이 쓴 글입니다.
> 제목 : 재질문입니다.
> 다시 질문 드리게 되어 죄송합니다.
그림1은 답변해주신 수식에 의한 그래프입니다.
그림2는 원래 제가 의도한 지표를 나타내는 그림입니다. (60분봉, 이평은 10과 20)
현재 간인 구간0를 기준으로 나타내어질 지표를 갖도록 부탁드립니다.
빨간선은 각 구간의 최고가입니다.
파란선은 각 구간의 최저가입니다.
고동색선은 각 구간의 크로스가입니다.
지금 상태가 데드이던 골든이든 상관없이 현재구간을 포함하여 이전 4개 구간의
각각 지표의 4개를 그려질 수 있으면 감사하겠습니다. (4*3=12개)
--------------------------------------------------------------
안녕하세요? 예스스탁입니다.....
이평선 골든/데드 크로스의 각 구간의 최대, 최소값 및 골든 데드크로스 시점의 가격을 파악하려 한다면 다음과 같이 식을 작성하시면 될 것입니다.
input : shortP(10), midP(20);
var : 단기이평(0), 중기이평(0);
var : GoldHigh(0), GoldLow(0), DeadHigh(0), DeadLow(0), HighI(0), LowI(0), GoldI(0), DeadI(0), deadindex(0), GoldValue(0), DeadValue(0);
단기이평 = ma(C, shortP);
중기이평 = ma(C, midP);
if date != date[1] then {
GoldHigh = H; //당일 분봉에만 적용
GoldLow = L;
DeadHigh = H;
DeadLow = L;
LowI = i;
}
### 골든 크로스 시점에서의 고가및 저가값 초기화 작업
if crossup(단기이평, 중기이평) and stime < 150000 then {
GoldHigh = H; // 당일 중 골든 크로스 발생한 시점에서 고가를 초기화 함
GoldLow = L; // 당일 중 골든 크로스 발생한 시점에서 저가를 초기화 함
GoldI = i;
GoldValue = C;
}
### 데드 크로스 시점에서의 고가및 저가값 초기화 작업
if crossdown(단기이평, 중기이평) and stime < 150000 then {
DeadHigh = H; // 당일 중 데드 크로스 발생한 시점에서 고가를 초기화 함
DeadLow = L; // 당일 중 데드 크로스 발생한 시점에서 저가를 초기화 함
DeadI= i;
DeadValue = C;
}
### 골든 크로스 구간에서의 고가값
if accumN(iff(crossup(단기이평, 중기이평),1,0),dayindex()+1) >= 1 and
단기이평 > 중기이평 and H > GoldHigh and stime < 150000 then {
GoldHigh = H; //당일 중 이전에 골든 크로스 난 적이 있어야 하며 단기가 중기보다 클 경우에만 고가를 그림
HighI = i;
}
else {
GoldHigh = GoldHigh;
HighI = HighI;
}
### 골든 크로스 구간에서의 저가값
if accumN(iff(crossup(단기이평, 중기이평),1,0),dayindex()+1) >= 1 and
단기이평 > 중기이평 and L < GoldLow and stime < 150000 then {
GoldLow = L; //당일 중 이전에 골든 크로스 난 적이 있어야 하며 단기가 중기보다 클 경우에만 저가를 그림
HighI = i;
}
else {
GoldLow = GoldLow;
HighI = HighI;
}
### 데드 크로스 구간에서의 고가값
if accumN(iff(crossdown(단기이평, 중기이평),1,0),dayindex()+1) >= 1 and
단기이평 < 중기이평 and H > DeadHigh and stime < 150000 then {
DeadHigh = H; // 당일 중 이전에 데드 크로스 난 적이 있어야 하며 단기가 중기보다 작을 경우에만 고가를 그림
LowI = i;
}
else {
DeadHigh = DeadHigh;
LowI = LowI;
}
### 데드 크로스 구간에서의 저가값
if accumN(iff(crossdown(단기이평, 중기이평),1,0),dayindex()+1) >= 1 and
단기이평 < 중기이평 and L < DeadLow and stime < 150000 then {
DeadLow = L; //당일 중 이전에 데드 크로스 난 적이 있어야 하며 단기가 중기보다 작을 경우에만 저가를 그림
LowI = i;
}
else {
DeadLow = DeadLow;
LowI = LowI;
}
plot1(GoldHigh); //골드크로스와 데드크로스간의 최고가값
plot2(GoldLow); //골드크로스와 데드크로스간의 최저가값
plot3(DeadHigh); //데드크로스와 골드크로스간의 최고가값
plot4(DeadLow); //데드크로스와 골드크로스간의 최저가값
plot5(GoldValue);
plot6(DeadValue);
즐거운 하루 되세요....
> lakepine 님이 쓴 글입니다.
> 제목 : 답변이 질문 의도와는 좀 거리가 있어서 재질문합니다.
> 안녕하세요? 죄송하지만 다시 한번 부탁드립니다.
질문의도는.........현재의 시점(골든크로스 또는 데드크로스 시작된 시점부터-다시 데드크로스 또는 골든크로스 되기 직전,예를들면 선물 일봉에서 최근 2월13일에 10 이평과 20 이평이 골든크로스 되었으면,,,현구간(구간0)은 2월13일부터 오늘 현재 진행중인 골든크로스구간입니다.) 에서
구간1은 2004년 2월10일- 2월13일
구간2은 2003년 12월30일-2004년 2월10일
구간3은 2003년 12월24일-2003년 12월 30일 이 될 것입니다.
구하고자 하는 것은
구간 0의 최저가, 최고가, 골든 및 데드크로스 가격
구간 1의 최저가, 최고가, 골든 및 데드크로스 가격 (최고가
구간 2의 최저가, 최고가, 골든 및 데드크로스 가격
구간 3의 최저가, 최고가, 골든 및 데드크로스 가격
(구간0의 골든크로스가=구간1의 골든크로스가이겟지요?
2004년 2월 13일 크로스 지점)
이 경우, 2월 13일 이후부터 오늘 현재까지는 구간0의 각 값은 계속 변하겠지만, 다른 구간의 값들은 새로운 데드크로스가 나기 전까지는 일정한 가격이 유지되겠지요?
그리고 새로운 데드크로스가 나오면 각 구간은 한단계씩 이동되겠지요. 원래 구간3의 값들은 없어지고 구간2의 값들은 구간3의 값으로 변할 것입니다. 구간 4의 값들은 필요 없습니다.
좀 복잡하겠지만 여기에 맞게 다시한번 설명해 주신다면 감사하겠습니다.
답변 주신 내용은 일별 기준으로 고가(예)가 바뀌는군요. 참고로 데이 매매용이 아니고 포지션 매매를 위해 필요합니다.
알기 쉽게 일봉으로 설명했지만 실제로는 60분봉에서 10 이평과 20 이평을 기준으로 ...설명해 주시면 감사하겠습니다. 3시 이후봉 제외 설명은 생략해 주셔도 좋습니다.
---------------------------------------------------------------------------------
(전 답변 내용)
안녕하세요? 예스스탁입니다....
문의하신 식을 작성하면 다음과 같으며 3시 이후봉을 제외하려면 다음의 구문 "stime < 150000"을 아래와 같이 조건문에 넣으시면 됩니다...
input : shortP(5), midP(20), longP(120);
var : 단기이평(0), 중기이평(0), 장기이평(0);
var : HighV(0), LowV(0), HighI(0), LowI(0), GoldI(0), DeadI(0), deadindex(0), GoldValue(0), DeadValue(0);
단기이평 = ma(C, shortP);
중기이평 = ma(C, midP);
장기이평 = ma(C, longP);
if date != date[1] then {
HighV = H; //당일 분봉에만 적용
HighI = i;
LowV = L;
LowI = i;
}
if crossup(단기이평, 중기이평) and stime < 150000 then {
HighV = H; // 당일 중 골든 크로스 발생한 시점에서 고가를 초기화 함
GoldI = i;
GoldValue = C;
}
if crossdown(단기이평, 중기이평) and stime < 150000 then {
LowV = L; // 당일 중 데드 크로스 발생한 시점에서 저가를 초기화 함
DeadI= i;
DeadValue = C;
}
if accumN(iff(crossup(단기이평, 중기이평),1,0),dayindex()+1) >= 1 and
단기이평 > 중기이평 and H > HighV and stime < 150000 then {
HighV = H; // 당일 중 이전에 골든 크로스 난 적이 있어야 하며 단기가 중기보다 클 경우에만 고가를 그림
HighI = i;
}
else {
HighV = HighV;
HighI = HighI;
}
if accumN(iff(crossdown(단기이평, 중기이평),1,0),dayindex()+1) >= 1 and
단기이평 < 중기이평 and L < LowV and stime < 150000 then {
LowV = L; // 당일 중 이전에 데드 크로스 난 적이 있어야 하며 단기가 중기보다 작을 경우에만 저가를 그림
LowI = i;
}
else {
LowV = LowV;
LowI = LowI;
}
plot1(HighV); //골드크로스와 데드크로스간의 최고가값
plot2(LowV); //데드크로스와 골드크로스간의 최저가값
plot3(GoldValue);
plot4(DeadValue);
2. 지표 산출 시 3시 이후의 봉은 제외하고 산출할 수 없나요?
> lakepine 님이 쓴 글입니다.
> 제목 : 수식 문의
> 상황 : 10 이평과 20 이평이 있을 경우, 이 두 이평선은 계속해서 골든 크로스와 데드 크로스를 번갈아 형성하면서 진행될 것입니다. 이 경우......현 시점은 골든 크로스로 막 전환된 이후 시점이라고 가정할 경우, 지난 그래프 모습은 데드크로스(구간3), 골든크로스(구간2), 데드크로스 구간(구간1), 골든크로스구간(구간0-현재 위치)의 순서로 구분하여 나눌 수 있을 것입니다.
질문1) 각각의 구간(구간0, 구간1, 구간2, 구간3)의 최고가격, 최저가격, 크로스가격 값을 표시하는 식(4구간*3개 해서 총 12개의 값이 나오겠죠?)
-------------------------------------------------------------------------
질문2) 지표 산출 시 3시 이후의 봉은 제외하고 산출할 수 없나요?