커뮤니티

문의드립니다.

프로필 이미지
로즈버드
2020-04-14 13:53:42
559
글번호 137912
답변완료
안녕하세요 66434와 동일한 수식에 수정이 첨가된 수식입니다. --------------------------------------------------- src=input(hl2, title="Source") fl=input(.5, title="Fast Limit") sl=input(.05, title="Slow Limit") pi = 3.1415926 sp = (4*src + 3*src[1] + 2*src[2] + src[3]) / 10.0 dt = (.0962*sp + .5769*nz(sp[2]) - .5769*nz(sp[4])- .0962*nz(sp[6]))*(.075*nz(p[1]) + .54) q1 = (.0962*dt + .5769*nz(dt[2]) - .5769*nz(dt[4])- .0962*nz(dt[6]))*(.075*nz(p[1]) + .54) i1 = nz(dt[3]) jI = (.0962*i1 + .5769*nz(i1[2]) - .5769*nz(i1[4])- .0962*nz(i1[6]))*(.075*nz(p[1]) + .54) jq = (.0962*q1 + .5769*nz(q1[2]) - .5769*nz(q1[4])- .0962*nz(q1[6]))*(.075*nz(p[1]) + .54) i2_ = i1 - jq q2_ = q1 + jI i2 = .2*i2_ + .8*nz(i2[1]) q2 = .2*q2_ + .8*nz(q2[1]) re_ = i2*nz(i2[1]) + q2*nz(q2[1]) im_ = i2*nz(q2[1]) - q2*nz(i2[1]) re = .2*re_ + .8*nz(re[1]) im = .2*im_ + .8*nz(im[1]) p1 = iff(im!=0 and re!=0, 2*pi/atan(im/re), nz(p)) p2 = iff(p1 > 1.5*nz(p1[1]), 1.5*nz(p1[1]), iff(p1 < 0.67*nz(p1[1]), 0.67*nz(p1[1]), p1)) p3 = iff(p2<6, 6, iff (p2 > 50, 50, p2)) p = .2*p3 + .8*nz(p3[1]) spp = .33*p + .67*nz(spp[1]) phase = 180/pi * atan(q1 / i1) dphase_ = nz(phase[1]) - phase dphase = iff(dphase_< 1, 1, dphase_) alpha_ = fl / dphase alpha = iff(alpha_ < sl, sl, iff(alpha_ > fl, fl, alpha_)) mama = alpha*src + (1 - alpha)*nz(mama[1]) fama = .5*alpha*mama + (1 - .5*alpha)*nz(fama[1]) pa=input(false, title="Mark crossover points") plotarrow(pa?(cross(mama, fama)?mama<fama?-1:1:na):na, title="Crossover Markers") fr=input(false, title="Fill MAMA/FAMA Region") duml=plot(fr?(mama>fama?mama:fama):na, style=circles, color=gray, linewidth=0, title="DummyL") mamal=plot(mama, title="MAMA", color=red, linewidth=2) famal=plot(fama, title="FAMA", color=green, linewidth=2) fill(duml, mamal, red, transp=70, title="NegativeFill") fill(duml, famal, green, transp=70, title="PositiveFill") ebc=input(false, title="Enable Bar colors") bc=mama>fama?lime:red barcolor(ebc?bc:na) 1) 지표 변환 2) plot2 가 plot3을 골든크로스, 데드크로스 할 경우로 시스템 수식 문의드립니다. 항상 감사드립니다.
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2020-04-14 15:03:05

안녕하세요 예스스탁입니다. 1 input : fl(0.5),sl(0.05),pa(false),fr(false),ebc(false); var : src(0),sp(0),dt(0),i1(0),ji(0),jq(0),i2_(0),q2_(0),re_(0); var : im_(0),re(0),im(0),p1(0),p2(0),p3(0),p(0),q1(0),i2(0),q2(0); var : spp(0),phase(0),dphase_(0),dphase(0),mama(0),fama(0),alpha_(0),alpha(0),pi(0); src = (H+L)/2; sp = (4*src + 3*src[1] + 2*src[2] + src[3]) / 10.0; pi = 3.1415926; if CurrentBar >= 1 then { dt = (.0962*sp + .5769*(sp[2]) - .5769*(sp[4])- .0962*(sp[6]))*(.075*(p[1]) + .54); q1 = (.0962*dt + .5769*(dt[2]) - .5769*(dt[4])- .0962*(dt[6]))*(.075*(p[1]) + .54); i1 = (dt[3]); jI = (.0962*i1 + .5769*(i1[2]) - .5769*(i1[4])- .0962*(i1[6]))*(.075*(p[1]) + .54); jq = (.0962*q1 + .5769*(q1[2]) - .5769*(q1[4])- .0962*(q1[6]))*(.075*(p[1]) + .54); i2_ = i1 - jq; q2_ = q1 + jI; i2 = .2*i2_ + .8*(i2[1]); q2 = .2*q2_ + .8*(q2[1]); re_ = i2*(i2[1]) + q2*(q2[1]); im_ = i2*(q2[1]) - q2*(i2[1]); re = .2*re_ + .8*(re[1]); im = .2*im_ + .8*(im[1]); p1 = iff(im!=0 and re!=0, 2*pi/atan(im/re),p); p2 = iff(p1 > 1.5*(p1[1]), 1.5*(p1[1]), iff(p1 < 0.67*(p1[1]), 0.67*(p1[1]), p1)); p3 = iff(p2<6, 6, iff (p2 > 50, 50, p2)); p = .2*p3 + .8*(p3[1]); spp = .33*p + .67*(spp[1]); phase = 180/pi*atan(q1 / i1); dphase_ = (phase[1]) - phase; dphase = iff(dphase_< 1, 1, dphase_); alpha_ = fl / dphase; alpha = iff(alpha_ < sl, sl, iff(alpha_ > fl, fl, alpha_)); mama = alpha*src + (1 - alpha)*(mama[1]); fama = .5*alpha*mama + (1 - .5*alpha)*(fama[1]); plot1(iff(fr,iff(mama>fama,mama,fama),NaN),"dum",gray); plot2(mama,"MAMA",red); plot3(fama,"FAMA",green); } 2 input : fl(0.5),sl(0.05),pa(false),fr(false),ebc(false); var : src(0),sp(0),dt(0),i1(0),ji(0),jq(0),i2_(0),q2_(0),re_(0); var : im_(0),re(0),im(0),p1(0),p2(0),p3(0),p(0),q1(0),i2(0),q2(0); var : spp(0),phase(0),dphase_(0),dphase(0),mama(0),fama(0),alpha_(0),alpha(0),pi(0); src = (H+L)/2; sp = (4*src + 3*src[1] + 2*src[2] + src[3]) / 10.0; pi = 3.1415926; if CurrentBar >= 1 then { dt = (.0962*sp + .5769*(sp[2]) - .5769*(sp[4])- .0962*(sp[6]))*(.075*(p[1]) + .54); q1 = (.0962*dt + .5769*(dt[2]) - .5769*(dt[4])- .0962*(dt[6]))*(.075*(p[1]) + .54); i1 = (dt[3]); jI = (.0962*i1 + .5769*(i1[2]) - .5769*(i1[4])- .0962*(i1[6]))*(.075*(p[1]) + .54); jq = (.0962*q1 + .5769*(q1[2]) - .5769*(q1[4])- .0962*(q1[6]))*(.075*(p[1]) + .54); i2_ = i1 - jq; q2_ = q1 + jI; i2 = .2*i2_ + .8*(i2[1]); q2 = .2*q2_ + .8*(q2[1]); re_ = i2*(i2[1]) + q2*(q2[1]); im_ = i2*(q2[1]) - q2*(i2[1]); re = .2*re_ + .8*(re[1]); im = .2*im_ + .8*(im[1]); p1 = iff(im!=0 and re!=0, 2*pi/atan(im/re),p); p2 = iff(p1 > 1.5*(p1[1]), 1.5*(p1[1]), iff(p1 < 0.67*(p1[1]), 0.67*(p1[1]), p1)); p3 = iff(p2<6, 6, iff (p2 > 50, 50, p2)); p = .2*p3 + .8*(p3[1]); spp = .33*p + .67*(spp[1]); phase = 180/pi*atan(q1 / i1); dphase_ = (phase[1]) - phase; dphase = iff(dphase_< 1, 1, dphase_); alpha_ = fl / dphase; alpha = iff(alpha_ < sl, sl, iff(alpha_ > fl, fl, alpha_)); mama = alpha*src + (1 - alpha)*(mama[1]); fama = .5*alpha*mama + (1 - .5*alpha)*(fama[1]); if crossup(mama,fama) Then buy(); if CrossDown(mama,fama) Then sell(); } 즐거운 하루되세요 > 로즈버드 님이 쓴 글입니다. > 제목 : 문의드립니다. > 안녕하세요 66434와 동일한 수식에 수정이 첨가된 수식입니다. --------------------------------------------------- src=input(hl2, title="Source") fl=input(.5, title="Fast Limit") sl=input(.05, title="Slow Limit") pi = 3.1415926 sp = (4*src + 3*src[1] + 2*src[2] + src[3]) / 10.0 dt = (.0962*sp + .5769*nz(sp[2]) - .5769*nz(sp[4])- .0962*nz(sp[6]))*(.075*nz(p[1]) + .54) q1 = (.0962*dt + .5769*nz(dt[2]) - .5769*nz(dt[4])- .0962*nz(dt[6]))*(.075*nz(p[1]) + .54) i1 = nz(dt[3]) jI = (.0962*i1 + .5769*nz(i1[2]) - .5769*nz(i1[4])- .0962*nz(i1[6]))*(.075*nz(p[1]) + .54) jq = (.0962*q1 + .5769*nz(q1[2]) - .5769*nz(q1[4])- .0962*nz(q1[6]))*(.075*nz(p[1]) + .54) i2_ = i1 - jq q2_ = q1 + jI i2 = .2*i2_ + .8*nz(i2[1]) q2 = .2*q2_ + .8*nz(q2[1]) re_ = i2*nz(i2[1]) + q2*nz(q2[1]) im_ = i2*nz(q2[1]) - q2*nz(i2[1]) re = .2*re_ + .8*nz(re[1]) im = .2*im_ + .8*nz(im[1]) p1 = iff(im!=0 and re!=0, 2*pi/atan(im/re), nz(p)) p2 = iff(p1 > 1.5*nz(p1[1]), 1.5*nz(p1[1]), iff(p1 < 0.67*nz(p1[1]), 0.67*nz(p1[1]), p1)) p3 = iff(p2<6, 6, iff (p2 > 50, 50, p2)) p = .2*p3 + .8*nz(p3[1]) spp = .33*p + .67*nz(spp[1]) phase = 180/pi * atan(q1 / i1) dphase_ = nz(phase[1]) - phase dphase = iff(dphase_< 1, 1, dphase_) alpha_ = fl / dphase alpha = iff(alpha_ < sl, sl, iff(alpha_ > fl, fl, alpha_)) mama = alpha*src + (1 - alpha)*nz(mama[1]) fama = .5*alpha*mama + (1 - .5*alpha)*nz(fama[1]) pa=input(false, title="Mark crossover points") plotarrow(pa?(cross(mama, fama)?mama<fama?-1:1:na):na, title="Crossover Markers") fr=input(false, title="Fill MAMA/FAMA Region") duml=plot(fr?(mama>fama?mama:fama):na, style=circles, color=gray, linewidth=0, title="DummyL") mamal=plot(mama, title="MAMA", color=red, linewidth=2) famal=plot(fama, title="FAMA", color=green, linewidth=2) fill(duml, mamal, red, transp=70, title="NegativeFill") fill(duml, famal, green, transp=70, title="PositiveFill") ebc=input(false, title="Enable Bar colors") bc=mama>fama?lime:red barcolor(ebc?bc:na) 1) 지표 변환 2) plot2 가 plot3을 골든크로스, 데드크로스 할 경우로 시스템 수식 문의드립니다. 항상 감사드립니다.