커뮤니티
macd 이용
2011-04-21 13:18:23
760
글번호 37831
안녕하십니까
새로운것 시도해보고픈데요
방법은 ===>>> 참조종목 data2 이용하기 입니다
아래 식 을 어떻게 수정하면 되지요 ???
Input : Period1(5), Period2(20), Period3(5);
Var : mEp1(0), mEP2(0), mEP3(0), JISU1(0), JISU2(0), PreJISU1(0), PreJISU2(0);
Var : macdVal(0), preMacdVal(0), macdSig(0);
if date != date[1] then {
PreJISU1 = JISU1[1];
PreJISU2 = JISU2[1];
PreMacdVal = macdSig[1];
}
mEp1 = 2/(Period1+1);
mEP2 = 2/(Period2+1);
mEP3 = 2/(Period3+1);
JISU1 = C * mEp1 + PreJISU1 * (1-mEp1); //단기지수이동평균
JISU2 = C * mEp2 + PreJISU2 * (1-mEp2); //장기지수이동평균
macdVal = JISU1 - JISU2; //macd
macdSig = macdVal * mEp3 + PreMacdVal * (1-mEp3); //macd signal
// [보조지표2]
# 아이디어설명=> 스토케스틱의 %K와 %D에 대해서도
# %K가 상승반전 예상되는 값과
# %K와 %D가 골든크로스가 예상되는 값를
# 미리계산해서 만든수식
// 아래 수식은 연결선물 전용 100% 승률 가능성있슴
Input:P(20),P1(5),P2(5);
Var:ep1(0),ep2(0),LL(0),HH(0),stoK(0),stoD(0),X1(0),X2(0);
ep1 = 2/(p1+1);
ep2 = 2/(p2+1);
LL = Lowest(L,p);
HH = Highest(H,p);
var3 = (C - LL)/(HH-LL)*100;
# stoK = ema(var3,p1);
# stoK = var3*ep1 + stoK[1]*(1-ep1);
# stoD = ema(stoK,p2);
# stoD = stoK*ep2 + stoD[1]*(1-ep2);
if Index > p then {
stoK = var3*ep1 + stoK[1]*(1-ep1);
stoD = stoK*ep2 + stoD[1]*(1-ep2);
}
# 전환시점
# stoK[2] > stoK[1] < stoK
# stok[1] = stoK인 시점
# stoK[1] = var3*ep1 + stoK[1]*(1-ep1)
# (stoK[1]-stoK[1]*(1-ep1))/ep1 = var3
# stoK[1] = var3
# (X1 - LL)/(HH-LL)*100 = stoK[1]
# X1 = stoK[1]*(HH-LL)/100 + LL
X1 = stoK*(HH-LL)/100 + LL;
# 골드크로스 시점
# stoK = stoD 인 시점
# stoK-stoK*ep2 - stoD[1]*(1-ep2) = 0
# (stoK-stoD[1])(1-ep2) = 0
# stoK-stoD[1] = 0 인 시점
# var3*ep1 + stoK[1]*(1-ep1) = stoD[1]
# var3 = (stoD[1] - stoK[1]*(1-ep1))/ep1
# (X2 - LL)/(HH-LL)*100 = (stoD[1] - stoK[1]*(1-ep1))/ep1
# X2 = ((stoD[1] - stoK[1]*(1-ep1))*(HH-LL))/(ep1*100) + LL
X2 = ((stoD - stoK*(1-ep1))*(HH-LL))/(ep1*100) + LL;
if MACDval > MAcdsig and crossup(X1,X2) Then
buy();
if MACDval < MAcdsig and CrossDown(X1,X2) Then
sell();
if CrossDown(X1,x2) Then
ExitLong();
if CrossUp(X1,x2) Then
ExitShort();
답변 1
예스스탁 예스스탁 답변
2011-04-21 14:12:26
안녕하세요
예스스탁입니다.
수정한 식입니다.
Input : Period1(5), Period2(20), Period3(5);
Var : mEp1(0,data2), mEP2(0,data2), mEP3(0,data2), JISU1(0,data2), JISU2(0,data2), PreJISU1(0,data2), PreJISU2(0,data2);
Var : macdVal(0,data2), preMacdVal(0,data2), macdSig(0,data2);
if data2(date != date[1]) then {
PreJISU1 = JISU1[1];
PreJISU2 = JISU2[1];
PreMacdVal = macdSig[1];
}
mEp1 = 2/(Period1+1);
mEP2 = 2/(Period2+1);
mEP3 = 2/(Period3+1);
JISU1 = data2(C) * mEp1 + PreJISU1 * (1-mEp1); //단기지수이동평균
JISU2 = data2(C) * mEp2 + PreJISU2 * (1-mEp2); //장기지수이동평균
macdVal = JISU1 - JISU2; //macd
macdSig = macdVal * mEp3 + PreMacdVal * (1-mEp3); //macd signal
// [보조지표2]
# 아이디어설명=> 스토케스틱의 %K와 %D에 대해서도
# %K가 상승반전 예상되는 값과
# %K와 %D가 골든크로스가 예상되는 값를
# 미리계산해서 만든수식
// 아래 수식은 연결선물 전용 100% 승률 가능성있슴
Input:P(20),P1(5),P2(5);
Var:ep1(0,data2),ep2(0,data2),LL(0,data2),HH(0,data2),stoK(0,data2),stoD(0,data2),X1(0,data2),X2(0,data2),vr3(0,data2);
ep1 = 2/(p1+1);
ep2 = 2/(p2+1);
LL = data2(Lowest(L,p));
HH = data2(Highest(H,p));
vr3 = (data2(C) - LL)/(HH-LL)*100;
# stoK = ema(vr3,p1);
# stoK = vr3*ep1 + stoK[1]*(1-ep1);
# stoD = ema(stoK,p2);
# stoD = stoK*ep2 + stoD[1]*(1-ep2);
if data2(Index) > p then {
stoK = vr3*ep1 + stoK[1]*(1-ep1);
stoD = stoK*ep2 + stoD[1]*(1-ep2);
}
# 전환시점
# stoK[2] > stoK[1] < stoK
# stok[1] = stoK인 시점
# stoK[1] = vr3*ep1 + stoK[1]*(1-ep1)
# (stoK[1]-stoK[1]*(1-ep1))/ep1 = vr3
# stoK[1] = vr3
# (X1 - LL)/(HH-LL)*100 = stoK[1]
# X1 = stoK[1]*(HH-LL)/100 + LL
X1 = stoK*(HH-LL)/100 + LL;
# 골드크로스 시점
# stoK = stoD 인 시점
# stoK-stoK*ep2 - stoD[1]*(1-ep2) = 0
# (stoK-stoD[1])(1-ep2) = 0
# stoK-stoD[1] = 0 인 시점
# var3*ep1 + stoK[1]*(1-ep1) = stoD[1]
# var3 = (stoD[1] - stoK[1]*(1-ep1))/ep1
# (X2 - LL)/(HH-LL)*100 = (stoD[1] - stoK[1]*(1-ep1))/ep1
# X2 = ((stoD[1] - stoK[1]*(1-ep1))*(HH-LL))/(ep1*100) + LL
X2 = ((stoD - stoK*(1-ep1))*(HH-LL))/(ep1*100) + LL;
if MACDval > MAcdsig and crossup(X1,X2) Then
buy();
if MACDval < MAcdsig and CrossDown(X1,X2) Then
sell();
if CrossDown(X1,x2) Then
ExitLong();
if CrossUp(X1,x2) Then
ExitShort();
즐거운 하루되세요
> yang오뚜기 님이 쓴 글입니다.
> 제목 : macd 이용
> 안녕하십니까
새로운것 시도해보고픈데요
방법은 ===>>> 참조종목 data2 이용하기 입니다
아래 식 을 어떻게 수정하면 되지요 ???
Input : Period1(5), Period2(20), Period3(5);
Var : mEp1(0), mEP2(0), mEP3(0), JISU1(0), JISU2(0), PreJISU1(0), PreJISU2(0);
Var : macdVal(0), preMacdVal(0), macdSig(0);
if date != date[1] then {
PreJISU1 = JISU1[1];
PreJISU2 = JISU2[1];
PreMacdVal = macdSig[1];
}
mEp1 = 2/(Period1+1);
mEP2 = 2/(Period2+1);
mEP3 = 2/(Period3+1);
JISU1 = C * mEp1 + PreJISU1 * (1-mEp1); //단기지수이동평균
JISU2 = C * mEp2 + PreJISU2 * (1-mEp2); //장기지수이동평균
macdVal = JISU1 - JISU2; //macd
macdSig = macdVal * mEp3 + PreMacdVal * (1-mEp3); //macd signal
// [보조지표2]
# 아이디어설명=> 스토케스틱의 %K와 %D에 대해서도
# %K가 상승반전 예상되는 값과
# %K와 %D가 골든크로스가 예상되는 값를
# 미리계산해서 만든수식
// 아래 수식은 연결선물 전용 100% 승률 가능성있슴
Input:P(20),P1(5),P2(5);
Var:ep1(0),ep2(0),LL(0),HH(0),stoK(0),stoD(0),X1(0),X2(0);
ep1 = 2/(p1+1);
ep2 = 2/(p2+1);
LL = Lowest(L,p);
HH = Highest(H,p);
var3 = (C - LL)/(HH-LL)*100;
# stoK = ema(var3,p1);
# stoK = var3*ep1 + stoK[1]*(1-ep1);
# stoD = ema(stoK,p2);
# stoD = stoK*ep2 + stoD[1]*(1-ep2);
if Index > p then {
stoK = var3*ep1 + stoK[1]*(1-ep1);
stoD = stoK*ep2 + stoD[1]*(1-ep2);
}
# 전환시점
# stoK[2] > stoK[1] < stoK
# stok[1] = stoK인 시점
# stoK[1] = var3*ep1 + stoK[1]*(1-ep1)
# (stoK[1]-stoK[1]*(1-ep1))/ep1 = var3
# stoK[1] = var3
# (X1 - LL)/(HH-LL)*100 = stoK[1]
# X1 = stoK[1]*(HH-LL)/100 + LL
X1 = stoK*(HH-LL)/100 + LL;
# 골드크로스 시점
# stoK = stoD 인 시점
# stoK-stoK*ep2 - stoD[1]*(1-ep2) = 0
# (stoK-stoD[1])(1-ep2) = 0
# stoK-stoD[1] = 0 인 시점
# var3*ep1 + stoK[1]*(1-ep1) = stoD[1]
# var3 = (stoD[1] - stoK[1]*(1-ep1))/ep1
# (X2 - LL)/(HH-LL)*100 = (stoD[1] - stoK[1]*(1-ep1))/ep1
# X2 = ((stoD[1] - stoK[1]*(1-ep1))*(HH-LL))/(ep1*100) + LL
X2 = ((stoD - stoK*(1-ep1))*(HH-LL))/(ep1*100) + LL;
if MACDval > MAcdsig and crossup(X1,X2) Then
buy();
if MACDval < MAcdsig and CrossDown(X1,X2) Then
sell();
if CrossDown(X1,x2) Then
ExitLong();
if CrossUp(X1,x2) Then
ExitShort();
이전글