커뮤니티

아래 오실레이터 평균 부분 재질문

프로필 이미지
묵향123
2008-07-11 17:13:26
829
글번호 16164
답변완료
Input : shortPeriod(12), longPeriod(26), Period(9); Var : MACDv(0), MACDsig(0),macdosc(0),s1(0), s2(0), s3(0) ; MACDv = MACD(shortPeriod, longPeriod); MACDsig = ema(MACDv,Period); macdosc = MACDv-ema(MACDv,Period); if macdosc[1]>0 then -> 1봉전 오실레이터 수치를 이런식으로 표현해도 되나요? s1 = macdosc[1] else s1 = 0 if macdosc[2]>0 then s2 = macdosc[2] else s2 = 0 if macdosc[3]>0 then s3 = macdosc[3] else s3 = 0 if s1>0 or s2>0 or s3>0 then s= s1 + s2 + s3 if s > 0 then sm= s / 3 저 sm 값의 범위로 특정 진입을 하려고 합니다. if sm >1 then buy() else sell() 이런식으로요. 위식은 무식하게 그냥 코딩했는데 저걸 심플하게 할 수 있나요?
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2008-07-14 10:32:27

안녕하세요 예스스탁입니다. 식상 문제는 없습니다. 다만 매봉 MACDosc가 0보다 크면 그 값을 저장하고 0이하이면 0값을 할당하고 이전값 참조로 그 값을 불러와 /3을 하시면 약간 간결해 집니다. Input : shortPeriod(12), longPeriod(26), Period(9); Var : MACDv(0), MACDsig(0),macdosc(0),sm(0),S(0); MACDv = MACD(shortPeriod, longPeriod); MACDsig = ema(MACDv,Period); macdosc = MACDv-ema(MACDv,Period); if macdosc > 0 then s = macdosc; else s = 0; if s[1] > 0 or s[2] > 0 or s[3] > 0 then sm= (s[1] + s[2] + s[3])/3; else Sm = 0; 즐거운 하루되세요 > 묵향123 님이 쓴 글입니다. > 제목 : 아래 오실레이터 평균 부분 재질문 > Input : shortPeriod(12), longPeriod(26), Period(9); Var : MACDv(0), MACDsig(0),macdosc(0),s1(0), s2(0), s3(0) ; MACDv = MACD(shortPeriod, longPeriod); MACDsig = ema(MACDv,Period); macdosc = MACDv-ema(MACDv,Period); if macdosc[1]>0 then -> 1봉전 오실레이터 수치를 이런식으로 표현해도 되나요? s1 = macdosc[1] else s1 = 0 if macdosc[2]>0 then s2 = macdosc[2] else s2 = 0 if macdosc[3]>0 then s3 = macdosc[3] else s3 = 0 if s1>0 or s2>0 or s3>0 then s= s1 + s2 + s3 if s > 0 then sm= s / 3 저 sm 값의 범위로 특정 진입을 하려고 합니다. if sm >1 then buy() else sell() 이런식으로요. 위식은 무식하게 그냥 코딩했는데 저걸 심플하게 할 수 있나요?