커뮤니티

수식 부탁드립니다

프로필 이미지
dkfvkrh7
2020-01-03 13:12:56
308
글번호 134860
답변완료
안녕하세요 항상 도움 주셔서 감사합니다 아래 OI 수식을 MACD 수식으로 부탁드립니다 파라볼릭 수식인데 Inputs: FastMovAvg(12), SlowMovAvg(26), MACDMovAvg(9);의 MACD 수식으로 사용하고 싶습니다 부탁 드립니다 감사합니다 Input : AF(0.02), AFMAX(0.2); Var : Direction(0), SAR_Value(OI), AF_Value(.02), HighValue(OI), LowValue(OI), EP(0),CSARV(0),OIV(0); OIV = Oi; if OI == 0 Then OIV = Oi[1]; if EP != 0 Then { if Direction == 1 then { EP = HighValue; SAR_Value = SAR_Value + AF_Value * (EP - SAR_Value); if OIV > HighValue then { HighValue = OIV; AF_Value = AF_Value + AF; if AF_Value >= AFMAX then AF_Value = AFMAX; } if OIV < SAR_Value then { Direction = -1; SAR_Value = EP; AF_Value = 0; EP = 0; LowValue = OIV; } } else { EP = LowValue; SAR_Value = SAR_Value + AF_Value * (EP - SAR_Value); if OIV < LowValue then { LowValue = OIV; AF_Value = AF_Value + Af; if AF_Value >= AFMAX then AF_Value = AFMAX; } if OIV > SAR_Value then { Direction = 1; SAR_Value = EP; AF_Value = 0; EP = 0; HighValue = OIV; } } CSarv = SAR_Value; } else { if SAR_Value != 0 && EP == 0 then { if Direction == 1 then { EP = HighValue; AF_Value = AF; SAR_Value = SAR_Value + AF_Value * (EP - SAR_Value); if OIV > HighValue then { HighValue = OIV; AF_Value = AF_Value + AF; if AF_Value >= AFMAX then AF_Value = AFMAX; } } else { EP = LowValue; AF_Value = Af; SAR_Value = SAR_Value + AF_Value * (EP - SAR_Value); if OIV < LowValue then { LowValue = OIV; AF_Value = AF_Value + AF; if AF_Value >= AFMAX then AF_Value = AFMAX; } } CSarv = SAR_Value; } else { if Direction == 0 then { if OIV > OIV[1] then Direction = 1; else if OIV < OIV[1] then Direction = -1; } else { if Direction == 1 then { if OIV < OIV[1] then { Direction = -1; SAR_Value = HighValue; CSarv = SAR_Value; } } if Direction == -1 then { if OIV > OIV[1] then { Direction = 1; SAR_Value = LowValue; CSarv = SAR_Value; } } } LowValue = min(OIV, LowValue); HighValue = max(OIV, HighValue); } } plot1(OIV,"미결제약정"); plot2(CSARv,"미결파라볼릭"); //속성에서 점그래프
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2020-01-03 14:42:33

안녕하세요 예스스탁입니다. 1 기본수식이 OI로 계산한 파라볼릭입니다. OI로 계산한 MACD지표는 아래와 같습니다. Inputs: FastMovAvg(12), SlowMovAvg(26), MACDMovAvg(9); var : MACDv(0),MACDs(0),OIV(0); OIV = Oi; if OI == 0 Then OIV = Oi[1]; MACDv = ema(OIV,FastMovAvg)-ema(OIV,SlowMovAvg); MACDS = ema(MACDv,MACDMovAvg); plot1(MACDv); plot2(MACDs); PlotBaseLine1(0); 2 OI로 계산한 파라볼리값을 다시 MACD처리 하는 내용이시면 아래식 이용하시면 됩니다. Input : AF(0.02), AFMAX(0.2); Var : Direction(0), SAR_Value(OI), AF_Value(.02), HighValue(OI), LowValue(OI), EP(0),CSARV(0),OIV(0); Inputs: FastMovAvg(12), SlowMovAvg(26), MACDMovAvg(9); var : MACDv(0),MACDs(0); OIV = Oi; if OI == 0 Then OIV = Oi[1]; if EP != 0 Then { if Direction == 1 then { EP = HighValue; SAR_Value = SAR_Value + AF_Value * (EP - SAR_Value); if OIV > HighValue then { HighValue = OIV; AF_Value = AF_Value + AF; if AF_Value >= AFMAX then AF_Value = AFMAX; } if OIV < SAR_Value then { Direction = -1; SAR_Value = EP; AF_Value = 0; EP = 0; LowValue = OIV; } } else { EP = LowValue; SAR_Value = SAR_Value + AF_Value * (EP - SAR_Value); if OIV < LowValue then { LowValue = OIV; AF_Value = AF_Value + Af; if AF_Value >= AFMAX then AF_Value = AFMAX; } if OIV > SAR_Value then { Direction = 1; SAR_Value = EP; AF_Value = 0; EP = 0; HighValue = OIV; } } CSarv = SAR_Value; } else { if SAR_Value != 0 && EP == 0 then { if Direction == 1 then { EP = HighValue; AF_Value = AF; SAR_Value = SAR_Value + AF_Value * (EP - SAR_Value); if OIV > HighValue then { HighValue = OIV; AF_Value = AF_Value + AF; if AF_Value >= AFMAX then AF_Value = AFMAX; } } else { EP = LowValue; AF_Value = Af; SAR_Value = SAR_Value + AF_Value * (EP - SAR_Value); if OIV < LowValue then { LowValue = OIV; AF_Value = AF_Value + AF; if AF_Value >= AFMAX then AF_Value = AFMAX; } } CSarv = SAR_Value; } else { if Direction == 0 then { if OIV > OIV[1] then Direction = 1; else if OIV < OIV[1] then Direction = -1; } else { if Direction == 1 then { if OIV < OIV[1] then { Direction = -1; SAR_Value = HighValue; CSarv = SAR_Value; } } if Direction == -1 then { if OIV > OIV[1] then { Direction = 1; SAR_Value = LowValue; CSarv = SAR_Value; } } } LowValue = min(OIV, LowValue); HighValue = max(OIV, HighValue); } } MACDv = ema(CSarv,FastMovAvg)-ema(CSarv,SlowMovAvg); MACDS = ema(MACDv,MACDMovAvg); plot1(MACDv); plot2(MACDs); PlotBaseLine1(0); 즐거운 하루되세요 > dkfvkrh7 님이 쓴 글입니다. > 제목 : 수식 부탁드립니다 > 안녕하세요 항상 도움 주셔서 감사합니다 아래 OI 수식을 MACD 수식으로 부탁드립니다 파라볼릭 수식인데 Inputs: FastMovAvg(12), SlowMovAvg(26), MACDMovAvg(9);의 MACD 수식으로 사용하고 싶습니다 부탁 드립니다 감사합니다 Input : AF(0.02), AFMAX(0.2); Var : Direction(0), SAR_Value(OI), AF_Value(.02), HighValue(OI), LowValue(OI), EP(0),CSARV(0),OIV(0); OIV = Oi; if OI == 0 Then OIV = Oi[1]; if EP != 0 Then { if Direction == 1 then { EP = HighValue; SAR_Value = SAR_Value + AF_Value * (EP - SAR_Value); if OIV > HighValue then { HighValue = OIV; AF_Value = AF_Value + AF; if AF_Value >= AFMAX then AF_Value = AFMAX; } if OIV < SAR_Value then { Direction = -1; SAR_Value = EP; AF_Value = 0; EP = 0; LowValue = OIV; } } else { EP = LowValue; SAR_Value = SAR_Value + AF_Value * (EP - SAR_Value); if OIV < LowValue then { LowValue = OIV; AF_Value = AF_Value + Af; if AF_Value >= AFMAX then AF_Value = AFMAX; } if OIV > SAR_Value then { Direction = 1; SAR_Value = EP; AF_Value = 0; EP = 0; HighValue = OIV; } } CSarv = SAR_Value; } else { if SAR_Value != 0 && EP == 0 then { if Direction == 1 then { EP = HighValue; AF_Value = AF; SAR_Value = SAR_Value + AF_Value * (EP - SAR_Value); if OIV > HighValue then { HighValue = OIV; AF_Value = AF_Value + AF; if AF_Value >= AFMAX then AF_Value = AFMAX; } } else { EP = LowValue; AF_Value = Af; SAR_Value = SAR_Value + AF_Value * (EP - SAR_Value); if OIV < LowValue then { LowValue = OIV; AF_Value = AF_Value + AF; if AF_Value >= AFMAX then AF_Value = AFMAX; } } CSarv = SAR_Value; } else { if Direction == 0 then { if OIV > OIV[1] then Direction = 1; else if OIV < OIV[1] then Direction = -1; } else { if Direction == 1 then { if OIV < OIV[1] then { Direction = -1; SAR_Value = HighValue; CSarv = SAR_Value; } } if Direction == -1 then { if OIV > OIV[1] then { Direction = 1; SAR_Value = LowValue; CSarv = SAR_Value; } } } LowValue = min(OIV, LowValue); HighValue = max(OIV, HighValue); } } plot1(OIV,"미결제약정"); plot2(CSARv,"미결파라볼릭"); //속성에서 점그래프