안녕하십니까.
30분봉상의 "TSF"(Period_560)를
5분봉에 출력하고자 하는데
제 머리로는 어렵네요..ㅠ
ㅅ....살려주세요 ㅠㅁㅠ
답변 1
예스스탁
예스스탁 답변
2022-09-13 14:33:38
안녕하세요
예스스탁입니다.
input : 타주기분(30),P(60);
var : S1(0),D1(0),TM(0),TF(0),cnt(0);
var : LRSv(0),SumBars(0),SumSqrBars(0),accum1(0),accum2(0),accum3(0);
var : SumY(0),num1(0),num2(0);
var : sum1(0),sum2(0),sum3(0),sum4(0),mav1(0),mav2(0),mav3(0),mav4(0),LRLv(0);
var : TSFv(0);
Array : C1[600](0),AccumValue[600](0);
if P == 0 Then
LRSv = 0;
SumBars = P * (P - 1) * .5;
SumSqrBars = (P - 1) * P * (2 * P - 1) / 6;
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
{
AccumValue[0] = AccumValue[0]+1;
for cnt = 1 to 599
{
C1[cnt] = C1[cnt-1][1];
AccumValue[cnt] = AccumValue[cnt-1][1];
}
}
C1[0] = C;
if C1[P] > 0 then
{
sum1 = 0;
sum2 = 0;
sum3 = 0;
sum4 = 0;
accum1 = 0;
accum3 = 0;
For cnt = 0 To P - 1
{
sum1 = sum1 + AccumValue[cnt];
sum2 = sum2 + C1[cnt];
sum3 = sum3 + C1[cnt]*AccumValue[cnt];
sum4 = sum4 + AccumValue[cnt]^2;
accum1= accum1 + cnt * C1[cnt];
accum3= accum3 + C1[cnt];
}
mav1 = sum1/P;
mav2 = sum2/P;
mav3 = sum3/P;
mav4 = sum4/P;
LRLv = (mav3 - mav1 * mav2) /(mav4 - (mav1^2)) * (AccumValue[0] - mav1) + mav2;
SumY = accum3;
accum2 = SumBars * SumY;
Num1 = P * accum1 - accum2;
Num2 = SumBars * SumBars - P * SumSqrBars;
If Num2 != 0 Then
LRSv = Num1 / Num2;
Else
LRSv = 0;
TSFv = LRLv+LRSv;
plot1(TSFv);
}
}
즐거운 하루되세요
> 쾌감 님이 쓴 글입니다.
> 제목 : 30분봉상 TSF를 5분봉에 넣기
> 안녕하십니까.
30분봉상의 "TSF"(Period_560)를
5분봉에 출력하고자 하는데
제 머리로는 어렵네요..ㅠ
ㅅ....살려주세요 ㅠㅁㅠ