커뮤니티

수식문의

프로필 이미지
softtoug
2018-02-18 20:12:48
164
글번호 116664
답변완료
안녕하세요 하기 수식에서 보안 부탁드립니다. 1. input : Period(20),dv(2); var : BBmd(0),BBdn(0),bbup(0),BandB(0),HH(0),LL(0); BBmd = ma(C,Period); BBdn = BollBandDown(Period,Dv); BBUp = BollBandUp(Period,Dv); BandB = ((C-BBDn)/(BBUp-BBdn))*100; if crossup(BandB,90) Then HH = BandB; if BandB > 90 and BandB > HH Then HH = BandB; if CrossDown(BandB,10) Then LL = BandB; if BandB < 10 and BandB < LL Then LL = BandB; if HH > 100 and CrossDown(BandB,90) Then sell("s4"); if LL < 0 and crossup(BandB,10) Then buy("b4"); - 상기 수식에서 data 2를 추가해서 진행합니다. data 2 의 볼린져 상단밴드가 data 1 의 볼린져 상단밴드 밖에 있으면, s4 매도 금지, data 2 의 볼린져 상단이 data 1 의 볼린져 밴드 안쪽으로 들어온 다음에 진입하는 조건 부탁드립니다. data 2의 볼린져 하단밴드가 data 1 의 볼린져 하단밴드 밖에 있으면, b4 매수 금지, data 2의 볼린져 하단이 data 1의 볼린져 밴드 안쪽으로 들어온 다음에 진입하는 조건으로 부탁드립니다. 2. data 2 의 볼린져 중앙이평이 data 1의 볼린져 밴드 중앙이평을 상향 돌파하면 매수 하향 돌파하면 매도 수식 부탁드립니다. 조건은 매수의 경우 전봉대비 중앙이평값이 상승해야 합니다. 매도의 경우 전봉대비 중앙이평값이 하향해야 합니다. 3. input : short(12),long(26),sig(9); value1 = MACD(short, long); value2 = ema(value1, Period); # 매수/매도청산 If CrossUP(value1, value2) and C <= bbmd-PriceScale*10 Then { buy("b2"); } # 매도/매수청산 If CrossDown(value1, value2) and C >= bbmd+PriceScale*10 Then { sell("s2"); } 상기 수식에서 한가지 별도의 수식을 추가하고 싶습니다. 예를 들어, 현재 신규봉이 생성되고 시간이 흘러 봉 완성이 되었을 때 , 오실레이터가 음에서 양으로 바뀌는 첫번재 봉이 볼린져 밴드 하단을 터치하면 매도 진입 오실에이터가 양에서 음오로 바뀌는 첫번째 봉이 볼린져 밴드 상단을 터치하면 매수 진입. 상기 수식 구현이 가능한지 확인 부탁드립니다. 감사합니다.
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2018-02-19 10:30:32

안녕하세요 예스스탁입니다. 1. input : Period(20),dv(2); var : BBmd1(0,data1),BBdn1(0,data1),bbup1(0,data1),BandB1(0,data1),HH(0,data1),LL(0,data1); var : BBmd2(0,data2),BBdn2(0,data2),bbup2(0,data2),BandB2(0,data2); BBmd1 = data1(ma(C,Period)); BBdn1 = data1(BollBandDown(Period,Dv)); BBUp1 = data1(BollBandUp(Period,Dv)); BandB1 = data1(((C-BBDn1)/(BBUp1-BBdn1))*100); BBmd2 = data2(ma(C,Period)); BBdn2 = data2(BollBandDown(Period,Dv)); BBUp2 = data2(BollBandUp(Period,Dv)); BandB2 = data2(((C-BBDn2)/(BBUp2-BBdn2))*100); if crossup(BandB1,90) Then HH = BandB1; if BandB1 > 90 and BandB1 > HH Then HH = BandB1; if CrossDown(BandB1,10) Then LL = BandB1; if BandB1 < 10 and BandB1 < LL Then LL = BandB1; if HH > 100 and CrossDown(BandB1,90) and BBup1 > BBup2 Then sell("s4"); if LL < 0 and crossup(BandB1,10) and BBup1 < BBdn2 Then buy("b4"); 2 input : Period(20),dv(2); var : BBmd1(0,data1),BBdn1(0,data1),bbup1(0,data1); var : BBmd2(0,data2),BBdn2(0,data2),bbup2(0,data2); BBmd1 = data1(ma(C,Period)); BBdn1 = data1(BollBandDown(Period,Dv)); BBUp1 = data1(BollBandUp(Period,Dv)); BBmd2 = data2(ma(C,Period)); BBdn2 = data2(BollBandDown(Period,Dv)); BBUp2 = data2(BollBandUp(Period,Dv)); if crossup(BBmd1,BBmd2) and bbmd1 > bbmd1[1] Then buy(); if CrossDown(BBmd1,BBmd2) and bbmd1 < bbmd1[1] Then sell(); 3 input : short(12),long(26),sig(9),Period(20),dv(2); var : BBmd(0),BBdn(0),bbup(0); BBmd = ma(C,Period); BBdn = BollBandDown(Period,Dv); BBUp = BollBandUp(Period,Dv); value1 = MACD(short, long); value2 = ema(value1, Period); If CrossUP(value1, value2) and C <= bbmd-PriceScale*10 and L <= BBdn Then { buy("b2"); } If CrossDown(value1, value2) and C >= bbmd+PriceScale*10 and H >= BBup Then { sell("s2"); } 즐거운 하루되세요 > softtoug 님이 쓴 글입니다. > 제목 : 수식문의 > 안녕하세요 하기 수식에서 보안 부탁드립니다. 1. input : Period(20),dv(2); var : BBmd(0),BBdn(0),bbup(0),BandB(0),HH(0),LL(0); BBmd = ma(C,Period); BBdn = BollBandDown(Period,Dv); BBUp = BollBandUp(Period,Dv); BandB = ((C-BBDn)/(BBUp-BBdn))*100; if crossup(BandB,90) Then HH = BandB; if BandB > 90 and BandB > HH Then HH = BandB; if CrossDown(BandB,10) Then LL = BandB; if BandB < 10 and BandB < LL Then LL = BandB; if HH > 100 and CrossDown(BandB,90) Then sell("s4"); if LL < 0 and crossup(BandB,10) Then buy("b4"); - 상기 수식에서 data 2를 추가해서 진행합니다. data 2 의 볼린져 상단밴드가 data 1 의 볼린져 상단밴드 밖에 있으면, s4 매도 금지, data 2 의 볼린져 상단이 data 1 의 볼린져 밴드 안쪽으로 들어온 다음에 진입하는 조건 부탁드립니다. data 2의 볼린져 하단밴드가 data 1 의 볼린져 하단밴드 밖에 있으면, b4 매수 금지, data 2의 볼린져 하단이 data 1의 볼린져 밴드 안쪽으로 들어온 다음에 진입하는 조건으로 부탁드립니다. 2. data 2 의 볼린져 중앙이평이 data 1의 볼린져 밴드 중앙이평을 상향 돌파하면 매수 하향 돌파하면 매도 수식 부탁드립니다. 조건은 매수의 경우 전봉대비 중앙이평값이 상승해야 합니다. 매도의 경우 전봉대비 중앙이평값이 하향해야 합니다. 3. input : short(12),long(26),sig(9); value1 = MACD(short, long); value2 = ema(value1, Period); # 매수/매도청산 If CrossUP(value1, value2) and C <= bbmd-PriceScale*10 Then { buy("b2"); } # 매도/매수청산 If CrossDown(value1, value2) and C >= bbmd+PriceScale*10 Then { sell("s2"); } 상기 수식에서 한가지 별도의 수식을 추가하고 싶습니다. 예를 들어, 현재 신규봉이 생성되고 시간이 흘러 봉 완성이 되었을 때 , 오실레이터가 음에서 양으로 바뀌는 첫번재 봉이 볼린져 밴드 하단을 터치하면 매도 진입 오실에이터가 양에서 음오로 바뀌는 첫번째 봉이 볼린져 밴드 상단을 터치하면 매수 진입. 상기 수식 구현이 가능한지 확인 부탁드립니다. 감사합니다.