커뮤니티
수식검토요
2013-09-17 09:17:51
243
글번호 67590
<질문1>
아래와 같이 작성해 주신 갭스톡을 사용하는 중입니다
화면은 갭보정차트 1분봉을 주봉으로하고 2분봉을 data2로 사용합니다
그런데 그림의 노란박스에서 보듯이 SK05>SD05 조건인데도
SK05<SD05에 진입하는 경우가 발생했습니다
갭스톡 지표와 갭스톡사용자 함수(화면의 제일밑부분)를 비교해보니 화면상으로 상이하지만,
무엇때문인지는 잘모르겠습니다
검토부탁드립니다
SD05 = Gap_StoD(05,03,03); SK05 = Gap_StoK(05,03);
Count01=CountIF((Side==-10 or Side==-05 or Side==-03) ,D2UDi4-D2UDi3+1);
If Count01==0
and D2UDi4[1]!=D2UDi4[0]
and PaDo>=-1
and SK05>SD05 and SK05[1]<SK05[0]
Then {//
Buy("B1",AtMarket);
Ent1i=Index;
}
지표와 사용자함수
#GAP_STOK
input : Period(Numeric), Period1(Numeric);
var : sumGap(0), gap(0), GO(0), GH(0), GL(0), GC(0);
var : stoLval(0), stoHval(0), fstK(0), stoK(0), stoD(0);
if date!=date[1] then { // 날짜가 변경되는 봉에서(분봉에서 첫번째 봉)
gap = Open-Close[1]; // 일간갭
sumGap = sumGap+gap; // 일간갭 누적
}
GO = O - sumGap;// 갭보정 시가
GH = H - sumGap;// 갭보정 고가
GL = L - sumGap;// 갭보정 저가
GC = C - sumGap; // 갭보정 종가
stoLval = lowest(GL,Period);
stoHval = highest(GH,Period);
fstK = (GC-stoLval)/(stoHval-stoLval)*100;
Gap_stoK = ema(fstK, Period1);
#GAP_STOD
input : Period(Numeric), Period1(Numeric), Period2(Numeric);
var : sumGap(0), gap(0), GO(0), GH(0), GL(0), GC(0);
var : stoLval(0), stoHval(0), fstK(0), stoK(0), stoD(0);
if date!=date[1] then { // 날짜가 변경되는 봉에서(분봉에서 첫번째 봉)
gap = Open-Close[1]; // 일간갭
sumGap = sumGap+gap; // 일간갭 누적
}
GO = O - sumGap;// 갭보정 시가
GH = H - sumGap;// 갭보정 고가
GL = L - sumGap;// 갭보정 저가
GC = C - sumGap; // 갭보정 종가
stoLval = lowest(GL,Period);
stoHval = highest(GH,Period);
fstK = (GC-stoLval)/(stoHval-stoLval)*100;
stoK = ema(fstK, Period1);
GAP_stoD = ema(StoK, Period2);
/////////////////////////////////////////////////////////
#스토케스틱 갭보정 지표
input : Period(12), Period1(6), Period2(6);
var : sumGap(0), gap(0), GO(0), GH(0), GL(0), GC(0);
var : stoLval(0), stoHval(0), fstK(0), stoK(0), stoD(0);
if date!=date[1] then { // 날짜가 변경되는 봉에서(분봉에서 첫번째 봉)
gap = Open-Close[1]; // 일간갭
sumGap = sumGap+gap; // 일간갭 누적
}
GO = O - sumGap;// 갭보정 시가
GH = H - sumGap;// 갭보정 고가
GL = L - sumGap;// 갭보정 저가
GC = C - sumGap; // 갭보정 종가
stoLval = lowest(GL,Period);
stoHval = highest(GH,Period);
fstK = (GC-stoLval)/(stoHval-stoLval)*100;
stoK = ema(fstK, Period1);
stoD = ema(StoK, Period2);
var1=50;
If CrossUp(stoK,stoD)Then
var1=60;
If CrossDown(stoK,stoD)Then
var1=40;
plot1(stoK,"갭보정 %K");
plot2(stoD,"갭보정 %D");
plot3(Var1,"Cros");
PlotBaseLine1(10, "기준선1");
PlotBaseLine2(20, "기준선2");
//PlotBaseLine3(30, "기준선3");
//PlotBaseLine4(40, "기준선4");
//PlotBaseLine5(60, "기준선5");
//PlotBaseLine6(70, "기준선6");
PlotBaseLine7(80, "기준선7");
PlotBaseLine8(90, "기준선8");
<질문2>
진입이후 진입봉이 아니라 "진입2번째봉이 진입이후 최고가"일때
아래와 같이 하는것이 가능한지요?
H[BarsSinceEntry-1]==Highest(H,BarsSinceEntry+1)
- 1. 68036_GAP_STOD.yfu (0.00 MB)
- 2. GAP_STOK.yfu (0.00 MB)
- 3. SK05SD05-2.jpg (0.52 MB)
- 4. Stochastics_갭보정.yin (0.00 MB)
답변 1
예스스탁 예스스탁 답변
2013-09-17 09:32:58
안녕하세요
예스스탁입니다.
1. 각 수식의 기간값 확인하시기 바랍니다.
아래지표 적용해 보시면 2개의 값이 모두 같은 것을 확인하실 수 있습니다.
확인결과 값이 다르게 나오는 경우를 발견하지 못했습니다.
input : Period(5), Period1(3), Period2(3);
var : sumGap(0), gap(0), GO(0), GH(0), GL(0), GC(0);
var : stoLval(0), stoHval(0), fstK(0), stoK(0), stoD(0);
if date!=date[1] then { // 날짜가 변경되는 봉에서(분봉에서 첫번째 봉)
gap = Open-Close[1]; // 일간갭
sumGap = sumGap+gap; // 일간갭 누적
}
GO = O - sumGap;// 갭보정 시가
GH = H - sumGap;// 갭보정 고가
GL = L - sumGap;// 갭보정 저가
GC = C - sumGap; // 갭보정 종가
stoLval = lowest(GL,Period);
stoHval = highest(GH,Period);
fstK = (GC-stoLval)/(stoHval-stoLval)*100;
stoK = ema(fstK, Period1);
stoD = ema(StoK, Period2);
var1=50;
If CrossUp(stoK,stoD)Then
var1=60;
If CrossDown(stoK,stoD)Then
var1=40;
var : Sd05(0),sk05(0);
SK05 = Gap_StoK(Period,Period1);
SD05 = Gap_StoD(Period,Period1,Period2);
plot1(stoK,"갭보정 %K");
plot2(stoD,"갭보정 %D");
plot3(sk05);
plot4(sd05);
2,
시스템 식에서 참조데이터를 사용한 경우
data1로 묶어주시고 변수선언에도 (0,data1)과 같이 처리해 주셔야 합니다.
var : SD05(0,data1),SK05(0,data1);
SD05 = data1(Gap_StoD(05,03,03));
SK05 = data1(Gap_StoK(05,03));
즐거운 하루되세요
> 티끌 님이 쓴 글입니다.
> 제목 : 수식검토요
> <질문1>
아래와 같이 작성해 주신 갭스톡을 사용하는 중입니다
화면은 갭보정차트 1분봉을 주봉으로하고 2분봉을 data2로 사용합니다
그런데 그림의 노란박스에서 보듯이 SK05>SD05 조건인데도
SK05<SD05에 진입하는 경우가 발생했습니다
갭스톡 지표와 갭스톡사용자 함수(화면의 제일밑부분)를 비교해보니 화면상으로 상이하지만,
무엇때문인지는 잘모르겠습니다
검토부탁드립니다
SD05 = Gap_StoD(05,03,03); SK05 = Gap_StoK(05,03);
Count01=CountIF((Side==-10 or Side==-05 or Side==-03) ,D2UDi4-D2UDi3+1);
If Count01==0
and D2UDi4[1]!=D2UDi4[0]
and PaDo>=-1
and SK05>SD05 and SK05[1]<SK05[0]
Then {//
Buy("B1",AtMarket);
Ent1i=Index;
}
지표와 사용자함수
#GAP_STOK
input : Period(Numeric), Period1(Numeric);
var : sumGap(0), gap(0), GO(0), GH(0), GL(0), GC(0);
var : stoLval(0), stoHval(0), fstK(0), stoK(0), stoD(0);
if date!=date[1] then { // 날짜가 변경되는 봉에서(분봉에서 첫번째 봉)
gap = Open-Close[1]; // 일간갭
sumGap = sumGap+gap; // 일간갭 누적
}
GO = O - sumGap;// 갭보정 시가
GH = H - sumGap;// 갭보정 고가
GL = L - sumGap;// 갭보정 저가
GC = C - sumGap; // 갭보정 종가
stoLval = lowest(GL,Period);
stoHval = highest(GH,Period);
fstK = (GC-stoLval)/(stoHval-stoLval)*100;
Gap_stoK = ema(fstK, Period1);
#GAP_STOD
input : Period(Numeric), Period1(Numeric), Period2(Numeric);
var : sumGap(0), gap(0), GO(0), GH(0), GL(0), GC(0);
var : stoLval(0), stoHval(0), fstK(0), stoK(0), stoD(0);
if date!=date[1] then { // 날짜가 변경되는 봉에서(분봉에서 첫번째 봉)
gap = Open-Close[1]; // 일간갭
sumGap = sumGap+gap; // 일간갭 누적
}
GO = O - sumGap;// 갭보정 시가
GH = H - sumGap;// 갭보정 고가
GL = L - sumGap;// 갭보정 저가
GC = C - sumGap; // 갭보정 종가
stoLval = lowest(GL,Period);
stoHval = highest(GH,Period);
fstK = (GC-stoLval)/(stoHval-stoLval)*100;
stoK = ema(fstK, Period1);
GAP_stoD = ema(StoK, Period2);
/////////////////////////////////////////////////////////
#스토케스틱 갭보정 지표
input : Period(12), Period1(6), Period2(6);
var : sumGap(0), gap(0), GO(0), GH(0), GL(0), GC(0);
var : stoLval(0), stoHval(0), fstK(0), stoK(0), stoD(0);
if date!=date[1] then { // 날짜가 변경되는 봉에서(분봉에서 첫번째 봉)
gap = Open-Close[1]; // 일간갭
sumGap = sumGap+gap; // 일간갭 누적
}
GO = O - sumGap;// 갭보정 시가
GH = H - sumGap;// 갭보정 고가
GL = L - sumGap;// 갭보정 저가
GC = C - sumGap; // 갭보정 종가
stoLval = lowest(GL,Period);
stoHval = highest(GH,Period);
fstK = (GC-stoLval)/(stoHval-stoLval)*100;
stoK = ema(fstK, Period1);
stoD = ema(StoK, Period2);
var1=50;
If CrossUp(stoK,stoD)Then
var1=60;
If CrossDown(stoK,stoD)Then
var1=40;
plot1(stoK,"갭보정 %K");
plot2(stoD,"갭보정 %D");
plot3(Var1,"Cros");
PlotBaseLine1(10, "기준선1");
PlotBaseLine2(20, "기준선2");
//PlotBaseLine3(30, "기준선3");
//PlotBaseLine4(40, "기준선4");
//PlotBaseLine5(60, "기준선5");
//PlotBaseLine6(70, "기준선6");
PlotBaseLine7(80, "기준선7");
PlotBaseLine8(90, "기준선8");
<질문2>
진입이후 진입봉이 아니라 "진입2번째봉이 진입이후 최고가"일때
아래와 같이 하는것이 가능한지요?
H[BarsSinceEntry-1]==Highest(H,BarsSinceEntry+1)