예스스탁
예스스탁 답변
2025-02-03 16:04:29
안녕하세요
예스스탁입니다.
1
Var: achng_rt(0),aj(0),ama_val(0),astd_val(0),adn_rng(0),aup_rng(0),arawVBE_up(0),arawVBE_dn(0);
Array:alen[6](0),aVBE_up[6](0),aVBE_dn[6](0),
aup_chg[6](0),adn_chg[6](0),aup_cor[6](0),adn_cor[6](0),
afcstVBE_up[6](0),afcstVBE_dn[6](0);
alen[0] = 21;
alen[1] = 17;
alen[2] = 13;
alen[3] = 9;
alen[4] = 5;
alen[5] = 2;
achng_rt = (C/C[1]-1); //가격 변동률
ama_val = ma(achng_rt,alen[0]); //가격변동률의 평균
astd_val = Std(achng_rt,alen[0]); //가격변동률의 표준편차
adn_rng = ama_val - (astd_val * 2);
aup_rng = ama_val + (astd_val * 2);
arawVBE_up = C * (1 + aup_rng); //원시VBE
arawVBE_dn = C * (1 + adn_rng);
for aj = 0 to 5
{
aVBE_up[aj] = wma(arawVBE_up,alen[aj]); //원시VBE를 가중이평으로 평활화
aVBE_dn[aj] = wma(arawVBE_dn,alen[aj]);
if aVBE_up[aj][1] > 0 then aup_chg[aj] = (aVBE_up[aj]-aVBE_up[aj][1])/aVBE_up[aj][1]; //VBE의 변동률
if aVBE_dn[aj][1] > 0 then adn_chg[aj] = (aVBE_dn[aj]-aVBE_dn[aj][1])/aVBE_dn[aj][1];
}
afcstVBE_up[0] = aVBE_up[0];
afcstVBE_dn[0] = aVBE_dn[0];
for aj = 1 to 5 {
aup_cor[aj] = Correlation(aup_chg[0], aup_chg[aj],63); //21일 VBE변동률과 17,13,9,5,2 변동률간의 상관도
adn_cor[aj] = Correlation(adn_chg[0], adn_chg[aj],63);
afcstVBE_up[aj] = afcstVBE_up[aj-1] * (1+(aup_chg[aj]*aup_cor[aj])); //이전값에 상관도와 변동률을 곱해서 계산
afcstVBE_dn[aj] = afcstVBE_dn[aj-1] * (1+(adn_chg[aj]*adn_cor[aj]));
}
var1 = afcstVBE_up[0];
var2 = afcstVBE_dn[0];
input:N(4),multi(2),Period(63);
Var:chng_rt(0),j(0),ma_val(0),std_val(0),dn_rng(0),up_rng(0),rawVBE_up(0),rawVBE_dn(0);
Array:len[11](0),VBE_up[11](0),VBE_dn[11](0),
up_chg[11](0),dn_chg[11](0),up_cor[11](0),dn_cor[11](0),
fcstVBE_up[11](0),fcstVBE_dn[11](0);
len[0] = 2;
len[1] = 5;
len[2] = 9;
len[3] = 13;
len[4] = 17;
len[5] = 21;
len[6] = 25;
len[7] = 29;
len[8] = 33;
len[9] = 37;
len[10] = 41;
chng_rt = (C/C[1]-1); // 가격 변동률
ma_val = ma(chng_rt,len[N]); // 가격변동률의 평균
std_val = Std(chng_rt,len[N]); // 가격변동률의 표준편차
dn_rng = ma_val - (std_val * multi);
up_rng = ma_val + (std_val * multi);
rawVBE_up = C * (1 + up_rng); // 원시VBE
rawVBE_dn = C * (1 + dn_rng);
for j = 0 to N {
VBE_up[j] = wma(rawVBE_up,len[j]); // 원시VBE를 가중이평으로 평활화
VBE_dn[j] = wma(rawVBE_dn,len[j]);
if VBE_up[j][1] > 0 then up_chg[j] = (VBE_up[j]-VBE_up[j][1])/VBE_up[j][1]; // VBE의 변동률
if VBE_dn[j][1] > 0 then dn_chg[j] = (VBE_dn[j]-VBE_dn[j][1])/VBE_dn[j][1];
}
fcstVBE_up[N] = VBE_up[N];
fcstVBE_dn[N] = VBE_dn[N];
for j = N - 1 downto 0 {
up_cor[j] = Correlation(up_chg[N], up_chg[j],Period); // 21일 VBE변동률과 17,13,9,5,2 변동률간의 상관도
dn_cor[j] = Correlation(dn_chg[N], dn_chg[j],Period);
fcstVBE_up[j] = fcstVBE_up[j+1] * (1+(up_chg[j]*up_cor[j])); // 이전값에 상관도와 변동률을 곱해서 계산
fcstVBE_dn[j] = fcstVBE_dn[j+1] * (1+(dn_chg[j]*dn_cor[j]));
}
value1 = fcstVBE_up[N];
Value2 = fcstVBE_dn[N];
if CrossUp(var1,value1) Or CrossDown(var1,Value1) Then
Find(1);
2
Var: achng_rt(0),aj(0),ama_val(0),astd_val(0),adn_rng(0),aup_rng(0),arawVBE_up(0),arawVBE_dn(0);
Array:alen[6](0),aVBE_up[6](0),aVBE_dn[6](0),
aup_chg[6](0),adn_chg[6](0),aup_cor[6](0),adn_cor[6](0),
afcstVBE_up[6](0),afcstVBE_dn[6](0);
alen[0] = 21;
alen[1] = 17;
alen[2] = 13;
alen[3] = 9;
alen[4] = 5;
alen[5] = 2;
achng_rt = (C/C[1]-1); //가격 변동률
ama_val = ma(achng_rt,alen[0]); //가격변동률의 평균
astd_val = Std(achng_rt,alen[0]); //가격변동률의 표준편차
adn_rng = ama_val - (astd_val * 2);
aup_rng = ama_val + (astd_val * 2);
arawVBE_up = C * (1 + aup_rng); //원시VBE
arawVBE_dn = C * (1 + adn_rng);
for aj = 0 to 5
{
aVBE_up[aj] = wma(arawVBE_up,alen[aj]); //원시VBE를 가중이평으로 평활화
aVBE_dn[aj] = wma(arawVBE_dn,alen[aj]);
if aVBE_up[aj][1] > 0 then aup_chg[aj] = (aVBE_up[aj]-aVBE_up[aj][1])/aVBE_up[aj][1]; //VBE의 변동률
if aVBE_dn[aj][1] > 0 then adn_chg[aj] = (aVBE_dn[aj]-aVBE_dn[aj][1])/aVBE_dn[aj][1];
}
afcstVBE_up[0] = aVBE_up[0];
afcstVBE_dn[0] = aVBE_dn[0];
for aj = 1 to 5 {
aup_cor[aj] = Correlation(aup_chg[0], aup_chg[aj],63); //21일 VBE변동률과 17,13,9,5,2 변동률간의 상관도
adn_cor[aj] = Correlation(adn_chg[0], adn_chg[aj],63);
afcstVBE_up[aj] = afcstVBE_up[aj-1] * (1+(aup_chg[aj]*aup_cor[aj])); //이전값에 상관도와 변동률을 곱해서 계산
afcstVBE_dn[aj] = afcstVBE_dn[aj-1] * (1+(adn_chg[aj]*adn_cor[aj]));
}
var1 = afcstVBE_up[0];
var2 = afcstVBE_dn[0];
input:N(4),multi(2),Period(63);
Var:chng_rt(0),j(0),ma_val(0),std_val(0),dn_rng(0),up_rng(0),rawVBE_up(0),rawVBE_dn(0);
Array:len[11](0),VBE_up[11](0),VBE_dn[11](0),
up_chg[11](0),dn_chg[11](0),up_cor[11](0),dn_cor[11](0),
fcstVBE_up[11](0),fcstVBE_dn[11](0);
len[0] = 2;
len[1] = 5;
len[2] = 9;
len[3] = 13;
len[4] = 17;
len[5] = 21;
len[6] = 25;
len[7] = 29;
len[8] = 33;
len[9] = 37;
len[10] = 41;
chng_rt = (C/C[1]-1); // 가격 변동률
ma_val = ma(chng_rt,len[N]); // 가격변동률의 평균
std_val = Std(chng_rt,len[N]); // 가격변동률의 표준편차
dn_rng = ma_val - (std_val * multi);
up_rng = ma_val + (std_val * multi);
rawVBE_up = C * (1 + up_rng); // 원시VBE
rawVBE_dn = C * (1 + dn_rng);
for j = 0 to N {
VBE_up[j] = wma(rawVBE_up,len[j]); // 원시VBE를 가중이평으로 평활화
VBE_dn[j] = wma(rawVBE_dn,len[j]);
if VBE_up[j][1] > 0 then up_chg[j] = (VBE_up[j]-VBE_up[j][1])/VBE_up[j][1]; // VBE의 변동률
if VBE_dn[j][1] > 0 then dn_chg[j] = (VBE_dn[j]-VBE_dn[j][1])/VBE_dn[j][1];
}
fcstVBE_up[N] = VBE_up[N];
fcstVBE_dn[N] = VBE_dn[N];
for j = N - 1 downto 0 {
up_cor[j] = Correlation(up_chg[N], up_chg[j],Period); // 21일 VBE변동률과 17,13,9,5,2 변동률간의 상관도
dn_cor[j] = Correlation(dn_chg[N], dn_chg[j],Period);
fcstVBE_up[j] = fcstVBE_up[j+1] * (1+(up_chg[j]*up_cor[j])); // 이전값에 상관도와 변동률을 곱해서 계산
fcstVBE_dn[j] = fcstVBE_dn[j+1] * (1+(dn_chg[j]*dn_cor[j]));
}
value1 = fcstVBE_up[N];
Value2 = fcstVBE_dn[N];
if CrossUp(var2,value2) Or CrossDown(var2,Value2) Then
Find(1);
즐거운 하루되세요
> 미래테크 님이 쓴 글입니다.
> 제목 : 수식 부탁합니다
>
상단선과 하단선이 있는 두가지 검색식을 갖고
상단선과 하단선 끼리 발생한 Golden Cross와 Dead Cross 검색식 부탁합니다
1번 검색식
Var: achng_rt(0),aj(0),ama_val(0),astd_val(0),adn_rng(0),aup_rng(0),arawVBE_up(0),arawVBE_dn(0);
Array:alen[6](0),aVBE_up[6](0),aVBE_dn[6](0),
aup_chg[6](0),adn_chg[6](0),aup_cor[6](0),adn_cor[6](0),
afcstVBE_up[6](0),afcstVBE_dn[6](0);
alen[0] = 21;
alen[1] = 17;
alen[2] = 13;
alen[3] = 9;
alen[4] = 5;
alen[5] = 2;
achng_rt = (C/C[1]-1); //가격 변동률
ama_val = ma(achng_rt,alen[0]); //가격변동률의 평균
astd_val = Std(achng_rt,alen[0]); //가격변동률의 표준편차
adn_rng = ama_val - (astd_val * 2);
aup_rng = ama_val + (astd_val * 2);
arawVBE_up = C * (1 + aup_rng); //원시VBE
arawVBE_dn = C * (1 + adn_rng);
for aj = 0 to 5 {
aVBE_up[aj] = wma(arawVBE_up,alen[aj]); //원시VBE를 가중이평으로 평활화
aVBE_dn[aj] = wma(arawVBE_dn,alen[aj]);
if aVBE_up[aj][1] > 0 then aup_chg[aj] = (aVBE_up[aj]-aVBE_up[aj][1])/aVBE_up[aj][1]; //VBE의 변동률
if aVBE_dn[aj][1] > 0 then adn_chg[aj] = (aVBE_dn[aj]-aVBE_dn[aj][1])/aVBE_dn[aj][1];
}
afcstVBE_up[0] = aVBE_up[0];
afcstVBE_dn[0] = aVBE_dn[0];
for aj = 1 to 5 {
aup_cor[aj] = Correlation(aup_chg[0], aup_chg[aj],63); //21일 VBE변동률과 17,13,9,5,2 변동률간의 상관도
adn_cor[aj] = Correlation(adn_chg[0], adn_chg[aj],63);
afcstVBE_up[aj] = afcstVBE_up[aj-1] * (1+(aup_chg[aj]*aup_cor[aj])); //이전값에 상관도와 변동률을 곱해서 계산
afcstVBE_dn[aj] = afcstVBE_dn[aj-1] * (1+(adn_chg[aj]*adn_cor[aj]));
}
2번 검색식
input:N(4),multi(2),Period(63);
Var:chng_rt(0),j(0),ma_val(0),std_val(0),dn_rng(0),up_rng(0),rawVBE_up(0),rawVBE_dn(0);
Array:len[11](0),VBE_up[11](0),VBE_dn[11](0),
up_chg[11](0),dn_chg[11](0),up_cor[11](0),dn_cor[11](0),
fcstVBE_up[11](0),fcstVBE_dn[11](0);
len[0] = 2;
len[1] = 5;
len[2] = 9;
len[3] = 13;
len[4] = 17;
len[5] = 21;
len[6] = 25;
len[7] = 29;
len[8] = 33;
len[9] = 37;
len[10] = 41;
chng_rt = (C/C[1]-1); // 가격 변동률
ma_val = ma(chng_rt,len[N]); // 가격변동률의 평균
std_val = Std(chng_rt,len[N]); // 가격변동률의 표준편차
dn_rng = ma_val - (std_val * multi);
up_rng = ma_val + (std_val * multi);
rawVBE_up = C * (1 + up_rng); // 원시VBE
rawVBE_dn = C * (1 + dn_rng);
for j = 0 to N {
VBE_up[j] = wma(rawVBE_up,len[j]); // 원시VBE를 가중이평으로 평활화
VBE_dn[j] = wma(rawVBE_dn,len[j]);
if VBE_up[j][1] > 0 then up_chg[j] = (VBE_up[j]-VBE_up[j][1])/VBE_up[j][1]; // VBE의 변동률
if VBE_dn[j][1] > 0 then dn_chg[j] = (VBE_dn[j]-VBE_dn[j][1])/VBE_dn[j][1];
}
fcstVBE_up[N] = VBE_up[N];
fcstVBE_dn[N] = VBE_dn[N];
for j = N - 1 downto 0 {
up_cor[j] = Correlation(up_chg[N], up_chg[j],Period); // 21일 VBE변동률과 17,13,9,5,2 변동률간의 상관도
dn_cor[j] = Correlation(dn_chg[N], dn_chg[j],Period);
fcstVBE_up[j] = fcstVBE_up[j+1] * (1+(up_chg[j]*up_cor[j])); // 이전값에 상관도와 변동률을 곱해서 계산
fcstVBE_dn[j] = fcstVBE_dn[j+1] * (1+(dn_chg[j]*dn_cor[j]));
}
var11 = fcstVBE_up[0];
var12 = fcstVBE_dn[0];