커뮤니티
프로그램 수정
2015-04-27 16:51:44
144
글번호 85465
갭보정에서 사용하던 산식을
갭무보정차트에 적용키위해 산식을 수정중입니다
아래와 같은 원래산식을 작성해주신 산식으로 수정을 했는데 제대로 않되네요
검토부탁드립니다
-갭보정차트에서 사용하던 원래산식-
var:J(0);
var:상승율(0),하락율(0),상(0),하(0);
상승율=ma( (GAP_Ma(C,1)-DayLow[1])/(DayHigh[1]-DayLow[1])*100,2) ;
하락율=ma( (DayHigh[1]-GAP_Ma(C,1))/(DayHigh[1]-DayLow[1])*100,2) ;
If 상승율 >=100 Then
상=100;
Else If 상승율 <=0 Then
상=0;
Else
상=상승율;
If 하락율 >=100 Then
하=100;
Else If 하락율 <=0 Then
하=0;
Else
하=하락율;
plot1(상,"상");
plot2(하,"하");
-갭무보정차트에 적용할 수정식-
var : gapx(0),sumgapx(0),GxO(0),GxH(0),GxL(0),GxC(0),xcnt(0);
Array : GapxDO[50](0),GapxDH[50](0),GapxDL[50](0),GapxDC[50](0);
if date!=date[1] THen { // 날짜가 변경되는 봉에서(분봉에서 첫번째 봉)
gapx = Open-Close[1]; // 일간갭
sumGapx = sumGapx+gapx; // 일간갭 누적
GapxDO[0] = O - sumGapx;
GapxDH[0] = H - sumGapx;
GapxDL[0] = L - sumGapx;
for xcnt = 1 to 49{
GapxDO[xcnt] = GapxDO[xcnt-1][1];
GapxDH[xcnt] = GapxDH[xcnt-1][1];
GapxDL[xcnt] = GapxDL[xcnt-1][1];
}
}
GxO = O - sumGapx;// 갭보정 시가
GxH = H - sumGapx;// 갭보정 고가
GxL = L - sumGapx;// 갭보정 저가
GxC = C - sumGapx; // 갭보정 종가
GapxDC[0] = GxC;
##############################################
var:J(0);
var:상승율(0),하락율(0),상(0),하(0);
상승율=ma( (GAP_Ma(C,1)-GapxDL[1])/(GapxDH[1]-GapxDL[1])*100,2) ;
하락율=ma( (GapxDH[1]-GAP_Ma(C,1))/(GapxDH[1]-GapxDL[1])*100,2) ;
//상승율=ma( (GxC-GxL[1])/(GxH[1]-GxL[1])*100,2) ;
//하락율=ma( (GxH[1]-GxC)/(GxH[1]-GxL[1])*100,2) ;
If 상승율 >=100 Then
상=100;
Else If 상승율 <=0 Then
상=0;
Else
상=상승율;
If 하락율 >=100 Then
하=100;
Else If 하락율 <=0 Then
하=0;
Else
하=하락율;
plot1(상,"상");
plot2(하,"하");
답변 3
예스스탁 예스스탁 답변
2015-04-28 09:45:19
안녕하세요
예스스탁입니다.
상승율=ma( (GAP_Ma(C,1)-DayLow[1])/(DayHigh[1]-DayLow[1])*100,2) ;
하락율=ma( (DayHigh[1]-GAP_Ma(C,1))/(DayHigh[1]-DayLow[1])*100,2) ;
기존에 쓰시던 위식에서
DayLow[1]와 DayHigh[1]은
차트가 일봉이면 전일저가와 전일고가이지만
분봉이하에서는 한봉전기준 당일저가와 당일고가입니다.
상승율=ma( (GAP_Ma(C,1)-GapxDL[1])/(GapxDH[1]-GapxDL[1])*100,2) ;
하락율=ma( (GapxDH[1]-GAP_Ma(C,1))/(GapxDH[1]-GapxDL[1])*100,2) ;
그러므로
GapxDL[1], GapxDH[1]이 아닌
GapxDL[0][1], GapxDH[0][1]와 같이 당일 작성하셔야 합니다.
즉 당일값인데 한봉전 값입니다.
var : gapx(0),sumgapx(0),GxO(0),GxH(0),GxL(0),GxC(0),xcnt(0);
Array : GapxDO[50](0),GapxDH[50](0),GapxDL[50](0),GapxDC[50](0);
if date!=date[1] THen { // 날짜가 변경되는 봉에서(분봉에서 첫번째 봉)
gapx = Open-Close[1]; // 일간갭
sumGapx = sumGapx+gapx; // 일간갭 누적
GapxDO[0] = O - sumGapx;
GapxDH[0] = H - sumGapx;
GapxDL[0] = L - sumGapx;
for xcnt = 1 to 49{
GapxDO[xcnt] = GapxDO[xcnt-1][1];
GapxDH[xcnt] = GapxDH[xcnt-1][1];
GapxDL[xcnt] = GapxDL[xcnt-1][1];
}
}
GxO = O - sumGapx;// 갭보정 시가
GxH = H - sumGapx;// 갭보정 고가
GxL = L - sumGapx;// 갭보정 저가
GxC = C - sumGapx; // 갭보정 종가
GapxDC[0] = GxC;
##############################################
var:J(0);
var:상승율(0),하락율(0),상(0),하(0);
상승율=ma( (GAP_Ma(C,1)-GapxDL[0][1])/(GapxDH[0][1]-GapxDL[0][1])*100,2) ;
하락율=ma( (GapxDH[0][1]-GAP_Ma(C,1))/(GapxDH[0][1]-GapxDL[0][1])*100,2) ;
//상승율=ma( (GxC-GxL[1])/(GxH[1]-GxL[1])*100,2) ;
//하락율=ma( (GxH[1]-GxC)/(GxH[1]-GxL[1])*100,2) ;
If 상승율 >=100 Then
상=100;
Else If 상승율 <=0 Then
상=0;
Else
상=상승율;
If 하락율 >=100 Then
하=100;
Else If 하락율 <=0 Then
하=0;
Else
하=하락율;
plot1(상,"상");
plot2(하,"하");
즐거운 하루되세요
> 티끌 님이 쓴 글입니다.
> 제목 : 프로그램 수정
> 갭보정에서 사용하던 산식을
갭무보정차트에 적용키위해 산식을 수정중입니다
아래와 같은 원래산식을 작성해주신 산식으로 수정을 했는데 제대로 않되네요
검토부탁드립니다
-갭보정차트에서 사용하던 원래산식-
var:J(0);
var:상승율(0),하락율(0),상(0),하(0);
상승율=ma( (GAP_Ma(C,1)-DayLow[1])/(DayHigh[1]-DayLow[1])*100,2) ;
하락율=ma( (DayHigh[1]-GAP_Ma(C,1))/(DayHigh[1]-DayLow[1])*100,2) ;
If 상승율 >=100 Then
상=100;
Else If 상승율 <=0 Then
상=0;
Else
상=상승율;
If 하락율 >=100 Then
하=100;
Else If 하락율 <=0 Then
하=0;
Else
하=하락율;
plot1(상,"상");
plot2(하,"하");
-갭무보정차트에 적용할 수정식-
var : gapx(0),sumgapx(0),GxO(0),GxH(0),GxL(0),GxC(0),xcnt(0);
Array : GapxDO[50](0),GapxDH[50](0),GapxDL[50](0),GapxDC[50](0);
if date!=date[1] THen { // 날짜가 변경되는 봉에서(분봉에서 첫번째 봉)
gapx = Open-Close[1]; // 일간갭
sumGapx = sumGapx+gapx; // 일간갭 누적
GapxDO[0] = O - sumGapx;
GapxDH[0] = H - sumGapx;
GapxDL[0] = L - sumGapx;
for xcnt = 1 to 49{
GapxDO[xcnt] = GapxDO[xcnt-1][1];
GapxDH[xcnt] = GapxDH[xcnt-1][1];
GapxDL[xcnt] = GapxDL[xcnt-1][1];
}
}
GxO = O - sumGapx;// 갭보정 시가
GxH = H - sumGapx;// 갭보정 고가
GxL = L - sumGapx;// 갭보정 저가
GxC = C - sumGapx; // 갭보정 종가
GapxDC[0] = GxC;
##############################################
var:J(0);
var:상승율(0),하락율(0),상(0),하(0);
상승율=ma( (GAP_Ma(C,1)-GapxDL[1])/(GapxDH[1]-GapxDL[1])*100,2) ;
하락율=ma( (GapxDH[1]-GAP_Ma(C,1))/(GapxDH[1]-GapxDL[1])*100,2) ;
//상승율=ma( (GxC-GxL[1])/(GxH[1]-GxL[1])*100,2) ;
//하락율=ma( (GxH[1]-GxC)/(GxH[1]-GxL[1])*100,2) ;
If 상승율 >=100 Then
상=100;
Else If 상승율 <=0 Then
상=0;
Else
상=상승율;
If 하락율 >=100 Then
하=100;
Else If 하락율 <=0 Then
하=0;
Else
하=하락율;
plot1(상,"상");
plot2(하,"하");
티끌
2015-04-28 10:38:19
설명해주신걸 이해했지만
갭보정차트에 적용해서 나온 결과와
갭무보정차트에 적용해서 나온 결과가 너무 차이납니다
두 결과를 일치시키고 싶은데....
이 차이의 원인은 무엇인지요?
예스스탁 예스스탁 답변
2015-04-28 10:53:45
안녕하세요
예스스탁입니다.
사용하는 식은 식안에서 갭을 보정을 합니다.
차트 자체는 갭보정을 하지 않는 차트에 적용합니다.
차트자체를 보정하는 것과
수식에서 갭보정하는 것은 개념상 다릅니다.
차트자체를 보정하게 되면
차트의 마지막일의 데이터를 고정한 상태에서
과거로 가면서 데이터를 보정합니다.
하지만 수식은 항상 과거에서부터 현재로만 수식이 계산되므로
수식안에서는 위와 같은 보정값을 얻을수는 없습니다.
수식에서는 과거에서 현재로 오면서 날짜가 변경되면 갭을 누적해서 값을 반영해 계산하는 것입니다.
이렇게 수식에서 갭보정을 하게 작성하는 이유는
차트 자체를 보정하게 되면 시스템이나 지표를 적용하면 매일 값이 변경이 되므로
과거 신호가 매일 변경이 되어 신호를 연결할수가 없는 문제가 있습니다.
그러므로 하나의 대안으로 차트의 데이터는 보정하지 않고
식상에서 갭을 없애 갭으로인한 왜곡을 없애서 지표값을 이용하고자 할때 사용하는 방법입니다.
즉 데이터 자체를 보정한것과 같이 값을 일치할 방법은 없습니다.
즐거운 하루되세요
> 티끌 님이 쓴 글입니다.
> 제목 : Re : Re : 결과를 차트에 적용하면..
> 설명해주신걸 이해했지만
갭보정차트에 적용해서 나온 결과와
갭무보정차트에 적용해서 나온 결과가 너무 차이납니다
두 결과를 일치시키고 싶은데....
이 차이의 원인은 무엇인지요?