커뮤니티
120분봉에서 240분봉 지표 표시
2013-04-08 16:27:10
274
글번호 61797
안녕하세요.
아래와 같은 240분봉 지표를 120분봉 차트에 표시하고 싶습니다.
1. 240분봉 데이타의 80 볼밴 상하단 값
2. 240분봉 데이타의 MACD(12, 26), EMA(MACD(12, 26), 9);
3, 240분봉 데이타의 TSI(C, 8, 16, 12), EMA(TSI(C, 8, 16, 12), 3);
부탁 드립니다.
수고하세요.
답변 1
예스스탁 예스스탁 답변
2013-04-08 17:46:06
안녕하세요
예스스탁입니다.
1. 볼린져밴드
# 분봉에서 다른 분봉 이동평균 시작
input : Ntime(240),P(20),Dv(2);
var : cnt(0),count(0),sum(0),mav(0),MiBBup(0),MiBBdn(0),Avgv(0),SumSqrt(0),Counter(0),Stdv(0);
Array : CC[120](0);
if date != date[1] Then
var1 = TimeToMinutes(stime);
var2 = (TimeToMinutes(stime)-var1)%Ntime;
if dayindex() == 0 or (var2 < var2[1] and stime > stime[1]) Then{
for cnt = 1 to P-1{
CC[cnt] = CC[cnt-1][1];
}
}
CC[0] = C;
sum = 0;
for count = 0 to P-1{
sum = sum+CC[count];
}
mav = sum/P;
If CC[P-1] != 0 Then{
Avgv = mav;
SumSqrt = 0;
For Counter = 0 To P - 1 {
SumSqrt = SumSqrt + (CC[Counter] - Avgv) * (CC[Counter] - Avgv);
}
Stdv = SquareRoot(SumSqrt / P);
}
Else
Stdv = 0;
MiBBup = mav + (Dv * Stdv);
MiBBdn = mav - (Dv * Stdv);
plot1(MiBBup);
plot2(mav);
plot3(MiBBdn);
2. MACD
Input : Atime(240),Period1(12),Period2(26),Period3(9);
Var : Ep1(0), JISU1(0), DINDEX1(0), PreJISU1(0);
Var : Ep2(0), JISU2(0), PreJISU2(0);
Var : Ep3(0), JISU3(0), PreMACDSIG(0);
var : MACDVal(0),MACDSig(0),MACDOsc(0),PreMACDOsc(0);
Ep1 = 2/(Period1+1);
Ep2 = 2/(Period2+1);
Ep3 = 2/(Period3+1);
if date != date[1] then
var1 = TimeToMinutes(stime)%Ntime;
var2 = TimeToMinutes(stime)%Ntime;
if dayindex() == 0 or (var2 <= var2[1] and stime > stime[1]) Then{
DINDEX1 = DINDEX1 + 1;
PreJISU1 = JISU1[1];
PreJISU2 = JISU2[1];
PreMACDOsc = MACDOsc[1];
if Dindex1 >= 2 Then
PreMACDSIG = MACDSIG[1];
}
if DINDEX1 <= 1 then {
JISU1 = C;
JISU2 = C;
}
else{
JISU1 = C * EP1 + PreJISU1 * (1-EP1);
JISU2 = C * EP2 + PreJISU2 * (1-EP2);
}
MACDVal = JiSu1-Jisu2;
if DINDEX1 <= 2 then {
MACDSIG = Jisu1-jisu2;
}
else{
MACDSIG = MACDVal * EP3 + PreMACDSIG * (1-EP3);
}
plot1(MACDVal);
plot2(MACDsig);
3. TSi
Input : Ntime(240),R(4),S(8),U(6),SMTHLEN(3);
var : DINDEX1(0),TSIv(0),TSIs(0),Ep44(0),PreJISU44(0),PreC(0);
Var : Ep1(0), JISU1(0), PreJISU1(0), Ep11(0), JISU11(0), PreJISU11(0);
Var : Ep2(0), JISU2(0), PreJISU2(0), Ep22(0), JISU22(0), PreJISU22(0);
Var : Ep3(0), JISU3(0), PreJISU3(0), Ep33(0), JISU33(0), PreJISU33(0);
if date != date[1] then
var1 = TimeToMinutes(stime)%Ntime;
var2 = TimeToMinutes(stime)%Ntime;
Ep1 = 2/(R+1);
Ep2 = 2/(S+1);
Ep3 = 2/(U+1);
Ep11 = 2/(R+1);
Ep22 = 2/(S+1);
Ep33 = 2/(U+1);
Ep44 = 2/(SMTHLEN+1);
if dayindex == 0 or (var2 < var2[1] and stime > stime[1]) then {
DINDEX1= DINDEX1 + 1;
PreC = C[1];
if DINDEX1 >= 2 Then
PreJISU1 = JISU1[1];
if DINDEX1 >= 3 Then
PreJISU2 = JISU2[1];
if DINDEX1 >= 4 Then
PreJISU3 = JISU3[1];
if DINDEX1 >= 2 Then
PreJISU11 = JISU11[1];
if DINDEX1 >= 3 Then
PreJISU22 = JISU22[1];
if DINDEX1 >= 4 Then
PreJISU33 = JISU33[1];
if DINDEX1 >= 5 Then
PreJISU44 = TSIs[1];
}
if DINDEX1 <= 2 then
JISU1 = C-PreC;
else
JISU1 = (C-PreC) * EP1 + PreJISU1 * (1-EP1);
if DINDEX1 <= 3 then
JISU2 = JISU1;
else
JISU2 = JISU1 * EP2 + PreJISU2 * (1-EP2);
if DINDEX1 <= 4 then
JISU3 = JISU2 ;
else
JISU3 = JISU2 * EP3 + PreJISU3 * (1-EP3);
if DINDEX1 <= 2 then
JISU11 = abs(C-PreC);
else
JISU11 = abs(C-PreC) * EP11 + PreJISU11 * (1-EP11);
if DINDEX1 <= 3 then
JISU22 = JISU11;
else
JISU22 = JISU11 * EP22 + PreJISU22 * (1-EP22);
if DINDEX1 <= 4 then
JISU33 = JISU22 ;
else
JISU33 = JISU22 * EP33 + PreJISU33 * (1-EP33);
Value1 = 100 * JISU3;
Value2 = JISU33;
If Value2 <> 0 then
TSIv = Value1 / Value2;
Else
TSIv = 0;
if DINDEX1 <= 5 then
TSIs = TSIv;
else
TSIs = TSIV * EP44 + PreJISU44 * (1-EP44);
plot1(TSIv);
plot2(TSIS);
즐거운 하루되세요
> hugnkiss 님이 쓴 글입니다.
> 제목 : 120분봉에서 240분봉 지표 표시
> 안녕하세요.
아래와 같은 240분봉 지표를 120분봉 차트에 표시하고 싶습니다.
1. 240분봉 데이타의 80 볼밴 상하단 값
2. 240분봉 데이타의 MACD(12, 26), EMA(MACD(12, 26), 9);
3, 240분봉 데이타의 TSI(C, 8, 16, 12), EMA(TSI(C, 8, 16, 12), 3);
부탁 드립니다.
수고하세요.
다음글
이전글