커뮤니티
문의드립니다.
2010-08-07 17:19:05
842
글번호 31415
다음과 같은 내용으로 식을 한번 만들어 보고싶은데 자꾸 막히는 군요.
일단 주간 챠트에서 이동평균과 MACD히스토그램이 상승일때,
일간 챠트에서 이동평균과 MACD히스토그램이 상승일때 매수후 매수신호가 사라지면 매수환매
주간챠트에서 이동평균과 MACD히스토그램이 하락일때,
일간챠트에서 이동평균과 MACD히스토그램이 하락일때 매도후 매도신호가 사라지면 매도환매
이렇게 한번 만들어 보고 싶읍니다.
답변 1
예스스탁 예스스탁 답변
2010-08-09 11:43:56
안녕하세요
예스스탁입니다.
input : P(20);
Input : Period1(12), Period2(26), Period3(9);
Var : Ep1(0), EP2(0), EP3(0), JISU1(0), JISU2(0), PreJISU1(0), PreJISU2(0);
Var : macdVal(0), preMacdVal(0), macdSig(0),MACDOSC(0),mav1(0),MACDOSC1(0);
var : cnt(0),cnt1(0),sum(0),mav(0);
array : WeekC[99](0);
if DayOfWeek(date) < DayOfWeek(date)[1] then{
for cnt = 1 to 98{
WeekC[cnt] = WeekC[cnt-1][1];
}
PreJISU1 = JISU1[1];
PreJISU2 = JISU2[1];
PreMacdVal = macdSig[1];
mav1 = mav[1];
MACDOSC1 = MACDOSC[1];
}
WeekC[0] = C;
# 주간 이평계산
sum = 0;
if weekC[P] > 0 Then{
for cnt1 = 0 to P-1{
sum = sum+weekC[cnt1];
}
mav = sum/P;
}
#주간 MACD오실레이터 계산
Ep1 = 2/(Period1+1);
EP2 = 2/(Period2+1);
EP3 = 2/(Period3+1);
JISU1 = C * Ep1 + PreJISU1 * (1-Ep1);
JISU2 = C * Ep2 + PreJISU2 * (1-Ep2);
macdVal = JISU1 - JISU2;
macdSig = macdVal * Ep3 + PreMacdVal * (1-Ep3);
macdOSC = macdval-macdsig;
var1 = ma(c,P);
var2 = MACD_OSC(Period1,Period2,Period3);
Condition1 = mav1 > 0 and mav > mav1 and MACDOsc > MACDOSC1 and var1 > var1[1] and var2 > var2[1];
Condition2 = mav1 > 0 and mav < mav1 and MACDOsc < MACDOSC1 and var1 < var1[1] and var2 < var2[1];
if Condition1 == true Then
buy();
if Condition1 == false Then
exitlong();
if Condition2 == true Then
sell();
if Condition2 == false Then
ExitShort();
즐거운 하루되세요
> 신바바 님이 쓴 글입니다.
> 제목 : 문의드립니다.
> 다음과 같은 내용으로 식을 한번 만들어 보고싶은데 자꾸 막히는 군요.
일단 주간 챠트에서 이동평균과 MACD히스토그램이 상승일때,
일간 챠트에서 이동평균과 MACD히스토그램이 상승일때 매수후 매수신호가 사라지면 매수환매
주간챠트에서 이동평균과 MACD히스토그램이 하락일때,
일간챠트에서 이동평균과 MACD히스토그램이 하락일때 매도후 매도신호가 사라지면 매도환매
이렇게 한번 만들어 보고 싶읍니다.
다음글
이전글