예스스탁
예스스탁 답변
2020-10-14 14:34:33
안녕하세요
예스스탁입니다.
1 타분봉
input : 타주기분(30),fastlength(55),slowlength(110),sig(5);
var : S1(0),D1(0),TM(0),TF(0),cnt(0);
Var : Sum1(0),CSum1(0),WMA1(0),WMA11(0);
Var : Sum2(0),CSum2(0),WMA2(0),WMA22(0);
var : FHULL(0),SHULL(0),FMHULL(0),FSHULL(0),SMHULL(0),sum(0),signal(0);
Array : CC[200](0),W1[100](0),W2[100](0),V1[100](0);
var1 = floor(fastlength/2);
var11 = fastlength/2;
var2 = floor(slowlength/2);
var22 = slowlength/2;
Var3 = round(sqrt(fastlength),0);
Var4 = round(sqrt(slowlength),0);
if Bdate != Bdate[1] Then
{
S1 = TimeToMinutes(stime);
D1 = sdate;
}
if D1 > 0 then
{
if sdate == D1 Then
TM = TimeToMinutes(stime)-S1;
Else
TM = TimeToMinutes(stime)+1440-S1;
TF = TM%타주기분;
if Bdate != Bdate[1] or
(Bdate == Bdate[1] and 타주기분 > 1 and TF < TF[1]) or
(Bdate == Bdate[1] and 타주기분 > 1 and TM >= TM[1]+타주기분) or
(Bdate == Bdate[1] and 타주기분 == 1 and TM > TM[1]) Then
{
for cnt = 1 to 199
{
CC[cnt] = CC[cnt-1][1];
W1[cnt] = W1[cnt-1][1];
W2[cnt] = W2[cnt-1][1];
V1[cnt] = V1[cnt-1][1];
}
}
CC[0] = C;
if CC[fastlength-1] > 0 Then
{
Sum1 = 0;
CSum1 = 0;
For cnt = 0 To var1 - 1 Begin
Sum1 = Sum1 + CC[cnt] * (var11 - cnt);
CSum1 = CSum1 + var11 - cnt;
End;
If CSum1 > 0 Then
WMA1 = Sum1/CSum1;
Else
WMA1 = 0;
Sum1 = 0;
CSum1 = 0;
For cnt = 0 To fastlength - 1 Begin
Sum1 = Sum1 + CC[cnt] * (fastlength - cnt);
CSum1 = CSum1 + fastlength - cnt;
End;
If CSum1 > 0 Then
WMA11 = Sum1/CSum1;
Else
WMA11 = 0;
W1[0] = 2 * WMA1 - WMA11;
}
if CC[slowlength-1] > 0 Then
{
Sum2 = 0;
CSum2 = 0;
For cnt = 0 To Var2 - 1 Begin
Sum2 = Sum2 + CC[cnt] * (Var22 - cnt);
CSum2 = CSum2 + Var22 - cnt;
End;
If CSum2 > 0 Then
WMA2 = Sum2/CSum2;
Else
WMA2 = 0;
Sum2 = 0;
CSum2 = 0;
For cnt = 0 To slowlength - 1 Begin
Sum2 = Sum2 + CC[cnt] * (slowlength - cnt);
CSum2 = CSum2 + slowlength - cnt;
End;
If CSum2 > 0 Then
WMA22 = Sum2/CSum2;
Else
WMA22 = 0;
W2[0] = 2 * WMA2 - WMA22;
}
if W1[Var3-1] > 0 and W2[Var4-1] > 0 Then
{
Sum1 = 0;
CSum1 = 0;
For cnt = 0 To Var3 - 1 Begin
Sum1 = Sum1 + W1[cnt] * (Var3 - cnt);
CSum1 = CSum1 + Var3 - cnt;
End;
If CSum1 > 0 Then
FHULL = Sum1/CSum1;
Else
FHULL = 0;
Sum2 = 0;
CSum2 = 0;
For cnt = 0 To Var4 - 1 Begin
Sum2 = Sum2 + W2[cnt] * (Var4 - cnt);
CSum2 = CSum2 + Var4 - cnt;
End;
If CSum2 > 0 Then
SHULL = Sum2/CSum2;
Else
SHULL = 0;
v1[0] = fhull-shull;
Plot1(v1[0]);
}
if CC[slowlength+sig] > 0 Then
{
sum = 0;
For cnt = 0 to sig-1
{
sum = sum + v1[cnt];
}
signal = sum/sig;
Plot2(signal);
}
}
2 일봉
input : 타주기분(30),fastlength(55),slowlength(110),sig(5);
Var : Sum1(0),CSum1(0),WMA1(0),WMA11(0),cnt(0);
Var : Sum2(0),CSum2(0),WMA2(0),WMA22(0);
var : FHULL(0),SHULL(0),FMHULL(0),FSHULL(0),SMHULL(0),sum(0),signal(0);
Array : CC[200](0),W1[100](0),W2[100](0),V1[100](0);
var1 = floor(fastlength/2);
var11 = fastlength/2;
var2 = floor(slowlength/2);
var22 = slowlength/2;
Var3 = round(sqrt(fastlength),0);
Var4 = round(sqrt(slowlength),0);
if Bdate != Bdate[1] Then
{
for cnt = 1 to 199
{
CC[cnt] = CC[cnt-1][1];
W1[cnt] = W1[cnt-1][1];
W2[cnt] = W2[cnt-1][1];
V1[cnt] = V1[cnt-1][1];
}
}
CC[0] = C;
if CC[fastlength-1] > 0 Then
{
Sum1 = 0;
CSum1 = 0;
For cnt = 0 To var1 - 1 Begin
Sum1 = Sum1 + CC[cnt] * (var11 - cnt);
CSum1 = CSum1 + var11 - cnt;
End;
If CSum1 > 0 Then
WMA1 = Sum1/CSum1;
Else
WMA1 = 0;
Sum1 = 0;
CSum1 = 0;
For cnt = 0 To fastlength - 1 Begin
Sum1 = Sum1 + CC[cnt] * (fastlength - cnt);
CSum1 = CSum1 + fastlength - cnt;
End;
If CSum1 > 0 Then
WMA11 = Sum1/CSum1;
Else
WMA11 = 0;
W1[0] = 2 * WMA1 - WMA11;
}
if CC[slowlength-1] > 0 Then
{
Sum2 = 0;
CSum2 = 0;
For cnt = 0 To Var2 - 1 Begin
Sum2 = Sum2 + CC[cnt] * (Var22 - cnt);
CSum2 = CSum2 + Var22 - cnt;
End;
If CSum2 > 0 Then
WMA2 = Sum2/CSum2;
Else
WMA2 = 0;
Sum2 = 0;
CSum2 = 0;
For cnt = 0 To slowlength - 1 Begin
Sum2 = Sum2 + CC[cnt] * (slowlength - cnt);
CSum2 = CSum2 + slowlength - cnt;
End;
If CSum2 > 0 Then
WMA22 = Sum2/CSum2;
Else
WMA22 = 0;
W2[0] = 2 * WMA2 - WMA22;
}
if W1[Var3-1] > 0 and W2[Var4-1] > 0 Then
{
Sum1 = 0;
CSum1 = 0;
For cnt = 0 To Var3 - 1 Begin
Sum1 = Sum1 + W1[cnt] * (Var3 - cnt);
CSum1 = CSum1 + Var3 - cnt;
End;
If CSum1 > 0 Then
FHULL = Sum1/CSum1;
Else
FHULL = 0;
Sum2 = 0;
CSum2 = 0;
For cnt = 0 To Var4 - 1 Begin
Sum2 = Sum2 + W2[cnt] * (Var4 - cnt);
CSum2 = CSum2 + Var4 - cnt;
End;
If CSum2 > 0 Then
SHULL = Sum2/CSum2;
Else
SHULL = 0;
v1[0] = fhull-shull;
Plot1(v1[0]);
}
if CC[slowlength+sig] > 0 Then
{
sum = 0;
For cnt = 0 to sig-1
{
sum = sum + v1[cnt];
}
signal = sum/sig;
Plot2(signal);
}
즐거운 하루되세요
> 뮬리 님이 쓴 글입니다.
> 제목 : 부탁 드립니다.
> 도움에 깊이 감사 드립니다.
타주기수식
1)분봉에서 분봉
2)분봉에서 일봉 지표
부탁드립니다.
미리 경배로 감사 인사 올립니다.
input:fastlength(55);
input:slowlength(110);
input:sig(5);
var : FHULL(0),SHULL(0),FMHULL(0),FSHULL(0),SMHULL(0);
FHULL = wma(2 * wma(c, fastlength / 2) - wma(c, fastlength), round(sqrt(fastlength),0));
SHULL = wma(2 * wma(c, slowlength / 2) - wma(c, slowlength), round(sqrt(slowlength),0));
var1=fhull-shull;
var2=ma(var1,sig);
참고수식)
input : ntime(60);
var : S1(0),D1(0),TM(0),TF(0),cnt(0),HH(0),LL(0),CC(0),C1(0);
Array : TH[100](0),TL[100](0),TR[100](0);
if Bdate != Bdate[1] Then
{
S1 = TimeToMinutes(stime);
D1 = sdate;
}
if D1 > 0 then
{
if sdate == D1 Then
TM = TimeToMinutes(stime)-S1;
Else
TM = TimeToMinutes(stime)+1440-S1;
TF = TM%ntime;
if Bdate != Bdate[1] or
(Bdate == Bdate[1] and ntime > 1 and TF < TF[1]) or
(Bdate == Bdate[1] and ntime > 1 and TM >= TM[1]+ntime) or
(Bdate == Bdate[1] and ntime == 1 and TM > TM[1]) Then
{
if idx >= Period+sig Then
{
sum = 0;
For cnt = 0 to sig-1
{
sum = sum + diff[cnt];
}
mav = sum/sig;
}