커뮤니티
10분봉에서 30분봉 실시간 "단순"스토캐스틱
2013-11-20 11:13:28
249
글번호 69642
11월17일에 문의드려 답변을 잘 받았습니다.
추가로 2가지 더 문의 드립니다.
1.10분봉에서 30분봉 실시간 "단순"스토캐스틱으로 보는법 문의드립니다.
예스트레이더는 기본적으로 지수 스토캐스틱인줄 압니다.
단순스토캐스틱으로 보고 싶습니다.
2.시가(9시정각)에서 5분봉, 10분봉, 30분봉, 60분봉의 단순 스토캐스틱 상태를 보는법
문의드립니다. (과거차트 복기용)
지수 스토캐스틱으로 보는 법도 같이 알려주시면 감사하겠습니다.
-------------------------------------
안녕하세요
예스스탁입니다.
input : Atime(30),StoPeriod(10), StoPeriod1(6), StoPeriod2(6);
var : count(0), highVal(0), lowVal(0), StoFastK(0), StoK(0), StoD(0);
var : Ep(0), EP1(0), JISU(0), DINDEX(0), PreStoK(0), PreStoD(0),cnt(0);
Array : HH[50](0),LL[50](0);
var1 = TimeToMinutes(stime)%Atime;
if dayindex == 0 or (var1 < var1[1] and stime > stime[1]) Then{
HH[0] = H;
LL[0] = L;
for cnt = 1 to 49{
HH[cnt] = HH[cnt-1][1];
LL[cnt] = LL[cnt-1][1];
}
}
if H > HH[0] Then
HH[0] = H;
if L < LL[0] Then
LL[0] = L;
highVal = HH[0];
lowVal = LL[0];
for count = 0 to StoPeriod-1 {
if HH[count] > highVal then
highVal = HH[count];
if LL[count] < lowVal then
lowVal = LL[count];
}
StoFastK = (C-lowVal)/(highVal-lowVal)*100;
#### Slow StochasticsK ####
Ep = 2/(StoPeriod1+1);
if DINDEX >= StoPeriod and (date != date[1] or var1 < var1[1]) then {
DINDEX = DINDEX + 1;
PreStoK = StoK[1];
}
if DINDEX <= 1 then
StoK = StoFastK ;
else
StoK = StoFastK * EP + PreStoK * (1-EP);
#### Slow StochasticsD ####
Ep1 = 2/(StoPeriod2+1);
if date != date[1] or var1 < var1[1] then {
DINDEX = DINDEX + 1;
PreStoD = StoD[1];
}
if DINDEX <= 1 then
StoD = StoK ;
else
StoD = StoK * EP1 + PreStoD * (1-EP1);
plot1(StoK);
plot2(StoD);
PlotBaseLine1(20);
PlotBaseLine2(80);
즐거운 하루되세요
> 비류천 님이 쓴 글입니다.
> 제목 : 10분봉에서 30분봉 실시간 스토캐스틱
> 10분봉에서 30분봉 실시간 스토캐스틱 보는법
과거차트를 복기해보려합니다.
예를 들어 2013년 10월2일 오전 9시10분 에서
30분봉 스토캐스틱를 보고싶습니다.
지금은 30분봉이 완성된 상태만 보입니다. (9시30분)
분봉 실시간으로 스토캐스틱 확인하는 수식 문의드립니다.
답변 1
예스스탁 예스스탁 답변
2013-11-20 15:25:39
안녕하세요
예스스탁입니다.
1.
input : Atime(30),StoPeriod(10), StoPeriod1(6), StoPeriod2(6);
var : cnt(0),count(0),highVal(0), lowVal(0),Stok(0),StoD(0);
var : sum1(0),sum2(0);
Array : HH[50](0),LL[50](0),FK[50](0),SK[50](0);
var1 = TimeToMinutes(stime)%Atime;
if dayindex == 0 or (var1 < var1[1] and stime > stime[1]) Then{
HH[0] = H;
LL[0] = L;
for cnt = 1 to 49{
HH[cnt] = HH[cnt-1][1];
LL[cnt] = LL[cnt-1][1];
FK[cnt] = FK[cnt-1][1];
SK[cnt] = SK[cnt-1][1];
}
}
if H > HH[0] Then
HH[0] = H;
if L < LL[0] Then
LL[0] = L;
if HH[StoPeriod] > 0 Then{
highVal = HH[0];
lowVal = LL[0];
for count = 0 to StoPeriod-1 {
if HH[count] > highVal then
highVal = HH[count];
if LL[count] < lowVal then
lowVal = LL[count];
}
FK[0] = (C-lowVal)/(highVal-lowVal)*100;
}
if FK[StoPeriod1] > 0 Then{
sum1 = 0;
for cnt = 0 to StoPeriod1-1 {
sum1 = sum1+FK[cnt];
}
SK[0] = sum1/StoPeriod1;
Stok = Sk[0];
}
if StoK[StoPeriod2] > 0 Then{
sum2 = 0;
for cnt = 0 to StoPeriod2-1 {
sum2 = sum2+SK[cnt];
}
StoD = sum2/StoPeriod1;
}
plot1(StoK);
plot2(StoD);
PlotBaseLine1(20);
PlotBaseLine2(80);
2.
하나의 지표는 차트에 중복으로 적용이 됩니다.
여러번 적용하신 후에 외부변수(input)의 Atime을
다른 원하시는 주기로 지정하시면 해당 주기의 스토케스틱 값이 됩니다.
이전에 보내드린 지수기준 스토케스틱도 같습니다.
9시봉의 값만 하루동안 보고자 하시면 plot문을 아래와 같이 변경하시면 됩니다.
2-1 단순
input : Atime(30),StoPeriod(10), StoPeriod1(6), StoPeriod2(6);
var : cnt(0),count(0),highVal(0), lowVal(0),Stok(0),StoD(0);
var : sum1(0),sum2(0);
Array : HH[50](0),LL[50](0),FK[50](0),SK[50](0);
var1 = TimeToMinutes(stime)%Atime;
if dayindex == 0 or (var1 < var1[1] and stime > stime[1]) Then{
HH[0] = H;
LL[0] = L;
for cnt = 1 to 49{
HH[cnt] = HH[cnt-1][1];
LL[cnt] = LL[cnt-1][1];
FK[cnt] = FK[cnt-1][1];
SK[cnt] = SK[cnt-1][1];
}
}
if H > HH[0] Then
HH[0] = H;
if L < LL[0] Then
LL[0] = L;
if HH[StoPeriod] > 0 Then{
highVal = HH[0];
lowVal = LL[0];
for count = 0 to StoPeriod-1 {
if HH[count] > highVal then
highVal = HH[count];
if LL[count] < lowVal then
lowVal = LL[count];
}
FK[0] = (C-lowVal)/(highVal-lowVal)*100;
}
if FK[StoPeriod1] > 0 Then{
sum1 = 0;
for cnt = 0 to StoPeriod1-1 {
sum1 = sum1+FK[cnt];
}
SK[0] = sum1/StoPeriod1;
Stok = Sk[0];
}
if StoK[StoPeriod2] > 0 Then{
sum2 = 0;
for cnt = 0 to StoPeriod2-1 {
sum2 = sum2+SK[cnt];
}
StoD = sum2/StoPeriod1;
}
if dayindex == 0 Then{
var1 = stok;
var2 = stod;
}
plot1(var1);
plot2(var2);
PlotBaseLine1(20);
PlotBaseLine2(80);
2-2 지수
input : Atime(30),StoPeriod(10), StoPeriod1(6), StoPeriod2(6);
var : count(0), highVal(0), lowVal(0), StoFastK(0), StoK(0), StoD(0);
var : Ep(0), EP1(0), JISU(0), DINDEX(0), PreStoK(0), PreStoD(0),cnt(0);
Array : HH[50](0),LL[50](0);
var1 = TimeToMinutes(stime)%Atime;
if dayindex == 0 or (var1 < var1[1] and stime > stime[1]) Then{
HH[0] = H;
LL[0] = L;
for cnt = 1 to 49{
HH[cnt] = HH[cnt-1][1];
LL[cnt] = LL[cnt-1][1];
}
}
if H > HH[0] Then
HH[0] = H;
if L < LL[0] Then
LL[0] = L;
highVal = HH[0];
lowVal = LL[0];
for count = 0 to StoPeriod-1 {
if HH[count] > highVal then
highVal = HH[count];
if LL[count] < lowVal then
lowVal = LL[count];
}
StoFastK = (C-lowVal)/(highVal-lowVal)*100;
#### Slow StochasticsK ####
Ep = 2/(StoPeriod1+1);
if DINDEX >= StoPeriod and (date != date[1] or var1 < var1[1]) then {
DINDEX = DINDEX + 1;
PreStoK = StoK[1];
}
if DINDEX <= 1 then
StoK = StoFastK ;
else
StoK = StoFastK * EP + PreStoK * (1-EP);
#### Slow StochasticsD ####
Ep1 = 2/(StoPeriod2+1);
if date != date[1] or var1 < var1[1] then {
DINDEX = DINDEX + 1;
PreStoD = StoD[1];
}
if DINDEX <= 1 then
StoD = StoK ;
else
StoD = StoK * EP1 + PreStoD * (1-EP1);
if dayindex == 0 Then{
var1 = stok;
var2 = stod;
}
plot1(var1);
plot2(var2);
PlotBaseLine1(20);
PlotBaseLine2(80);
즐거운 하루되세요
> 비류천 님이 쓴 글입니다.
> 제목 : 10분봉에서 30분봉 실시간 "단순"스토캐스틱
> 11월17일에 문의드려 답변을 잘 받았습니다.
추가로 2가지 더 문의 드립니다.
1.10분봉에서 30분봉 실시간 "단순"스토캐스틱으로 보는법 문의드립니다.
예스트레이더는 기본적으로 지수 스토캐스틱인줄 압니다.
단순스토캐스틱으로 보고 싶습니다.
2.시가(9시정각)에서 5분봉, 10분봉, 30분봉, 60분봉의 단순 스토캐스틱 상태를 보는법
문의드립니다. (과거차트 복기용)
지수 스토캐스틱으로 보는 법도 같이 알려주시면 감사하겠습니다.
-------------------------------------
안녕하세요
예스스탁입니다.
input : Atime(30),StoPeriod(10), StoPeriod1(6), StoPeriod2(6);
var : count(0), highVal(0), lowVal(0), StoFastK(0), StoK(0), StoD(0);
var : Ep(0), EP1(0), JISU(0), DINDEX(0), PreStoK(0), PreStoD(0),cnt(0);
Array : HH[50](0),LL[50](0);
var1 = TimeToMinutes(stime)%Atime;
if dayindex == 0 or (var1 < var1[1] and stime > stime[1]) Then{
HH[0] = H;
LL[0] = L;
for cnt = 1 to 49{
HH[cnt] = HH[cnt-1][1];
LL[cnt] = LL[cnt-1][1];
}
}
if H > HH[0] Then
HH[0] = H;
if L < LL[0] Then
LL[0] = L;
highVal = HH[0];
lowVal = LL[0];
for count = 0 to StoPeriod-1 {
if HH[count] > highVal then
highVal = HH[count];
if LL[count] < lowVal then
lowVal = LL[count];
}
StoFastK = (C-lowVal)/(highVal-lowVal)*100;
#### Slow StochasticsK ####
Ep = 2/(StoPeriod1+1);
if DINDEX >= StoPeriod and (date != date[1] or var1 < var1[1]) then {
DINDEX = DINDEX + 1;
PreStoK = StoK[1];
}
if DINDEX <= 1 then
StoK = StoFastK ;
else
StoK = StoFastK * EP + PreStoK * (1-EP);
#### Slow StochasticsD ####
Ep1 = 2/(StoPeriod2+1);
if date != date[1] or var1 < var1[1] then {
DINDEX = DINDEX + 1;
PreStoD = StoD[1];
}
if DINDEX <= 1 then
StoD = StoK ;
else
StoD = StoK * EP1 + PreStoD * (1-EP1);
plot1(StoK);
plot2(StoD);
PlotBaseLine1(20);
PlotBaseLine2(80);
즐거운 하루되세요
> 비류천 님이 쓴 글입니다.
> 제목 : 10분봉에서 30분봉 실시간 스토캐스틱
> 10분봉에서 30분봉 실시간 스토캐스틱 보는법
과거차트를 복기해보려합니다.
예를 들어 2013년 10월2일 오전 9시10분 에서
30분봉 스토캐스틱를 보고싶습니다.
지금은 30분봉이 완성된 상태만 보입니다. (9시30분)
분봉 실시간으로 스토캐스틱 확인하는 수식 문의드립니다.