커뮤니티

문의드립니다.

프로필 이미지
as8282
2020-03-25 19:42:22
857
글번호 137207
답변완료
아래식을 예스로 부탁합니다. signal = input(title="Base for FastMA Periods:", type=integer, defval=3) long = input(title="Buy to Sell Conv/Div Lookback:", type=integer, defval=27) vmacd = input(true, title="Buy to Sell Convergence/Div OSC:") vinv = input(false, title="Buy to Sell Conv/Div as cummulative:") norm = input(false, title="Normalised (Filtered) Version:") //vapi = input(false, title="Display Acc/Dist % :") vol = iff(volume > 0, volume , 1) TR = atr(1) // Bull And Bear "Power-Balance" by Vadim Gimelfarb Algorithm's BP = iff(close<open, iff(close[1]<open, max(high-close[1], close-low), max(high-open, close-low)), iff(close>open, iff(close[1]>open, high-low, max(open-close[1], high-low)), iff(high-close>close-low, iff(close[1]<open, max(high-close[1],close-low), high-open), iff(high-close<close-low, iff(close[1]>open, high-low, max(open-close[1], high-low)), iff(close[1]>open, max(high-open, close-low), iff(close[1]<open, max(open-close[1], high-low), high-low)))))) SP = iff(close<open, iff(close[1]>open, max(close[1]-open, high-low), high-low), iff(close>open, iff(close[1]>open, max(close[1]-low, high-close), max(open-low, high-close)), iff(high-close>close-low, iff(close[1]>open, max(close[1]-open, high-low), high-low), iff(high-close<close-low, iff(close[1]>open, max(close[1]-low, high-close), open-low), iff(close[1]>open, max(close[1]-open, high-low), iff(close[1]<open, max(open-low, high-close), high-low)))))) TP = BP+SP BPV = (BP/TP)*vol SPV = (SP/TP)*vol TPV = BPV+SPV BPVavg = ema(ema(BPV,signal),signal) SPVavg = ema(ema(SPV,signal),signal) TPVavg = ema(wma(TPV,signal),signal) VN = vol/ema(vol,long) BPN = ((BP/ema(BP,long))*VN)*100 SPN = ((SP/ema(SP,long))*VN)*100 TPN = BPN+SPN nbf = ema(wma(BPN,signal),signal) nsf = ema(wma(SPN,signal),signal) tpf = ema(wma(TPN,signal),signal) ndif = nbf-nsf BPc1 = BPV>SPV ? BPV : -abs(BPV) BPc2 = BPN>SPN ? BPN : -abs(BPN) SPc1 = SPV>BPV ? SPV : -abs(SPV) SPc2 = SPN>BPN ? SPN : -abs(SPN) BPcon = norm ? BPc2 : BPc1 SPcon = norm ? SPc2 : SPc1 BPAcon = norm ? nbf : BPVavg SPAcon = norm ? nsf : SPVavg TPAcon = norm ? tpf : TPVavg vpo1 = vinv ? (( sum(BPVavg,long)-sum(SPVavg,long))/sum(TPVavg,long))*100 : ((BPVavg-SPVavg)/TPVavg)*100 vpo2 = vinv ? (( sum(nbf,long)-sum(nsf,long))/sum(tpf,long))*100 : ((nbf-nsf)/tpf)*100 vph = nz((vpo1 - vpo2),0) // Plot Indicator histC = vph > vph[1] ? blue:#BA00AA Vpo1C = vpo1 > 0 ? green:red Vpo2C = vpo2 > 0 ? green:red plot(vmacd ? vpo1:na, color=Vpo1C,title="VPO1", style=line, linewidth=3) plot(vmacd ? vpo2:na, color=Vpo2C,title="VPO2", style=line, linewidth=1) plot(vmacd ? vph:na, color=histC, title="VPH", style=columns, linewidth=3, transp=90)
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2020-03-26 12:38:30

안녕하세요 예스스탁입니다. input : signal(3),long(27),vmacd(true),vinv(false),norm(false); var : vol(0),tr(0),BPv(0),SPV(0),TP(0),TPV(0),BPVavg(0),SPVavg(0),TPVavg(0); vol = iff(volume > 0, volume , 1); TR = atr(1); BPv = iff(close<open, iff(close[1]<open, max(high-close[1], close-low), max(high-open, close-low)), iff(close>open, iff(close[1]>open, high-low, max(open-close[1], high-low)), iff(high-close>close-low, iff(close[1]<open, max(high-close[1],close-low), high-open), iff(high-close<close-low, iff(close[1]>open, high-low, max(open-close[1], high-low)), iff(close[1]>open, max(high-open, close-low), iff(close[1]<open, max(open-close[1], high-low), high-low)))))); SPv = iff(close<open, iff(close[1]>open, max(close[1]-open, high-low), high-low), iff(close>open, iff(close[1]>open, max(close[1]-low, high-close), max(open-low, high-close)), iff(high-close>close-low, iff(close[1]>open, max(close[1]-open, high-low), high-low), iff(high-close<close-low, iff(close[1]>open, max(close[1]-low, high-close), open-low), iff(close[1]>open, max(close[1]-open, high-low), iff(close[1]<open, max(open-low, high-close), high-low)))))); TP = BPv+SPv; BPV = (BPv/TP)*vol; SPV = (SPv/TP)*vol; TPV = BPV+SPV; BPVavg = ema(ema(BPV,signal),signal); SPVavg = ema(ema(SPV,signal),signal); TPVavg = ema(wma(TPV,signal),signal); var : VN(0),BPN(0),SPN(0),TPN(0); var : nbf(0),nsf(0),tpf(0),ndif(0); var : BPc1(0),BPc2(0),SPc1(0),SPc2(0); var : BPcon(0),SPcon(0),BPAcon(0),SPAcon(0),TPAcon(0); var : vpo1(0),vpo2(0),vph(0),histC(0),Vpo1C(0),Vpo2C(0); VN = vol/ema(vol,long); BPN = ((BPv/ema(BPv,long))*VN)*100; SPN = ((SPv/ema(SPv,long))*VN)*100; TPN = BPN+SPN; nbf = ema(wma(BPN,signal),signal); nsf = ema(wma(SPN,signal),signal); tpf = ema(wma(TPN,signal),signal); ndif = nbf-nsf; BPc1 = iff(BPV>SPV , BPV , -abs(BPV)); BPc2 = iff(BPN>SPN , BPN , -abs(BPN)); SPc1 = iff(SPV>BPV , SPV , -abs(SPV)); SPc2 = iff(SPN>BPN , SPN , -abs(SPN)); BPcon = iff(norm , BPc2 , BPc1); SPcon = iff(norm , SPc2 , SPc1); BPAcon = iff(norm , nbf , BPVavg); SPAcon = iff(norm , nsf , SPVavg); TPAcon = iff(norm , tpf , TPVavg); vpo1 = iff(vinv , (( AccumN(BPVavg,long)-AccumN(SPVavg,long))/AccumN(TPVavg,long))*100 , ((BPVavg-SPVavg)/TPVavg)*100); vpo2 = iff(vinv , (( AccumN(nbf,long)-AccumN(nsf,long))/AccumN(tpf,long))*100 , ((nbf-nsf)/tpf)*100); vph = (vpo1 - vpo2); histC = iff(vph > vph[1] , blue,red); Vpo1C = iff(vpo1 > 0 , green,red); Vpo2C = iff(vpo2 > 0 , green,red); plot1(iff(vmacd , vpo1,nan),"VPO1",Vpo1C); plot2(iff(vmacd , vpo2,nan),"VPO2",Vpo2C); plot3(iff(vmacd , vph,nan),"VPH",histC); 즐거운 하루되세요 > as8282 님이 쓴 글입니다. > 제목 : 문의드립니다. > 아래식을 예스로 부탁합니다. signal = input(title="Base for FastMA Periods:", type=integer, defval=3) long = input(title="Buy to Sell Conv/Div Lookback:", type=integer, defval=27) vmacd = input(true, title="Buy to Sell Convergence/Div OSC:") vinv = input(false, title="Buy to Sell Conv/Div as cummulative:") norm = input(false, title="Normalised (Filtered) Version:") //vapi = input(false, title="Display Acc/Dist % :") vol = iff(volume > 0, volume , 1) TR = atr(1) // Bull And Bear "Power-Balance" by Vadim Gimelfarb Algorithm's BP = iff(close<open, iff(close[1]<open, max(high-close[1], close-low), max(high-open, close-low)), iff(close>open, iff(close[1]>open, high-low, max(open-close[1], high-low)), iff(high-close>close-low, iff(close[1]<open, max(high-close[1],close-low), high-open), iff(high-close<close-low, iff(close[1]>open, high-low, max(open-close[1], high-low)), iff(close[1]>open, max(high-open, close-low), iff(close[1]<open, max(open-close[1], high-low), high-low)))))) SP = iff(close<open, iff(close[1]>open, max(close[1]-open, high-low), high-low), iff(close>open, iff(close[1]>open, max(close[1]-low, high-close), max(open-low, high-close)), iff(high-close>close-low, iff(close[1]>open, max(close[1]-open, high-low), high-low), iff(high-close<close-low, iff(close[1]>open, max(close[1]-low, high-close), open-low), iff(close[1]>open, max(close[1]-open, high-low), iff(close[1]<open, max(open-low, high-close), high-low)))))) TP = BP+SP BPV = (BP/TP)*vol SPV = (SP/TP)*vol TPV = BPV+SPV BPVavg = ema(ema(BPV,signal),signal) SPVavg = ema(ema(SPV,signal),signal) TPVavg = ema(wma(TPV,signal),signal) VN = vol/ema(vol,long) BPN = ((BP/ema(BP,long))*VN)*100 SPN = ((SP/ema(SP,long))*VN)*100 TPN = BPN+SPN nbf = ema(wma(BPN,signal),signal) nsf = ema(wma(SPN,signal),signal) tpf = ema(wma(TPN,signal),signal) ndif = nbf-nsf BPc1 = BPV>SPV ? BPV : -abs(BPV) BPc2 = BPN>SPN ? BPN : -abs(BPN) SPc1 = SPV>BPV ? SPV : -abs(SPV) SPc2 = SPN>BPN ? SPN : -abs(SPN) BPcon = norm ? BPc2 : BPc1 SPcon = norm ? SPc2 : SPc1 BPAcon = norm ? nbf : BPVavg SPAcon = norm ? nsf : SPVavg TPAcon = norm ? tpf : TPVavg vpo1 = vinv ? (( sum(BPVavg,long)-sum(SPVavg,long))/sum(TPVavg,long))*100 : ((BPVavg-SPVavg)/TPVavg)*100 vpo2 = vinv ? (( sum(nbf,long)-sum(nsf,long))/sum(tpf,long))*100 : ((nbf-nsf)/tpf)*100 vph = nz((vpo1 - vpo2),0) // Plot Indicator histC = vph > vph[1] ? blue:#BA00AA Vpo1C = vpo1 > 0 ? green:red Vpo2C = vpo2 > 0 ? green:red plot(vmacd ? vpo1:na, color=Vpo1C,title="VPO1", style=line, linewidth=3) plot(vmacd ? vpo2:na, color=Vpo2C,title="VPO2", style=line, linewidth=1) plot(vmacd ? vph:na, color=histC, title="VPH", style=columns, linewidth=3, transp=90)